

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

# 对 OneDrive 数据源进行故障排除
<a name="kb-managed-ds-onedrive-troubleshooting"></a>

使用此页可以诊断 OneDrive 身份验证、数据源创建和同步方面的常见问题。有关文档级访问控制的特定问题，请参阅中的疑难解答表。[Document-level 访问控制](kb-managed-ds-onedrive-acl.md)

## 数据源创建和连接错误
<a name="kb-managed-ds-onedrive-troubleshooting-create"></a>


**创建和连接错误**  

| 症状 | 可能的原因 | Fix | 
| --- | --- | --- | 
| 数据源创建失败，错误certificateS3Path不能为空。 | aclEnabled是true，但未提供证书路径。 Document-level 访问控制需要证书。 | 添加certificateS3Path到connectionConfiguration，指向 Amazon S3 中的.p12证书。请参阅[设置 Microsoft Entra 应用程序 ID 身份验证 OneDrive](kb-managed-onedrive-entra-setup.md)。 | 
| 租户 ID 无效。 | 租户 ID 格式错误或与你的 Microsoft Entra 租户不匹配。 | 从 Microsoft Entra 管理中心的应用程序概述页面复制目录（租户）ID。 | 
| 客户端 ID 无效或找不到应用程序。 | 秘密clientId中的不正确，或者应用程序注册不存在。 | 从应用程序概述页面复制应用程序（客户端）ID 并更新密钥。 | 
| 无法连接到 OneDrive。 | 一个或多个凭证不正确，或者应用程序缺少所需的权限或管理员同意。 | 验证密钥值，确认应用程序权限，并授予管理员同意。请参阅[设置 Microsoft Entra 应用程序 ID 身份验证 OneDrive](kb-managed-onedrive-entra-setup.md)。 | 
| 知识库服务角色无法读取证书。 | 证书对象s3:GetObject上缺少服务角色，或者该对象使用角色无法使用的客户托管密钥进行加密。 | 授予s3:GetObject证书，如果对象使用客户托管的 KMS 密钥，则对该密钥kms:Decrypt进行授权。请参阅[步骤 8（仅限 ACL）：授予服务角色对证书的访问权限](kb-managed-onedrive-entra-setup.md#kb-managed-onedrive-entra-step8)。 | 

## 证书错误（文档级访问控制）
<a name="kb-managed-ds-onedrive-troubleshooting-cert"></a>


**证书错误**  

| 症状 | 可能的原因 | Fix | 
| --- | --- | --- | 
| 实时访问验证期间出现证书密码或令牌铸造错误。 | .p12密码与秘密certificatePassword中的不匹配。 | 设置certificatePassword为用于创建.p12文件的密码，或者使用已知密码重新创建分发包。 | 
| 访问验证以前有效，现在所有查询都返回零结果。 | 证书已过期，或者管理员的同意已被撤销。 | 生成新证书，将公共证书上传到 Entra 应用程序注册处，替换 Amazon S3 .p12 中的证书，然后重新授予管理员同意。请参阅[轮换证书](#kb-managed-ds-onedrive-rotate-cert)。 | 
| 无法将证书作为 PKCS \#12 加载的错误（例如，“证书格式无效”）。 | certificateS3Path指向错误对象（例如 .cer /PEM 文件）或密钥certificatePassword中的指向与捆绑包不匹配。 Document-level 访问控制需要.p12格式。 | 确认您的.p12捆绑包中的certificateS3Path积分并与之certificatePassword匹配。 | 

## 轮换证书
<a name="kb-managed-ds-onedrive-rotate-cert"></a>

如果您使用文档级访问控制，请在证书到期之前对其进行轮换。证书过期会导致实时访问验证失败关闭，因此查询返回的结果为零。要在不中断访问的情况下进行轮换，请将新证书作为单独的对象上传，然后将数据源切换到该证书，这样现有证书就会一直有效，直到您切换。

1. 生成新证书和 PKCS \#12 (`.p12`) 捆绑包，如中所述。[设置 Microsoft Entra 应用程序 ID 身份验证 OneDrive](kb-managed-onedrive-entra-setup.md)

1. 在您的 Entra 应用程序注册中，在 “**证书和机密**” 下，上传新的公共证书。保留现有证书 — 一个应用程序注册可以保存多个证书。

1. 使用新的**对象密钥**将新`.p12`捆绑包上传到 Amazon S3（不要覆盖现有证书对象）。确认您的知识库服务角色可以读取新对象。

1. 更新数据源，使其`certificateS3Path`指向新对象，然后更新 AWS Secrets Manager 密钥`certificatePassword`中的数据源以匹配新包。使用[UpdateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateDataSource.html)操作或 AWS 管理控制台。

1. 确认通过授权用户进行检索会返回结果，这表明新证书适用于实时验证。

1. 确认新证书有效后，从 Entra 应用程序注册中删除旧证书，并从 Amazon S3 中删除旧`.p12`对象。

## OAuth 2.0 身份验证错误
<a name="kb-managed-ds-onedrive-troubleshooting-oauth2"></a>


**OAuth 2.0 错误**  

| 症状 | 可能的原因 | Fix | 
| --- | --- | --- | 
| 同步失败，并显示无法刷新 OAuth 2.0 访问令牌的消息。 | 密码缺少refreshToken字段，或者刷新令牌已过期或已被撤销。 | 确认密钥包括clientIdclientSecret、和refreshToken。如果令牌过期或被撤销，请获取新令牌并更新密钥。请参阅[步骤 4：获取刷新令牌](kb-managed-onedrive-oauth2-setup.md#kb-managed-onedrive-oauth2-step4)。 | 
| 您想抓取与用户或 OneNote 笔记本共享的文件，但这些文件未被编入索引。 | 数据源使用 Microsoft Entra 应用程序 ID（仅限应用程序）身份验证，该身份验证无法访问共享文件或笔记本。 OneNote  | 使用OAUTH2身份验证并启用相应的同步范围。请参阅[为 OAuth 2.0 身份验证设置 OneDrive](kb-managed-onedrive-oauth2-setup.md)。 | 

## 同步错误
<a name="kb-managed-ds-onedrive-troubleshooting-sync"></a>


**同步错误**  

| 症状 | 可能的原因 | Fix | 
| --- | --- | --- | 
| 同步已完成，但没有为任何文档编制索引。 | 应用程序无法访问已配置用户的驱动器，或者 “包含” 或 “排除” 过滤器会排除所有内容。 | 验证应用程序权限和管理员同意，并查看您的用户电子邮件和云端硬盘内容过滤器。 | 
| 特定用户的内容不会被抓取。 | 筛选器将用户排除在外，或者该用户没有可访问的内容。 | 检查inclusionUserEmailAddresses和exclusionUserEmailAddresses过滤器并确认用户的云端硬盘中有内容。 | 

## Document-level 访问控制问题
<a name="kb-managed-ds-onedrive-troubleshooting-acl"></a>

ACL 配置错误不会在检索过程中产生明显的错误。相反，查询返回的结果较少或为零。有关 ACL-specific 症状、验证步骤和修复方法，请参阅[Document-level 访问控制](kb-managed-ds-onedrive-acl.md)。