Amazon web services 通过IAM策略中的条件检查用户是否为组成员

Amazon web services 通过IAM策略中的条件检查用户是否为组成员,amazon-web-services,amazon-iam,Amazon Web Services,Amazon Iam,我有以下情况:默认情况下,允许用户对所有资源/角色执行sts:AssumeRole。现在,我想拒绝特定资源/角色的stsAssumeRole,除非访问sts:AssumeRole的用户是特定组的成员,即允许该特定资源/角色使用sts:AssumeRole的组 是否有可能在AWS IAM政策中实现这一点?或者我应该研究其他技术?我考虑添加条件的原因是由于显式拒绝 { "Version": "2012-10-17", "Statement": [ { "Sid": "Allo

我有以下情况:默认情况下,允许用户对所有资源/角色执行
sts:AssumeRole
。现在,我想拒绝特定资源/角色的
stsAssumeRole
,除非访问
sts:AssumeRole
的用户是特定组的成员,即允许该特定资源/角色使用
sts:AssumeRole
的组

是否有可能在AWS IAM政策中实现这一点?或者我应该研究其他技术?我考虑添加条件的原因是由于显式拒绝

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "AllowAssumeRoleByDefault",
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Resource": [
            "arn:aws:iam::*:role/*"
        ]
    },
    {
        "Sid": "DenyAssumeRoleForKnownRoles",
        "Effect": "Deny",
        "Action": "sts:AssumeRole",
        "Resource": [
            "arn:aws:iam::{X}:role/A",
            "arn:aws:iam::{Y}:role/B",
            "arn:aws:iam::{Z}:role/C"
        ],
        "Condition": {
            "?": {?}
        }
    }
  ]
}

听起来您应该定义哪些组可以承担哪些角色,然后创建相应的策略并将其附加到组。这是可行的吗?允许所有角色都使用sts:AssumeRole似乎是问题的原因,并不是最佳的安全实践。我支持@arco444的建议。您应该明确允许承担特定角色,而不是允许承担所有角色,然后有选择地拒绝某些角色-这将导致长期维护后果,因为添加了新角色,而人们忘记明确拒绝访问这些角色。谢谢您的回答。您描述的情况是我们已经遇到的情况,但是由于自动化,我们试图放宽限制,默认情况下允许一切,这确实不是最佳的安全实践,并在之后拒绝访问。我已经在内部讨论过这一点,我们正在放弃这一想法。:)@我想萨法西打得不错。