我们当前正在将G Suite用作我们的AWS SAML访问的IDP,该ID在少数账户中扮演了角色,以使G Suite用户可以访问某些AWS资源。每个帐户都具有类似的命名角色,G Suite用户可以假定这些角色授予他们访问该帐户中某些资源的权限,这些资源都按预期工作。
我正在研究是否可以配置该假定的角色,以便为某些用户提供对某些资源的更细粒度的访问,而不必在G Suite本身中为不同的用户分配完全不同的角色。
例如,如果在帐户中承担的角色称为“ assumed_gsuite_ro”并且不提供对IAM的访问,则您会在IAM控制台中看到如下错误:
User: arn:aws:sts::0012345678900:assumed-role/assumed_gsuite_ro/matt@domain.com is not authorized to perform: iam:GetAccountSummary on resource: *
因此,我想在假定的角色_gsuite_ro角色策略中添加一些内容,以使联盟用户仅能访问IAM中的内容:
...
{
"Sid": "IAMTest",
"Effect": "Allow",
"Action": [
"iam:GetAccountSummary",
"iam:ListAccountAliases"
],
"Resource": "*",
"Condition": {
"ArnEquals": {
"aws:SourceArn": "arn:aws:sts::0012345678900:assumed-role/assumed_gsuite_ro/matt@domain.com"
}
}
}
...
但是,这显然不起作用,因为SourceArn显然不匹配。我可以使用的条件值是否可以使我针对AWS似乎了解的特定联盟用户?我当时在想aws:userid或aws:username之类的方法可能有用,但是我不确定在这种情况下它们的值是什么。