You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何防止AWS IAM管理员修改其他管理员分配的自身权限策略?

AWS IAM管理员权限限制方案

这个需求完全可以实现,核心是通过精准的Deny语句阻断特定操作,结合IAM规则细化控制范围。

当前策略的问题

你现在的策略存在几个关键漏洞,导致admin2仍能给自己加权限、修改admin1的权限:

  1. 操作覆盖不全:只针对角色(Role)相关的操作,比如AttachRolePolicy,但用户策略的操作是iam:AttachUserPolicy这类,完全没覆盖;
  2. 资源配置错误:针对用户的操作,Resource需要明确指向admin2的用户ARN,同时还要覆盖策略资源,防止通过关联其他策略提权;
  3. 未限制admin1相关操作:完全没阻断admin2修改admin1权限的行为。

修正后的策略示例

把下面策略里的acc_no换成你的AWS账号ID,admin1换成管理员1的用户名,给admin2的限制策略名称换成你给admin2分配的限制策略名称:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": [
                        "region1",
                        "region2"
                    ]
                }
            }
        },
        {
            "Sid": "BlockAdmin2SelfPolicyChanges",
            "Effect": "Deny",
            "Action": [
                "iam:AttachUserPolicy",
                "iam:DetachUserPolicy",
                "iam:PutUserPolicy",
                "iam:DeleteUserPolicy"
            ],
            "Resource": [
                "arn:aws:iam::acc_no:user/admin2",
                "arn:aws:iam::acc_no:policy/*"
            ]
        },
        {
            "Sid": "BlockChangesToAdmin1",
            "Effect": "Deny",
            "Action": [
                "iam:AttachUserPolicy",
                "iam:DetachUserPolicy",
                "iam:PutUserPolicy",
                "iam:DeleteUserPolicy",
                "iam:UpdateUser",
                "iam:DeleteUser",
                "iam:AddUserToGroup",
                "iam:RemoveUserFromGroup"
            ],
            "Resource": "arn:aws:iam::acc_no:user/admin1"
        },
        {
            "Sid": "BlockModifyingRestrictivePolicy",
            "Effect": "Deny",
            "Action": [
                "iam:DeletePolicy",
                "iam:CreatePolicyVersion",
                "iam:SetDefaultPolicyVersion"
            ],
            "Resource": "arn:aws:iam::acc_no:policy/给admin2的限制策略名称"
        }
    ]
}

策略各部分作用

  • Allow语句:保留你原来的区域限制,让admin2能在指定区域执行所有正常操作;
  • BlockAdmin2SelfPolicyChanges:彻底阻断admin2给自己附加、移除策略,或者创建/删除自身内嵌策略的操作,同时覆盖所有自定义策略,防止绕开限制;
  • BlockChangesToAdmin1:阻断admin2对admin1的所有权限修改、用户信息变更、组归属调整操作,确保admin1的权限不受干扰;
  • BlockModifyingRestrictivePolicy:如果给admin2的限制策略是单独的自定义策略,这部分能防止admin2删除、修改该策略版本,避免废掉限制规则。

注意事项

  • 务必把占位符替换成实际的账号ID、用户名和策略名;
  • IAM规则中Deny优先级高于Allow,这些阻断规则会优先生效;
  • 建议先在测试环境验证策略,避免影响正常业务操作。

内容的提问来源于stack exchange,提问作者Cloud Wanderer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 08:23:11