限制使用AdministratorAccess策略的用户或者角色

创建超级管理员时一般会关联绑定一个AWS内置策略AdministratorAccess,这个权限允许进行任何操作,一旦泄漏,会带来严重的安全风险,被勒索攻击或者服务器被用于挖矿,给企业带来严重的损失。

因此,可以通过以下方式减小超级管理员泄漏的风险:

1-修改信任策略trust policy

IAM 角色信任策略示例

在原来的信任策略基础上增加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

最后更新于