Я хотел ограничить 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"
]
}
}
}
]
}