承担来自SLI的AWS CLI的角色

时间:2019-03-12 11:34:08

标签: amazon-web-services saml-2.0 aws-cli amazon-iam opensaml

我正在尝试使用documentationaws sts assume-role-with-saml生成AWS凭证

但是,我遇到了错误,但我并不十分了解流程。通常,我有一个主帐户 ACCOUNT_A ,她是 SAML_PROVIDER 所在的帐户,并且我将角色从该主帐户切换为帐户 ACCOUNT_B 。因此,据我了解,语法应类似于:

aws sts assume-role-with-saml --role-arn arn:aws:iam::ACCOUNT_B:role/IAM_ROLE --principal-arn arn:aws:iam::ACCOUNT_A:saml-provider/SAML_PROVIDER --saml-assertion BASE64_ENCODED_RESPONSE

但是当我尝试上述方式时,出现错误:

  

调用时发生错误(ValidationError)   AssumeRoleWithSAML操作:委托人存在于以下帐户之外   承担的角色

然后尝试这种方式:

aws sts assume-role-with-saml --role-arn arn:aws:iam::ACCOUNT_B:role/IAM_ROLE --principal-arn arn:aws:iam::ACCOUNT_B:saml-provider/SAML_PROVIDER --saml-assertion BASE64_ENCODED_RESPONSE

我收到错误消息:

  

调用时发生错误(InvalidIdentityToken)   AssumeRoleWithSAML操作:指定的提供程序不存在   (服务:AWSOpenIdDiscoveryService;状态代码:400;错误代码:   AuthSamlManifestNotFoundException;要求编号:   3565c77a-44b6-11e9-a384-b1f45948a767)

我认为文档在功能方面尚不明确,并且在google上没有真正清晰的示例...所以我的问题是:

  • 在语法的两个位置上我应该使用哪个帐号?
  • 我需要在ACCOUNT_B帐户中创建SAML IDP吗?

1 个答案:

答案 0 :(得分:0)

事实上,我认为SAML部分让我感到困惑,在其他帐户(ACCOUNT_B)中没什么可创建的,如果这意味着您绕过了跳出帐户(ACCOUNT_A)< / strong>,它将失去其兴趣和安全性。但是您必须使用 ACCOUNT_A 上显示的 SAML idp 来生成凭据,然后该凭据将允许从A切换到B,这与无需委派的情况完全相同