创建附加到用户的 IAM 策略,限制用户使用某些操作创建自定义托管策略
Posted
技术标签:
【中文标题】创建附加到用户的 IAM 策略,限制用户使用某些操作创建自定义托管策略【英文标题】:Creating an IAM policy attached to a user restricting user from creating custom managed policy with some actions 【发布时间】:2018-06-23 09:23:14 【问题描述】:我需要创建一个 IAM 策略,并且该策略将附加到用户。我想要的是,具有此策略的用户能够创建新的 IAM 角色和自定义策略,但我不希望用户使用 iam:* 或管理策略等操作创建任何自定义策略。例如:
我的保单包含声明
"Sid": "LimitIamRoleAndPolicyAccess",
"Effect": "Allow",
"Action": [
"iam:AttachRolePolicy",
"iam:CreatePolicy",
"iam:CreatePolicyVersion",
"iam:CreateRole"
],
"Resource": "*",
"Condition":
"ArnNotEquals":
"iam:PolicyArn": [
"arn:aws:iam::aws:policy/AdministratorAccess",
"arn:aws:iam::*:group/Administrators",
"arn:aws:iam::aws:policy/IAMFullAccess"
]
上述语句限制用户附加 IAMFullAccess 角色权限,但用户能够创建自定义策略并提供如下 json 以允许访问所有 iam 服务
"Effect": "Allow",
"Action": "iam:*",
"Resource": "*"
甚至更糟的是他可以创建类似的政策
"Effect": "Allow",
"Action": "*",
"Resource": "*"
它可以访问所有内容。我如何限制他们创建此类策略。对我来说,重要的是他们确实拥有 iam:CreatePolicy 权限,但他们不应该能够创建上述策略。
【问题讨论】:
【参考方案1】:对用户策略的“iam:CreateUser”权限使用“iam:permissionboundary”条件
"Condition": "StringEquals":
"iam:PermissionsBoundary": "arn:aws:iam::111122223333:policy/XCompanyBoundaries"
你的场景是一样的to this example
【讨论】:
以上是关于创建附加到用户的 IAM 策略,限制用户使用某些操作创建自定义托管策略的主要内容,如果未能解决你的问题,请参考以下文章