

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

# 对 Amazon S3 集成问题进行故障排除
<a name="s3-integration-troubleshooting"></a>

如果您在连接 Amazon S3 存储桶时遇到问题，请查看以下常见原因和解决方案。

## 文档未出现在启用 ACL 的知识库中
<a name="s3-troubleshooting-acl-documents-missing"></a>

**问题：**文档未导入支持 ACL 的知识库。

**解决方案：**对于启用 ACL 的知识库，不采集没有关联 ACL 条目的文档。确认每个文档都有通过全局 ACL 文件或其元数据文件定义的 ACL。有关更多信息，请参阅 [文档级 ACLs](s3-acl.md)。

## 未配置跨账户访问权限
<a name="s3-troubleshooting-cross-account"></a>

**问题：**您的管理员未授予使用 Amazon Quick 中其他 AWS 账户的 Amazon S3 存储桶的权限。

**解决方案：**请您的管理员授予跨账户 Amazon S3 访问权限。有关更多信息，请参阅 [授予亚马逊快速访问亚马逊 S3 存储桶的权限](s3-admin-setup.md#s3-grant-bucket-access)。

## 存储桶不在允许列表中
<a name="s3-troubleshooting-bucket-not-approved"></a>

**问题：**您尝试访问的存储桶未获得管理员的授权。

**解决方案：**
+ 确认存储桶名称拼写正确。
+ 向管理员确认该存储桶是否包含在允许列表中。
+ 如有必要，请您的管理员将该存储桶添加到已授权存储桶列表中。

## IAM 权限不足
<a name="s3-troubleshooting-iam-permissions"></a>

**问题：**您的 IAM 角色或用户缺乏访问 Amazon S3 存储桶所需的权限。

**解决方案：**
+ 验证您的 IAM 策略是否包含所需的 Amazon S3 权限：
  + `s3:GetObject`
  + `s3:ListBucket`
  + `s3:GetBucketLocation`
  + `s3:GetObjectVersion`
  + `s3:ListBucketVersions`
+ 检查您自己的存储桶中是否存在任何可能阻止访问的明确拒绝语句。

**注意**  
ARN `arn:aws:iam::account-id:role/service-role/aws-quicksight-service-role-v0` 是未创建自定义角色时使用的默认服务角色。如果存在自定义服务角色，请联系您的管理员获取自定义服务角色 ARN 并使用它来代替默认服务角色。

## 跨区域限制
<a name="s3-troubleshooting-cross-region"></a>

**问题：**Amazon S3 存储桶与您的 Amazon Quick 账户或服务位于不同的 AWS 区域。

**解决方案：**
+ 验证存储桶区域是否与您的 Amazon Quick 服务区域相匹配。
+ 使用 AWS CLI 检查存储桶区域：`aws s3api get-bucket-location --bucket bucket-name`
+ 使用与您的服务位于同一区域的存储桶。

## 其他故障排除步骤
<a name="s3-troubleshooting-additional-steps"></a>
+ 使用 AWS CLI **测试存储桶的可访问性**：

  ```
  aws s3 ls s3://bucket-name --profile your-profile
  ```
+ **查看 CloudTrail 日志**中 AccessDenied 是否存在错误，以确定具体的权限问题。
+ **检查 Amazon S3 阻止公共访问设置**-虽然这些设置通常不会影响经过身份验证的访问，但请确认它们不会干扰您的特定用例。
+ **验证存储桶所有权**-确保存储桶存在且您的存储桶名称正确。