将环境变量凭证用于 source_profile 和 AWS CLI

Gar*_*aid 1 amazon-web-services aws-cli

我有 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
Run Code Online (Sandbox Code Playgroud)

有什么方法可以让我在 ~/.aws/credentials 中获得一个命名配置文件来引用我的环境变量凭据而不是静态凭据?

Gar*_*aid 5

事实证明这非常简单(在文档中不是很明显)。不使用 source_profile,而是使用 credential_source:

[profile dev]
credential_source = Environment
role_arn = arn:aws:iam::<account_id>:role/Admin
Run Code Online (Sandbox Code Playgroud)

注意:在这种情况下,角色“管理员”是一个示例。您需要将其更新为您创建的任何跨账户角色。同样,“dev”是我配置中的一个示例配置文件。

来源:https : //docs.aws.amazon.com/cli/latest/topic/config-vars.html