我想限制IAM
用户创建新的组/角色,并且仅当用户将自定义策略BaseDeny
与其他策略一起附加时才允许。这意味着用户创建的每个组/角色中都必须有BaseDeny
策略,以便用户创建新的组/角色。
我试图向用户添加以下策略以实现此目的,但是这仅允许添加BaseDeny
,但是我希望允许用户将其他策略与BaseDeny
一起添加。
达到此条件需要什么条件?或通过其他任何方式使这项工作成功?
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "ManageUsersPermission",
"Effect": "Allow",
"Action": [
"iam:ChangePassword",
"iam:CreateAccessKey",
"iam:CreateLoginProfile",
"iam:DeleteAccessKey",
"iam:DeleteLoginProfile",
"iam:UpdateAccessKey",
"iam:ListAttachedUserPolicies",
"iam:ListPolicies",
"iam:ListUserPolicies",
"iam:ListGroups",
"iam:ListGroupsForUser",
"iam:GetPolicy",
"iam:GetAccountSummary",
"iam:GetGroup",
"iam:ListGroupPolicies"
],
"Resource": "*"
},
{
"Sid": "CreateGroupRoleLimited",
"Effect": "Allow",
"Action": [
"iam:CreateGroup",
"iam:AddUserToGroup",
"iam:CreateRole",
"iam:ListAttachedGroupPolicies",
"iam:ListAttachedRolePolicies"
],
"Resource": "*"
},
{
"Sid": "AttachDettachLimitedPolicy",
"Effect": "Allow",
"Action": [
"iam:AttachGroupPolicy",
"iam:AttachRolePolicy",
"iam:AttachUserPolicy"
],
"Resource": "*",
"Condition": {
"ArnLike": {
"iam:PolicyArn": [
"arn:aws:iam::*:policy/BaseDeny"
]
}
}
}
]
}
答案 0 :(得分:0)
这不可能。
最接近的选择是创建一个AWS Config rule,以检查不包含该策略的角色/组。
这是“事后检查”,但是您可以使规则自动化以禁用违反规则的角色/组。
请参阅:How to develop custom AWS Config rules using the Rule Development Kit | AWS Management Tools Blog
答案 1 :(得分:0)
要解决此问题,请查看IAM Permissions Delegation
您要尝试的正是委派功能的构建目的。与其尝试确保新的组中包括特定的 BaseDeny 策略(一种尝试实现权限边界的方法),请按照链接的博客条目创建一个权限边界,该边界不包括您想要的内容拒绝 BaseDeny 。