管理目录存储桶的存储桶策略
可以使用 Amazon S3 控制台、AWS SDK 和 AWS CLI 来添加、删除、更新和查看 Amazon S3 目录存储桶的存储桶策略。有关更多信息,请参阅以下主题。有关 S3 Express One Zone 支持的 AWS Identity and Access Management(IAM)操作和条件键的更多信息,请参阅使用 IAM 对区域端点 API 进行授权。有关目录存储桶的存储桶策略示例,请参阅S3 Express One Zone 目录存储桶策略示例。
添加存储桶策略
要向目录存储桶添加存储桶策略,您可以使用 Amazon S3 控制台、AWS SDK 或 AWS CLI。
创建或编辑存储桶策略
登录到 AWS Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在左侧导航窗格中,选择存储桶。
选择目录桶选项卡。
-
在目录存储桶列表中,选择要将文件夹和文件上传到的存储桶的名称。
-
选择 Permissions(权限)选项卡。
-
在 Bucket policy(存储桶策略)下,请选择 Edit(编辑)。将出现 Edit bucket policy(编辑存储桶策略)页面。
-
要自动生成策略,请选择策略生成器。
如果选择 Policy generator(策略生成器),AWS 策略生成器将在新窗口中打开。
如果您不想使用 AWS 策略生成器,则可以在策略部分添加或编辑 JSON 语句。
-
在 AWS 策略生成器页面上,对于选择策略类型,选择 S3 存储桶策略。
-
通过在提供的字段中输入信息来添加语句,然后选择添加语句。对您要添加的所需数量的语句重复此步骤。有关这些字段的更多信息,请参阅《IAM 用户指南》中的 IAM JSON 策略元素参考。
注意
为方便起见,编辑桶策略页面会在策略文本字段上方显示当前桶的桶 ARN(Amazon 资源名称)。您可以复制此 ARN,以便在 AWS 策略生成器页面上的语句中使用。
-
添加完语句后,请选择生成策略。
-
复制生成的策略文本,请选择 Close(关闭),然后返回到 Amazon S3 控制台中的 Edit bucket policy(编辑存储桶策略)页面。
-
-
在 Policy(策略)框中,编辑现有策略或从 AWS 策略生成器粘贴存储桶策略。确保在保存策略之前解决安全警告、错误、一般警告和建议。
注意
存储桶策略的大小限制为 20 KB。
-
选择保存更改,此操作将让您返回到权限选项卡。
此示例显示如何使用 AWS CLI 将存储桶策略添加到目录存储桶。要使用该命令,请将用户输入占位符
替换为您自己的信息。
aws s3api put-bucket-policy --bucket
bucket-base-name
--azid
--x-s3 --policy file://bucket_policy.json
bucket_policy.json:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AdminPolicy", "Effect": "Allow", "Principal": { "AWS": "
111122223333
" }, "Action": "s3express*", "Resource": "arn:aws:s3express:us-west-2:111122223333
:bucket/amzn-s3-demo-bucket--usw2-az1--x-s3
" } ] }
有关更多信息,请参阅 AWS Command Line Interface 中的 put-bucket-policy
查看存储桶策略
要查看目录存储桶的存储桶策略,请使用以下示例。
此示例说明如何使用 AWS CLI 查看附加到目录存储桶的存储桶策略。要使用该命令,请将用户输入占位符
替换为您自己的信息。
aws s3api get-bucket-policy --bucket
bucket-base-name
--azid
--x-s3
有关更多信息,请参阅 AWS Command Line Interface 中的 get-bucket-policy
删除存储桶策略
要删除目录存储桶的存储桶策略,请使用以下示例。
此示例显示如何使用 AWS CLI 删除目录存储桶的存储桶策略。要使用该命令,请将用户输入占位符
替换为您自己的信息。
aws s3api delete-bucket-policy --bucket
bucket-base-name
--azid
--x-s3
有关更多信息,请参阅 AWS Command Line Interface 中的 delete-bucket-policy