amazon-web-services - 使用 SAML 从 aws cli 担任角色
问题描述
我正在尝试使用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
但是当我尝试上述方式时,我得到了错误:
调用 AssumeRoleWithSAML 操作时发生错误 (ValidationError):主体存在于所代入角色的帐户之外
然后,如果尝试这种方式:
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
我得到错误:
调用 AssumeRoleWithSAML 操作时发生错误 (InvalidIdentityToken):指定的提供程序不存在(服务:AWSOpenIdDiscoveryService;状态代码:400;错误代码:AuthSamlManifestNotFoundException;请求 ID:3565c77a-44b6-11e9-a384-b1f45948a767)
我认为文档在功能方面并不清楚,谷歌上也没有很清楚的例子......所以我的问题是:
- 我应该在语法中的这两个地方使用什么帐号?
- 我需要在 ACCOUNT_B 账户中创建 SAML IDP 吗?
解决方案
事实上,我认为 SAML 部分让我感到困惑,如果这意味着您绕过退回帐户(ACCOUNT_A)并失去其兴趣和安全目的,则在其他帐户(ACCOUNT_B)中没有可创建的内容。但是您必须使用ACCOUNT_A上的SAML idp来生成凭据,然后允许从 A 切换到 B,就像它在没有委托的情况下工作一样
推荐阅读
- c# - 在 C# 中的一个线程上读取流并在另一个线程上写入流
- node.js - 当我在 React 中开发前端时,我应该考虑/考虑/管理 Node 服务器中的内存消耗吗?
- python - python lambda根据现有列增加值
- java - 具有 Java BigDecimal 类型的 Avro
- python - 具有混合输入数据的功能 API。得到这个错误: AttributeError: 'tuple' object has no attribute 'ndim'
- amazon-web-services - returning JSON response from AWS Glue Pythonshell job to the boto3 caller
- python - 如何在读取两个输入文件时多次运行python脚本
- android - Google Play 64 位要求 App bundle 更新失败
- node.js - Nodejs 的授权 SSL
- python - 为什么我的 excel 文件在被 Panda's 更新时会跳到 0 Kb?