尝试授予 IAM 用户创建和分配角色的权限,但限制可用策略的类型



我试图授予用户创建角色的权限(因为我不提供创建访问密钥的权限(。

我已经想出了一个允许用户创建和分配角色的策略。 我遇到的问题是,现在,即使用户不是管理员,也可以使用"管理员访问"策略创建角色。 有没有办法拒绝选项列表中的某些策略?

以下是通过提供的向导完成的策略。

谢谢

{
"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"
}
}
}
]
}

编辑: 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 操作。 但是,结果是,即使附加的策略不是管理员访问权限,也会拒绝所有角色分配/创建。 但是,如果我设置策略并添加 ArnNotEquals 管理员访问权限的条件 - 那么我似乎可以做我想做的事(只是将其用作策略,而不是边界(

根据我所看到的,权限边界可能是正确的方法,但我还不能完全理解它,所以我犹豫是否将其标记为"正确答案"。

您可以使用 AWS IAM权限边界:IAM 实体的权限边界 - AWS 身份和访问管理

"权限边界是一项高级功能,用于使用托管策略设置基于身份的策略可以授予 IAM 实体的最大权限。实体的权限边界仅允许它执行其基于身份的策略及其权限边界所允许的操作。

以下是 AWS 安全博客上的分步介绍:使用 IAM 权限边界将权限管理委派给开发人员 |AWS 安全博客

因此,使用 John Rotenstein 的指示并最终意识到我哪里出错了,获得我想要的东西的方式是向用户添加以下权限边界:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BoundaryAllowAllNotAdminAccess",
"Effect": "Allow",
"Action": "*",
"Resource": "*",
"Condition": {
"ArnNotEquals": {
"iam:PolicyArn": [
"arn:aws:iam::aws:policy/AdministratorAccess"
]
}
}
}
]
}

我出错的地方是认为我需要拒绝,但边界是 AND 限制,因此我可以允许所有限制,只要它不是管理员访问权限,那么其他策略将提供实际操作/资源,AWS 将允许,只要它不使用管理员访问权限。

相关内容

  • 没有找到相关文章

最新更新