存储桶策略示例
使用 S3 on Outposts 桶策略,您可以保护对 S3 on Outposts 桶中对象的访问,这样,只有具有适当权限的用户才能访问它们。您甚至可以阻止没有适当权限的经过身份验证的用户访问您的 S3 on Outposts 资源。
本节介绍关于 S3 on Outposts 桶策略的典型使用案例的示例。要测试这些策略,您需要将
替换为您自己的信息(例如存储桶名称)。user input
placeholders
要授予或拒绝对一组对象的权限,可以在 Amazon资源名称(ARN)和其他值中使用通配符(*
)。例如,您可以控制对以通用前缀或以给定扩展名结尾的对象组的访问,例如 .html
。
有关 AWS Identity and Access Management(IAM)策略语言的更多信息,请参阅使用 S3 on Outposts 设置 IAM。
注意
使用 Amazon S3 控制台测试 s3outposts 权限时,您必须授予控制台所需的其它权限,如 s3outposts:createendpoint
、s3outposts:listendpoints
等等。
用于创建存储桶策略的其他资源
-
有关在创建 S3 on Outposts 桶策略时可以使用的 IAM policy 操作、资源和条件键的列表,请参阅 Actions, resources, and condition keys for Amazon S3 on Outposts。
-
有关创建 S3 on Outposts 策略的指南,请参阅为 Amazon S3 on Outposts 存储桶添加或编辑存储桶策略。
基于特定 IP 地址管理对 Amazon S3 on Outposts 桶的访问权限
存储桶策略是基于资源的 AWS Identity and Access Management (IAM) 策略,您可以使用该策略向存储桶及其中对象授予访问权限。只有存储桶拥有者才能将策略与存储桶关联。附加到存储桶的权限适用于存储桶拥有者拥有的存储桶中所有对象。存储桶策略的大小限制为 20 KB。有关更多信息,请参阅 存储桶策略。
限制特定 IP 地址的访问权限
以下示例拒绝所有用户对指定桶中的对象执行任何 S3 on Outposts 操作,除非请求来自指定的 IP 地址范围。
注意
在限制对特定 IP 地址的访问权限时,务必还要指定哪些 VPC 端点、VPC 源 IP 地址或外部 IP 地址可以访问 S3 on Outposts 桶。否则,如果您的策略拒绝所有用户在没有适当权限的情况下对 S3 on Outposts 桶中的对象执行任何 s3outposts 操作,则您可能会失去对该桶的访问权限。
此策略的 Condition
语句确定允许的 IP 版本 4(IPv4)IP 地址范围为
。192.0.2.0/24
Condition
块使用 NotIpAddress
条件和 aws:SourceIp
条件键(这是 AWS 范围的条件键)。aws:SourceIp
条件键只能用于公有 IP 地址范围。有关条件键的更多信息,请参阅 Actions, resources, and condition keys for S3 on Outposts。aws:SourceIp
IPv4 值使用标准 CIDR 表示法。有关更多信息,请参阅《IAM 用户指南》中的 IAM JSON 策略元素参考。
警告
在使用此 S3 on Outposts 策略之前,将此示例中的
IP 地址范围替换为适合您的使用案例的值。否则,您将失去访问桶的能力。192.0.2.0/24
{ "Version": "2012-10-17", "Id": "S3OutpostsPolicyId1", "Statement": [ { "Sid": "IPAllow", "Effect": "Deny", "Principal": "*", "Action": "s3outposts:*", "Resource": [ "arn:aws:s3-outposts:
region
:111122223333
:outpost/OUTPOSTS-ID
/accesspoint/EXAMPLE-ACCESS-POINT-NAME
" "arn:aws:aws:s3-outposts:region
:111122223333
:outpost/OUTPOSTS-ID
/bucket/DOC-EXAMPLE-BUCKET
" ], "Condition": { "NotIpAddress": { "aws:SourceIp": "192.0.2.0/24
" } } } ] }
同时允许 IPv4 和 IPv6 地址
在您开始使用 IPv6 地址时,建议您使用您的 IPv6 地址范围以及现有的 IPv4 范围来更新组织的所有策略。这样做将有助于确保这些策略在您转换到 IPv6 时继续有效。
以下 S3 on Outposts 示例桶策略说明如何混用 IPv4 和 IPv6 地址范围来覆盖组织的所有有效 IP 地址。该示例策略将允许对示例 IP 地址
和 192.0.2.1
的访问,而拒绝对地址 2001:DB8:1234:5678::1
和 203.0.113.1
的访问。2001:DB8:1234:5678:ABCD::1
aws:SourceIp
条件键只能用于公有 IP 地址范围。aws:SourceIp
的 IPv6 值必须采用标准的 CIDR 格式。对于 IPv6,我们支持使用 ::
表示 0 范围(例如,2001:DB8:1234:5678::/64
)。有关更多信息,请参阅《IAM 用户指南》中的 IP 地址条件运算符。
警告
在使用此 S3 on Outposts 策略之前,将此示例中的 IP 地址范围替换为适合您的使用案例的值。否则,您可能会失去访问存储桶的能力。
{ "Id": "S3OutpostsPolicyId2", "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIPmix", "Effect": "Allow", "Principal": "*", "Action": "s3outposts:*", "Resource": [ "arn:aws:aws:s3-outposts:
region
:111122223333
:outpost/OUTPOSTS-ID
/bucket/DOC-EXAMPLE-BUCKET
", "arn:aws:aws:s3-outposts:region
:111122223333
:outpost/OUTPOSTS-ID
/bucket/DOC-EXAMPLE-BUCKET
/*" ], "Condition": { "IpAddress": { "aws:SourceIp": [ "192.0.2.0/24
", "2001:DB8:1234:5678::/64
" ] }, "NotIpAddress": { "aws:SourceIp": [ "203.0.113.0/24
", "2001:DB8:1234:5678:ABCD::/80
" ] } } } ] }