限制使用AdministratorAccess策略的用户或者角色
创建超级管理员时一般会关联绑定一个AWS内置策略AdministratorAccess,这个权限允许进行任何操作,一旦泄漏,会带来严重的安全风险,被勒索攻击或者服务器被用于挖矿,给企业带来严重的损失。
因此,可以通过以下方式减小超级管理员泄漏的风险:
1-修改信任策略trust policy
在原来的信任策略基础上增加condition条件:
限制能够使用超级管理员角色的组织范围或者账号范围:
"Condition": {
"StringNotEqualsIfExists": {
"aws:PrincipalOrgID": "<my-org-id>",
"aws:PrincipalAccount": [
"<third-party-account-a>",
"<third-party-account-b>"
]
},
"BoolIfExists": {
"aws:PrincipalIsAWSService": "false"
}
}
2-增加SCP
创建如下SCP限制类似于IAM管理,KMS管理这类高危安全管理仅允许安全管理员操作。
参考:限制高危操作使用条件
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyIAMandKMS",
"Effect": "Deny",
"Action": [
"IAM:*",
"KMS:*"
],
"Resource": "*",
"Condition": {
"ArnNotLikeIfExists": {
"aws:PrincipalArn": "<role or user Arn>"
},
"BoolIfExists": {
"aws:MultiFactorAuthPresent": false
}
}
}
]
}
3 - 单独的IAM管理员和安全审计员
IAM管理员可以直接使用AWS托管策略:IAMFullAccess
安全审计员也可以直接使用AWS托管策略:SecurityAudit
最后更新于