

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为 Box 设置客户端凭据授予身份验证
<a name="kb-managed-box-ccg-setup"></a>

客户机凭证授予 (`CCG`) 身份验证是 Box 数据源的推荐身份验证方法。连接器使用客户凭证授权 (2LO) 流程作为 Box 应用程序进行身份验证，其服务帐号（非用户）可抓取所有企业内容，不进行交互式登录。它是唯一支持文档级访问控制 (ACL) 的身份验证方法。将其用于大多数部署。

## 第 1 步：创建 Box 应用程序
<a name="kb-managed-box-ccg-step1"></a>

1. 导航到 [ Box 开发者控制台](https://app.box.com/developers/console)。

1. 选择 “**创建新应用程序” **。

1. 在 “**身份验证方法” 下**，选择 “**服务器身份验证” **。

1. 选择 “**客户凭证授予”**（方框标记为 “**推荐**”）。

1. 命名应用程序，然后选择**创建**。您将被带到配置页面。

## 第 2 步：配置应用程序权限
<a name="kb-managed-box-ccg-step2"></a>

**访问级别 ** — 在 “**应用程序访问权限级别” 下**，选择 “**应用程序 \+ 企业访问权限” **。

**重要**  
如果没有 App \+ Enterprise 访问权限，服务帐号无法查看所有企业数据，连接器也无法抓取。

**内容操作（必填）**-启用以下两项操作：
+ 读取所有文件和文件夹
+ 写入所有文件和文件夹

**重要**  
Box 将下载视为写入交互，因此即使**是只读爬网也需要**写入。

**管理操作 **-启用以下两项功能：
+ 管理 用户
+ 管理群组

**注意**  
要支持文档级访问控制 (ACL)，需要执行管理操作。如果您不需要 ACL，则可以省略它们。Box 仅提供完整的管理权限集，没有只读选项。

**其他配置 **-启用**使用 as-user 标头**进行 API 调用。这允许连接器将用户委派为个人用户并抓取每个用户的内容。**关闭 ** “生成用户访问令牌”。

## 第 3 步：保存和收集凭证
<a name="kb-managed-box-ccg-step3"></a>

1. 选择**保存**。您会看到**应用程序设置已成功保存，**确认无误。

1. 在右侧面板（“**应用程序详细信息” ** > “**访问权限”**）中，复制**客户端 ID **。

1. 选择 “**提取密钥” ** 以显示**客户端密钥**，然后将其复制。
**注意**  
创建后不会自动显示客户端密钥。你必须选择 “**获取密钥” ** 才能将其公开。保存后立即执行此操作，然后再导航。

1. 向下滚动到右侧面板中的 “**属性**”，然后收集**用户 ID ** (`ccgUserId`) 和**企业 ID ** (`enterpriseId`)。

## 第 4 步：授权应用程序
<a name="kb-managed-box-ccg-step4"></a>

保存后，右侧的 ** “**状态” 面板显示 “**授权：未提交 ****” 按钮。**

1. 选择 “**授权” 提交**以供管理员审核。

1. 企业管理员必须批准该应用程序才能使用。

**重要**  
在授予管理员授权之前，该应用程序无法运行。**未提交**表示应用程序在运行时失败。

## 第 5 步：创建密钥管理器密钥
<a name="kb-managed-box-ccg-step5"></a>

使用以下键值对将凭证存储在 AWS Secrets Manager 机密中：

```
{
    "clientId": "{{your-client-id}}",
    "clientSecret": "{{your-client-secret}}",
    "enterpriseId": "{{your-enterprise-id}}",
    "ccgUserId": "{{your-user-id}}"
}
```


**CCG 秘密领域**  

| 字段 | 说明 | 
| --- | --- | 
| clientId | “访问权限” 部分（右侧面板）中的应用程序客户端 ID。 | 
| clientSecret | 保存应用程序后选择 “获取密钥” 即可显示。 | 
| enterpriseId | 从 “属性” 面板中。标识要抓取的 Box 企业实例。 | 
| ccgUserId | 从 “属性” 面板中。验证凭证是否可以委派为用户。 | 

使用以下命令创建密钥 AWS Command Line Interface：

```
aws secretsmanager create-secret \
  --name {{bedrock-box-ccg-creds}} \
  --secret-string file://secret.json
```

记录响应中的秘密 ARN。您可以将其用作数据源`secretArn`。

## 后续步骤
<a name="kb-managed-box-ccg-next"></a>

存储密钥后，创建`authType`设置为的数据源`CCG`。请参阅[连接 Box 数据源](kb-managed-ds-box-connect.md)。要按用户权限筛选查询结果，请参阅[Document-level 访问控制](kb-managed-ds-box-acl.md)。