如何使用凭据配置文件登录AWS CLI

Jan*_*ala 4 authentication command-line-interface amazon-web-services aws-cli amazon-ecr

我想设置多个AWS配置文件,以便在项目之间跳转时可以轻松更改设置和凭据.

我已经阅读了AWS文档,但是关于如何选择登录时要使用的配置文件非常模糊.

当我尝试登录时,它只是给我这个错误,这似乎表明它没有拿起任何凭据.

An error occurred (UnrecognizedClientException) when calling the GetAuthorizationToken operation: The security token included in the request is invalid.

Jan*_*ala 31

要为AWS登录设置多个配置文件,您需要执行以下操作:

  1. 使用访问密钥设置凭证文件
  2. 设置配置文件的默认设置(可选)
  3. 设置AWS_PROFILE环境变量
  4. 删除以前的AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY

1:〜/ .aws /凭证

[default]
aws_access_key_id =
aws_secret_access_key =

[cat]
aws_access_key_id = XXXX
aws_secret_access_key = XXXXXXXXXXXX

[dog]
aws_access_key_id = XXXX
aws_secret_access_key = XXXXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)

2:〜/ .aws/config

[default]
region = eu-central-1

[profile cat]
region = us-west-2

[profile dog]
region = ap-northeast-1
Run Code Online (Sandbox Code Playgroud)

3.选择个人资料

选定的配置文件由$AWS_PROFILE环境变量确定.在bash中,这可以~\.bash_profile通过添加一行来完成export AWS_PROFILE="cat".要在当前终端中切换配置文件,请键入AWS_PROFILE=dog.

4.删除全局设置

您还需要确保环境变量AWS_ACCESS_KEY_ID并且AWS_SECRET_ACCESS_KEY 未设置,因为aws-cli将优先于配置文件上的那些变量.

运行

然后,您可以登录到您选择的AWS服务.查看当前正在使用的配置文件echo $AWS_PROFILE.ECR登录的示例命令是$(aws ecr get-login)

调试

如果您仍然遇到问题,可以添加--debug标志以查看它用于命令的凭据.

  • 很棒的答案!您还可以使用`--profile <name>`在CLI命令上覆盖配置文件. (3认同)