# 私有数据集和受限数据集的身份验证

要访问私有或受控数据集，您需要在 DuckDB Secrets Manager 中配置您的 Hugging Face Token。

访问 [Hugging Face Settings - Tokens](https://huggingface.co/settings/tokens) 以获取您的访问令牌。

> [!TIP]
> 如果您通过 [`hf datasets sql`](/docs/huggingface_hub/package_reference/cli#hf-datasets-sql) 进行查询，令牌密钥会自动从您已登录的会话（或 `--token`）中配置——无需手动设置密钥。

DuckDB 支持两种用于管理密钥的提供商：

- `CONFIG`：要求用户将所有配置信息传入 CREATE SECRET 语句。
- `CREDENTIAL_CHAIN`：自动尝试获取凭证。对于 Hugging Face 令牌，它会尝试从 `~/.cache/huggingface/token` 中获取。

有关 DuckDB Secrets 的更多信息，请访问 [Secrets Manager](https://duckdb.org/docs/configuration/secrets_manager.html) 指南。

## 使用 `CONFIG` 提供商创建密钥

要使用 CONFIG 提供商创建密钥，请使用以下命令：

```bash
CREATE SECRET hf_token (TYPE HUGGINGFACE, TOKEN 'your_hf_token');
```

将 `your_hf_token` 替换为您的实际 Hugging Face 令牌。

## 使用 `CREDENTIAL_CHAIN` 提供商创建密钥

要使用 CREDENTIAL_CHAIN 提供者创建密钥，请使用以下命令：

```bash
CREATE SECRET hf_token (TYPE HUGGINGFACE, PROVIDER credential_chain);
```

此命令会自动从 `~/.cache/huggingface/token` 中获取已存储的令牌。

首先，您需要使用 Hugging Face 账户[登录](/docs/huggingface_hub/quick-start#login)，例如使用以下命令：

```bash
hf auth login
```

或者，您可以将 Hugging Face token 设置为环境变量：

```bash
export HF_TOKEN="hf_xxxxxxxxxxxxx"
```

有关身份验证的更多信息，请参阅 [Hugging Face 身份验证](/docs/huggingface_hub/main/en/quick-start#authentication) 文档。

