能否为AWS管理控制台配置登录地理阻断?
实现AWS管理控制台的地理访问控制
方案1:组织级SCP结合地理条件(推荐,适配组织管理场景)
因为所有账号已纳入AWS组织,可创建组织级SCP直接管控全域控制台访问:
- 核心逻辑:拒绝来自俄罗斯联邦的控制台相关操作,同时允许我方总部IP及欧盟区域的访问
- 示例SCP策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "signin:*", "sts:AssumeRole", "iam:CreateLoginProfile" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "你的组织ID" }, "GeoLocation": { "aws:Country": ["RU"] } } }, { "Effect": "Allow", "Action": "*", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:Country": ["AT", "BE", "BG", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HR", "HU", "IE", "IT", "LT", "LU", "LV", "MT", "NL", "PL", "PT", "RO", "SE", "SI", "SK"] }, "IpAddress": { "aws:SourceIp": ["我方总部IP段/掩码"] } } } ] }
- 说明:
aws:GeoLocation使用ISO 3166-1 alpha-2国家代码,俄罗斯为RU,上述列表包含全部欧盟成员国代码;此SCP直接覆盖组织内所有账号,无需逐个配置。
方案2:IAM身份中心(SSO)+ WAF地理规则
若使用IAM身份中心统一登录控制台,可通过CloudFront+WAF实现无IP维护的地理管控:
- 步骤1:创建CloudFront分发,源指向IAM身份中心的访问门户URL
- 步骤2:为CloudFront关联AWS WAF,创建地理匹配规则:允许欧盟地区请求,拒绝俄罗斯联邦请求
- 步骤3:引导所有用户通过CloudFront分发URL访问控制台,所有登录请求先经过WAF地理校验
方案3:IAM权限策略结合IP段(适合精细化IP管控)
如果需要针对特定IAM用户/角色做限制,可在权限策略中添加IP匹配条件:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "sts:AssumeRole", "Resource": "*", "Condition": { "NotIpAddress": { "aws:SourceIp": ["我方总部IP段", "欧盟承包商固定IP段"] }, "IpAddress": { "aws:SourceIp": ["俄罗斯IP段列表"] } } } ] }
- 说明:需自行维护IP段列表,适合承包商IP固定的场景。
关键注意事项:
- 区分区域SCP与地理访问控制:前者限制资源操作的AWS区域,后者限制用户发起请求的地理位置,两者可同时生效
- 测试建议:先在测试账号中验证规则,避免影响正常业务
- 动态IP承包商:优先选择方案1或2,无需维护IP段
内容的提问来源于stack exchange,提问作者DarkJoney
相关产品推荐
相关产品推荐

