

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

# Connect OneDrive 数据源
<a name="kb-managed-ds-onedrive-connect"></a>

设置身份验证并将凭据存储在 AWS Secrets Manager 密钥中后，请在知识库中创建 OneDrive 数据源。本页介绍如何使用 AWS 管理控制台 或 API 创建数据源，然后是您可以配置的连接器参数的参考。

**注意**  
首先完成身份验证设置。请参阅[设置 Microsoft Entra 应用程序 ID 身份验证 OneDrive](kb-managed-onedrive-entra-setup.md)（推荐）或[为 OAuth 2.0 身份验证设置 OneDrive](kb-managed-onedrive-oauth2-setup.md)。您需要密钥 ARN、您的租户 ID 以及（用于文档级访问控制）证书的 Amazon S3 位置。

## 创建数据源
<a name="kb-managed-ds-onedrive-create"></a>

------
#### [ Console ]

**OneDrive 连接到您的托管知识库**

1. 在 “**数据源**” 下，为您的数据源提供一个名称。

1. **OneDrive**从数据源下拉列表中选择。

1. 在**来源**下，输入您的**OneDrive 租户 ID**。

1. 在 “**身份验证**” 下，选择 **Microsoft Entra ID 应用程序**或 **OAuth** 2.0 身份验证。

1. 选择或创建用于存储您的凭据的 AWS Secrets Manager 密钥。

1. （可选）要启用文档级访问控制，请选择**使用 ACL 控制文档访问**并提供**证书路径，即证书**文件的 Amazon S3 路径。`.p12`此选项仅适用于 Microsoft Entra ID 应用程序身份验证，并且在创建后无法更改。有关更多信息，请参阅 [Document-level 访问控制](kb-managed-ds-onedrive-acl.md)。

1. （可选）展开 “**同步” 范围**以选择要抓取的内容。使用 Microsoft Entra ID 应用程序身份验证，只能抓取个人硬盘。

1. （可选）展开**用户电子邮件**以添加您想要包含或排除其数据的用户的特定电子邮件。

1. （可选）展开**文件路径筛选器**以包含或排除特定的文件和文件夹。

1. （可选）展开 **Mime 类型正则表达式模式**以添加正则表达式模式以包含或排除特定的 MIME 类型。

1. （可选）展开**基于日期的实体同步**以指定日期过滤器。

------
#### [ API ]

要创建 OneDrive 数据源，请使用适用于 Amazon Bedrock 的代理构建时终端节点发送[CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)请求。以下 AWS Command Line Interface 示例创建了一个使用 Microsoft Entra 应用程序 ID 身份验证的数据源。要启用文档级访问控制，请将设置为`true`并添加`aclEnabled`到。`certificateS3Path` `connectionConfiguration`有关每个字段的描述，请参阅下面的连接器参数参考。

```
aws bedrock-agent create-data-source \
 --name "{{OneDrive-connector}}" \
 --knowledge-base-id "{{your-knowledge-base-id}}" \
 --data-source-configuration file://onedrive-managed-connector.json
```

该`onedrive-managed-connector.json`文件包含以下内容：

```
{
    "type": "MANAGED_KNOWLEDGE_BASE_CONNECTOR",
    "managedKnowledgeBaseConnectorConfiguration": {
        "connectorParameters": {
            "type": "ONEDRIVE",
            "version": "1",
            "aclEnabled": false,
            "connectionConfiguration": {
                "secretArn": "{{arn:aws:secretsmanager:us-west-2:123456789012:secret:bedrock-onedrive-creds}}",
                "tenantId": "{{12345678-1234-1234-1234-123456789012}}",
                "authType": "ENTRA_APP_ID"
            },
            "dataEntityConfiguration": {
                "crawlPersonalDrives": true
            }
        }
    }
}
```

要启用文档级访问控制，`aclEnabled`请设置为`true`并添加`certificateS3Path`到：`connectionConfiguration`

```
{
    "type": "ONEDRIVE",
    "version": "1",
    "aclEnabled": true,
    "connectionConfiguration": {
        "secretArn": "{{arn:aws:secretsmanager:us-west-2:123456789012:secret:bedrock-onedrive-creds}}",
        "tenantId": "{{12345678-1234-1234-1234-123456789012}}",
        "authType": "ENTRA_APP_ID",
        "certificateS3Path": {
            "s3BucketName": "{{your-certificate-bucket}}",
            "s3KeyName": "{{certs/certificate.p12}}"
        }
    },
    "dataEntityConfiguration": {
        "crawlPersonalDrives": true
    }
}
```

对于`OAUTH2`数据源，设置`authType`为`OAUTH2`和省略`certificateS3Path`。

