【发布时间】:2020-09-13 17:14:25
【问题描述】:
我正在尝试授予用户创建角色的权限(因为我没有提供创建访问密钥的权限)。
我想出了一个允许用户创建和分配角色的策略。 我遇到的问题是,现在用户可以使用“AdministratorAccess”策略创建角色,即使他们不是管理员。有没有办法拒绝选项列表中的某些政策?
以下是通过提供的向导完成的策略。
谢谢,
{
"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"
}
}
}
]
}
编辑:2020 年 6 月 26 日 我尝试按照建议使用权限边界,但也许我的理解仍然不足。我制定了一项新政策:
{
"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 的条件 - 那么我似乎能够做我想做的事(只是将它用作策略,而不是作为边界)
根据我所看到的,权限边界可能是正确的方法,但我还不能完全理解,所以我犹豫是否将其标记为“正确答案”。
【问题讨论】:
标签: amazon-web-services amazon-iam