Я пытаюсь дать пользователю права на создание ролей (поскольку я не предоставляю права на создание ключей доступа).
Я придумал политику, позволяющую пользователю создавать и назначать Роли. Проблема, с которой я столкнулся, заключается в том, что прямо сейчас пользователь может создать роль с политикой «Доступ к администратору», даже если он не является администратором. Есть ли способ отклонить определенные политики в списке параметров?
Ниже приведена политика, созданная с помощью предоставленного мастера.
Спасибо,
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"iam:CreateInstanceProfile",
"iam:UpdateAssumeRolePolicy",
"iam:ListRoleTags",
"iam:UntagRole",
"iam:PutRolePermissionsBoundary",
"iam:TagRole",
"iam:RemoveRoleFromInstanceProfile",
"iam:CreateRole",
"iam:AttachRolePolicy",
"iam:PutRolePolicy",
"iam:ListInstanceProfilesForRole",
"iam:PassRole",
"iam:DetachRolePolicy",
"iam:DeleteRolePolicy",
"iam:ListAttachedRolePolicies",
"iam:ListRolePolicies",
"iam:ListPolicies",
"iam:GetRole",
"iam:ListRoles",
"iam:DeleteRole",
"iam:UpdateRoleDescription",
"iam:CreateServiceLinkedRole",
"iam:UpdateRole",
"iam:DeleteServiceLinkedRole",
"iam:GetRolePolicy"
],
"Resource": "*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "true"
}
}
}
]
}
EDIT: 26 / 6/20 Я попытался использовать границы разрешений, как было предложено, но, возможно, моего понимания все еще недостаточно. Я создал новую политику:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyAdmin",
"Effect": "Deny",
"Action": [
"iam:*"
],
"Resource": "*",
"Condition": {
"ArnEquals": {
"iam:PolicyArn": [
"arn:aws:iam::aws:policy/AdministratorAccess"
]
}
}
}
]
}
Я думаю, это будет означать Запретить любые / все действия iam, когда это касается политики доступа администратора. Однако в результате все назначения / создание ролей запрещены, даже если присоединяемая политика НЕ является AdministratorAccess. Однако, если я настрою политику и добавлю условие ArnNotEquals к AdministratorAccess - тогда я, похоже, смогу делать то, что хочу (просто используя это как политику, а не как границу)
На основе того, что я Вы уже видели, Граница разрешений, вероятно, является правильным путем к go, но я пока не могу понять его, поэтому не решаюсь пометить его как «Правильный ответ».