使用 Amazon S3 控制台添加存储桶策略
您可以使用 Amazon S3 控制台添加新存储桶策略或编辑现有存储桶策略。存储桶策略是基于资源的 Amazon Identity and Access Management(IAM)策略。将存储桶策略添加到一个存储桶可向其他 Amazon Web Services 账户 或 IAM 用户授予对该存储桶以及其中对象的访问权限。对象权限仅应用于存储桶拥有者创建的对象。有关存储桶策略的更多信息,请参阅 有关管理访问的概述。
原定设置情况下,当另一个 Amazon Web Services 账户将对象上载到您的 S3 桶时,该账户(对象编写者)拥有该对象,拥有此对象的访问权限,并可以通过访问控制列表(ACL)授予其他用户访问该对象的权限。您可以使用对象所有权来更改此原定设置行为,以便禁用 ACL,并且作为存储桶拥有者,您可以自动拥有存储桶中的每个对象。因此,数据的访问控制基于策略,例如 IAM policy、S3 存储桶策略、虚拟私有云(VPC)端点策略和 Amazon Organizations 服务控制策略(SCP)。有关更多信息,请参阅为您的存储桶控制对象所有权和禁用 ACL。。
确保保存策略之前解决来自 Amazon Identity and Access Management Access Analyzer 的安全警告、错误、一般警告和建议。IAM Access Analyzer 将根据 IAM policy grammar(策略语法)和 best practices(最佳实践)运行策略检查,以验证您的策略。这些检查项生成结果并提供可操作的建议,可帮助您编写可操作且符合安全最佳实践的策略。要了解有关使用 IAM Access Analyzer 验证策略的更多信息,请参阅 IAM 用户指南中的 IAM Access Analyzer 策略验证。要查看 IAM Access Analyzer 返回的警告、错误和建议的列表,请参阅 IAM Access Analyzer 策略检查引用。
创建或编辑存储桶策略
登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在 Buckets (存储桶) 列表中,请选择要为其创建或编辑存储桶策略的存储桶的名称。
-
选择权限。
-
在 Bucket policy (存储桶策略) 下,请选择 Edit (编辑)。这将打开编辑存储桶策略页面。
-
在 Edit bucket policy(编辑存储桶策略)页面上,探索《Amazon S3 用户指南》中的 Policy examples(策略示例),选择 Policy generator(策略生成器)自动生成策略,或者在 Policy(策略)部分编辑 JSON。
如果选择 Policy generator(策略生成器)则 Amazon 策略生成器将在新的窗口中打开。
-
在 Amazon 策略生成器页面,在 Select Type of Policy(选择策略类型)中,请选择 S3 存储桶Policy(S3 存储桶策略)。
-
通过在提供的字段中输入信息来添加语句,然后选择 Add Statement(添加语句)。对所有您想添加的语句重复执行此操作。有关这些字段的更多信息,请参阅 IAM 用户指南中的 IAM JSON 策略元素参考。
注意 为方便起见,Edit bucket policy(编辑存储桶策略)页面会在 Policy(策略)文本字段上方显示当前存储桶的 Bucket ARN (Amazon 资源名称)。您可以复制此 ARN,以便在 Amazon 策略生成器页面上的语句中使用。
-
添加完语句后,请选择 Generate Policy(生成策略)。
-
复制生成的策略文本,请选择 Close(关闭),然后返回到 Amazon S3 控制台中的 Edit bucket policy(编辑存储桶策略)页面。
-
-
在 Policy(策略)框中,编辑现有策略或从策略生成器粘贴存储桶策略。确保保存策略之前解决安全警告、错误、一般警告和建议。
-
(可选)预览新策略如何影响对资源的公有账户和跨账户的访问。在保存策略之前,您可以检查策略是引入了新的 IAM Access Analyzer 发现结果还是解析了现有的发现结果。如果您没有看到活动分析器,请在 IAM Access Analyzer 中创建账户分析器。有关更多信息,请参阅 IAM 用户指南中的预览访问权限。
-
请选择 Save changes(保存更改),此操作将让您返回到存储桶权限页面。