我有 2 个 AWS 账户,并使用 IAM 角色设置了跨账户身份验证。
我为第二个账户创建了一个名为 profile 的 AWS CLI,它使用 role_arn 并将我的默认配置文件指定为 source_profile。
对于我的默认配置文件,我将 KEY 和 SECRET 保存为环境变量,而不是 ~/.aws/credentials 文件中的静态字符串。
但是,当我切换到命名配置文件并查询 API 时,出现以下错误:
The source_profile "default" must specify either static credentials or an assume role configuration
有什么方法可以让我获取一个命名配置文件来引用我的环境变量凭证而不是 ~/.aws/credentials 中的静态凭证?
答案1
事实证明这非常简单(在文档中不是很明显)。您可以使用 credential_source,而不是 source_profile:
[profile dev]
credential_source = Environment
role_arn = arn:aws:iam::<account_id>:role/Admin
注意:在本例中,角色“Admin”是一个示例。您需要将其更新为您创建的任何跨帐户角色。同样,“dev”是我的配置中的一个示例配置文件。
来源:https://docs.aws.amazon.com/cli/latest/topic/config-vars.html