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

如何允许AWS用户创建不含IAM写入操作的权限策略?

可以实现,以下是具体方案

完全可以通过AWS的IAM权限控制机制实现这个需求——既下放策略/角色创建权限,又严格禁止这些权限包含IAM写入操作。核心思路是用权限边界和条件键限制来双重管控:

1. 用权限边界(Permissions Boundary)锁死最大权限

给需要下放权限的用户/组附加一个权限边界策略,这个策略明确拒绝所有敏感的IAM写入操作。这样不管用户创建什么策略或角色,最终生效的权限都不能突破这个边界——就算用户在自己创建的策略里加了iam:CreatePolicy之类的操作,实际执行时也会被边界拦截。

示例权限边界策略(由管理员创建,用户无法修改):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "iam:CreatePolicy",
        "iam:AttachPolicyRole",
        "iam:CreateRole",
        "iam:PutRolePolicy",
        "iam:AddUserToGroup"
        // 可根据需求补充其他需要禁止的IAM写入操作
      ],
      "Resource": "*"
    }
  ]
}

2. 用IAM条件键直接限制用户可创建的策略内容

在给用户的权限策略里,通过iam:PolicyAction条件键,指定用户只能创建包含非IAM写入操作的策略。这样用户在创建策略时,一旦添加了敏感IAM操作,AWS会直接拒绝创建请求。

示例给用户的权限策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:CreatePolicy",
        "iam:CreateRole",
        "iam:AttachRolePolicy"
        // 允许用户执行的策略/角色创建操作
      ],
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringNotLike": {
          "iam:PolicyAction": [
            "iam:CreatePolicy*",
            "iam:AttachPolicyRole*",
            "iam:CreateRole*"
            // 禁止用户创建的策略包含这些IAM操作
          ]
        }
      }
    }
  ]
}

额外注意事项

  • 权限边界必须由管理员创建并附加,确保用户没有修改或删除边界的权限,否则会被绕过。
  • 如果是多账号环境,可结合AWS Organizations的SCP(服务控制策略)做全局限制,进一步降低风险。
  • 上线前一定要做测试:用目标用户账号尝试创建包含IAM写入操作的策略,验证是否会被拒绝;同时验证正常的非IAM策略能否创建并生效。

内容的提问来源于stack exchange,提问作者Ian Liu Rodrigues

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:45:26