

# 使用 Amazon S3 控制台添加存储桶策略
<a name="add-bucket-policy"></a>

您可以使用 [AWS 策略生成器](https://aws.amazon.com/blogs/aws/aws-policy-generator/)和 Amazon S3 控制台添加新的存储桶策略或编辑现有存储桶策略。存储桶策略是基于资源的 AWS Identity and Access Management（IAM）策略。将存储桶策略添加到一个存储桶可向其他 AWS 账户 或 IAM 用户授予对该存储桶以及其中对象的访问权限。对象权限仅应用于存储桶拥有者创建的对象。有关存储桶策略的更多信息，请参阅 [Amazon S3 的身份和访问管理](security-iam.md)。

确保保存策略之前解决来自 AWS Identity and Access Management Access Analyzer 的安全警告、错误、一般警告和建议。IAM Access Analyzer 将根据 IAM [策略语法](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html)和[最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)运行策略检查，以验证您的策略。这些检查项生成结果并提供可操作的建议，可帮助您编写可操作且符合安全最佳实践的策略。要了解有关使用 IAM Access Analyzer 验证策略的更多信息，请参阅《IAM 用户指南》**中的 [IAM Access Analyzer 策略验证](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)。要查看 IAM Access Analyzer 返回的警告、错误和建议的列表，请参阅 [IAM Access Analyzer 策略检查引用](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html)。

有关对策略错误进行故障排查的指南，请参阅[排查 Amazon S3 中的拒绝访问（403 Forbidden）错误](troubleshoot-403-errors.md)。

**创建或编辑存储桶策略**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择**通用存储桶**或**目录存储桶**。

1. 在存储桶列表中，选择要为其创建或编辑存储桶策略的存储桶的名称。

1. 选择 **Permissions（权限）**选项卡。

1. 在 **Bucket policy（存储桶策略）**下，请选择 **Edit（编辑）**。将出现 **Edit bucket policy**（编辑存储桶策略）页面。

1. 在 **Edit bucket policy**（编辑存储桶策略）页面上，执行以下操作之一：
   + 要查看存储桶策略的示例，请选择**策略示例**。或请参阅《Amazon S3 用户指南》**中的 [Amazon S3 存储桶策略的示例](example-bucket-policies.md)。
   + 要自动生成策略或编辑**策略**部分中的 JSON，请选择**策略生成器**。

   如果选择 **Policy generator**（策略生成器），AWS 策略生成器将在新窗口中打开。

   1. 在 **AWS 策略生成器**页面上，对于**选择策略类型**，选择 **S3 存储桶策略**。

   1. 通过在提供的字段中输入信息来添加语句，然后选择**添加语句**。对所有您想添加的语句重复执行此步骤。有关这些字段的更多信息，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素参考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。
**注意**  
为方便起见，**编辑桶策略**页面会在**策略**文本字段上方显示当前桶的**桶 ARN**（Amazon 资源名称）。您可以复制此 ARN，以便在 **AWS 策略生成器**页面上的语句中使用。

   1. 添加完语句后，请选择**生成策略**。

   1. 复制生成的策略文本，请选择 **Close**（关闭），然后返回到 Amazon S3 控制台中的 **Edit bucket policy**（编辑存储桶策略）页面。

1. 在 **Policy**（策略）框中，编辑现有策略或从 AWS 策略生成器粘贴存储桶策略。确保在保存策略之前解决安全警告、错误、一般警告和建议。
**注意**  
存储桶策略的大小限制为 20 KB。

1. （可选）选择右下角的 **Preview external access**（预览外部访问），以预览新策略如何影响对资源的公有和跨账户访问。在保存策略之前，您可以检查策略是引入了新的 IAM Access Analyzer 发现结果还是解析了现有的发现结果。如果您没有看到活动的分析器，请在 IAM Access Analyzer 中选择 **Go to Access Analyzer**（转至 Access Analyzer）以[创建账户分析器](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#access-analyzer-enabling)。有关更多信息，请参阅 *IAM 用户指南*中的[预览访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-access-preview.html)。

1. 请选择 **Save changes**（保存更改），此操作将让您返回到 **Permissions**（权限）选项卡。