为什么aws假设-sam-with-saml需要角色和委托人?

时间:2015-06-01 20:45:45

标签: amazon-web-services saml-2.0 sts-securitytokenservice

任何人都可以解释为什么操作假设-sam-with-saml需要一些已经在saml-assertion中的参数,比如role-arn和principal-arn?

2 个答案:

答案 0 :(得分:1)

assume-role-with-saml的亚马逊文档提供了以下信息:

  • --role-arn 字符串选项标识来电者所承担的角色。
  • --principal-arn 字符串选项需要仔细阅读。亚马逊说

      

    AWS IAM中SAML提供程序的Amazon资源名称(ARN),用于描述 IdP

  •   
  后者的解释在以下几段中给出:

     

在您的应用程序可以调用assume-role-with-saml之前,您必须配置SAML身份提供程序( IdP )以发出AWS所需的声明。

同一页面提供了指向 Using Identity Providers 的链接,其中解释了这一术语:

  

使用身份提供商,您可以管理AWS以外的用户身份,并且您可以授予这些外部用户身份权限以在您的帐户中使用AWS资源。

也就是说,您可以使用--principal-arn选项将外部用户身份与角色相关联。 --role-arn选项实际上不是可选,而是必需参数。

saml-assertion(--saml-assertion string)选项)是额外的“粘合剂”,可用于检查权限。按照 Configuring a Relying Party and Adding Claims 的此选项说明中的链接,亚马逊说

  

您还需要在您的IdP中使用AWS作为依赖方创建适当的声明规则。这些规则将有关组织中的用户和组的信息映射到适当的SAML属性。这使您可以确保来自IdP的SAML身份验证响应(断言)包含AWS在IAM策略中用于检查联合用户权限的必要属性。

反过来,链接到描述断言的页面: Configure Assertions for the SAML Authentication Response

答案 1 :(得分:0)

经过一些研究,我能够回答。我问为什么发送--role-arn参数,如果它已经在saml断言中。事实上,saml断言可以有多个角色,因此在api请求中必须确定应该假定哪个角色。我在this link

中找到了答案