SAML联合用户的IAM永久访问密钥

时间:2018-10-30 14:04:38

标签: amazon-web-services amazon-iam

我正在设置对AWS控制台的SAML联合访问。但是,我们的一些用户需要永久性的API访问密钥才能与不支持STS临时凭证的第三方工具一起使用。我希望这些密钥可以自助服务,因此对运营团队没有太大的管理负担。

我在SAML请求中将目录用户名传递为awsRoleSessionName:

<AttributeDefinition id="awsRoleSessionName" xsi:type="Simple" sourceAttributeID="sAMAccountName">
    <Dependency ref="myLDAP" />
    <AttributeEncoder xsi:type="SAML2String" name="https://aws.amazon.com/SAML/Attributes/RoleSessionName" friendlyName="RoleSessionName" />
</AttributeDefinition>

理想情况下,我想使用这样的策略来允许用户管理与其用户名匹配的IAM:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:ListAccount*",
        "iam:ListUsers"
      ],
      "Resource": "arn:aws:iam::{{account_id}}:user/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:*LoginProfile",
        "iam:*AccessKey*",
        "iam:*SSHPublicKey*",
        "iam:GetAccountSummary",
        "iam:GetAccountPasswordPolicy"
      ],
      "Resource": "arn:aws:iam::{{account_id}}:user/${aws:userid}"
    }
  ]
}

但是,“ aws:userid”变量也包含角色ID(https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#policy-vars-infotouse)。

可用的各种SAML属性不适用于权限策略,而只能用于信任关系。

有什么方法可以将访问密钥设置为SAML联盟用户的自助服务?

0 个答案:

没有答案