对于托管知识库，`CreateDataSource`这是异步的：操作完成后，数据源状态`AVAILABLE`会从`CREATING`变为。

------

## 连接器参数
<a name="kb-managed-config-onedrive"></a>

数据源配置使用以下连接器参数。要连接 OneDrive，请在中指定`ONEDRIVE`为连接器类型`connectorParameters`。有关换行字段`connectorParameters`（例如`deletionProtectionConfiguration`和`mediaExtractionConfiguration`），请参阅[连接数据来源](kb-managed-connect-ds.md)。


**connectionConfiguration**  

| 字段 | 必填 | 描述 | 
| --- | --- | --- | 
| secretArn | 是 | 包含您的 OneDrive 凭据的 AWS Secrets Manager 密钥的 ARN。 | 
| tenantId | 是 | 微软 Entra (Azure AD) 租户 ID。 | 
| authType | 是 | 身份验证类型：ENTRA\_APP\_ID（推荐）或OAUTH2。请参阅[身份验证方法](kb-managed-ds-onedrive.md#kb-managed-onedrive-auth-methods)。 | 
| certificateS3Path | 有条件 | 何时aclEnabled为必填项true（Microsoft Entra 应用程序 ID 身份验证）。包含s3BucketName和，s3KeyName用于 Amazon S3 中的.p12证书文件。不用于仅限内容的抓取或与。OAUTH2 | 


**数据 EntityConfiguration**  

| 字段 | 必填 | 说明 | 
| --- | --- | --- | 
| crawlPersonalDrives | 否 | 是否抓取用户的个人云端硬盘。 | 
| crawlSharedWithMe | 否 | 是否抓取与登录用户共享的文件。仅支持OAUTH2身份验证。Microsoft Entra 应用程序 ID（仅限应用程序）身份验证无法抓取共享文件。 | 

**注意**  
OneNote 目前不支持笔记本电脑。


**过滤器配置（可选）**  

| 字段 | 必填 | 说明 | 
| --- | --- | --- | 
| inclusionUserEmailAddresses | 否 | 要包含其驱动器的用户电子邮件地址。 | 
| exclusionUserEmailAddresses | 否 | 要排除其驱动器的用户电子邮件地址。 | 
| userFilterPath | 否 | 指向文件的 Amazon S3 网址，该文件列出了要包含或排除的用户。 | 
| inclusionDriveItems | 否 | 要包含的驱动器项目路径。 | 
| exclusionDriveItems | 否 | 驱动要排除的物品路径。 | 
| includeMimeTypes | 否 | 要包括的 MIME 类型。 | 
| excludeMimeTypes | 否 | 要排除的 MIME 类型。 | 
| absoluteDateBefore | 否 | 仅包括在此日期之前修改的内容 (ISO 8601)。 | 
| absoluteDateAfter | 否 | 仅包括在此日期之后修改的内容 (ISO 8601)。 | 

**注意**  
通过`OAUTH2`身份验证，连接器将在登录用户的委托上下文中爬行。基于用户的筛选器（`inclusionUserEmailAddresses`、`exclusionUserEmailAddresses`、`userFilterPath`）决定连接器尝试使用哪些用户的驱动器；登录用户无法访问的驱动器会被静默跳过。要抓取租户 OneDrive 中的每个用户（无论其权限如何），请使用`ENTRA_APP_ID`身份验证。


**已启用 ACL（可选）**  

| 字段 | 必填 | 说明 | 
| --- | --- | --- | 
| aclEnabled | 否 | 设置true为可启用文档级访问控制。需要ENTRA\_APP\_ID身份验证和输certificateS3Path入connectionConfiguration。创建数据源后，您无法更改此设置。有关更多信息，请参阅 [Document-level 访问控制](kb-managed-ds-onedrive-acl.md)。 | 

## 更改身份验证方法
<a name="kb-managed-ds-onedrive-change-auth"></a>

您可以使用[UpdateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateDataSource.html)操作或，使用新的`authType`和凭据更新数据源，从而更改数据源的身份验证方法（例如，从 OAuth 2.0 更改为 Microsoft Entra 应用程序 ID）。 AWS 管理控制台创建数据源时，文档级访问控制设置是固定的，因此要添加或删除 ACL，必须创建一个新的数据源。

## 后续步骤
<a name="kb-managed-ds-onedrive-connect-next"></a>

创建数据源后，将其同步，将内容摄取到知识库中。有关更多信息，请参阅 [同步数据来源](kb-managed-sync.md)。要按用户权限筛选查询结果，请参阅[Document-level 访问控制](kb-managed-ds-onedrive-acl.md)。