AWS:根据请求的区域拒绝访问 AWS
此示例说明了如何创建一个基于身份的策略,以拒绝对使用 aws:RequestedRegion
条件键指定的区域以外的任何操作的访问,但服务中使用 NotAction
指定的操作除外。此策略定义了程序访问和控制台访问的权限。要使用此策略,请将示例策略中的斜体占位符文本
替换为您自己的信息。然后,按照创建策略或编辑策略中的说明操作。
该策略使用具有 Deny
效果的 NotAction
元素,这会显式拒绝访问语句中未 列出的所有操作。不应拒绝 CloudFront、IAM、Route 53 和 AWS Support 服务中的操作,因为这些服务是常用的 AWS 全球服务,并具有一个实际位于 us-east-1
区域的终端节点。由于针对这些服务的所有请求都是向 us-east-1
区域发出的,因此,将在没有 NotAction
元素的情况下拒绝这些请求。请编辑该元素以包含您使用的其他 AWS 全球服务(如 budgets
、globalaccelerator
、importexport
、organizations
或 waf
)的操作。一些其他全球服务(例如 AWS Chatbot 和 AWS Device Farm)是具有物理位置位于 us-west-2
区域的终端节点的全球服务。要了解具有单个全球端点的所有服务,请参阅《AWS 一般参考》中的 AWS 区域和端点。有关使用具有 Deny
效果的 NotAction
元素的更多信息,请参阅IAM JSON 策略元素:NotAction。
重要
该策略不允许进行任何操作。可将此策略与允许特定操作的其他策略结合使用。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAllOutsideRequestedRegions", "Effect": "Deny", "NotAction": [
"cloudfront:*", "iam:*", "route53:*", "support:*"
], "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": ["eu-central-1", "eu-west-1", "eu-west-2", "eu-west-3"
] } } } ] }