Amazon IAM策略:仅在附加策略之一为BaseDeny时,限制用户创建组/角色

时间:2018-10-09 13:16:07

标签: amazon-web-services amazon-iam

我想限制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"
                ]
            }
        }
    }
]
}

2 个答案:

答案 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