我正在尝试使用documentation的aws 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上没有真正清晰的示例...所以我的问题是:
答案 0 :(得分:0)
事实上,我认为SAML部分让我感到困惑,在其他帐户(ACCOUNT_B)中没什么可创建的,如果这意味着您绕过了跳出帐户(ACCOUNT_A)< / strong>,它将失去其兴趣和安全性。但是您必须使用 ACCOUNT_A 上显示的 SAML idp 来生成凭据,然后该凭据将允许从A切换到B,这与无需委派的情况完全相同