如何限制AWS IAM用户仅可访问eu-west-1特定区域
IAM用户仅允许访问eu-west-1区域的正确权限策略配置
原策略失效原因
- Resource字段配置错误:你的策略中Resource写为
user_arn,要允许用户执行任意服务操作,需要将Resource设置为*,覆盖所有AWS服务的资源范围,仅指定用户自身ARN无法匹配其他服务的资源规则。 - 未考虑全局服务的特性:AWS的IAM、CloudFront、Route53等属于全局无区域属性的服务,调用这类服务时不会传递
aws:RequestedRegion参数,原策略的条件会直接拦截所有全局服务的请求,如果你不需要使用全局服务可以跳过对应配置。
正确配置示例
版本1:仅允许eu-west-1区域操作,拦截所有全局服务
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "eu-west-1" } } } ] }
版本2:允许eu-west-1区域操作+允许指定全局服务操作
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "eu-west-1" } } }, { "Effect": "Allow", "Action": [ "iam:*", "cloudfront:*", "route53:*", "waf:*", "shield:*", "support:*" ], "Resource": "*" } ] }
提示:第二个版本的Action列表可以根据你实际需要使用的全局服务删减,不需要的全局服务可以从列表中移除,避免权限过大。
验证方式
配置完成后可以通过IAM策略模拟器,切换不同区域测试操作权限是否符合预期。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

