配置临时 aws cli 用户仍然存在默认 cli 用户

configure temp aws cli user still existing a default cli user

如果 .aws/ 路径中已有默认用户,我该如何配置临时 AWS-CLI 用户???如果我可以创建一个临时用户,我可以在不干扰默认用户的情况下测试我的任务!!

您可以按如下方式添加临时用户:

export AWS_ACCESS_KEY_ID=<your AWS_ACCESS_KEY_ID >
export AWS_SECRET_ACCESS_KEY=<your AWS_SECRET_ACCESS_KEY>
export AWS_REGION=<your AWS_REGION>

设置这些值后,您将能够看到类似如下内容:

{
    "Account": "2*********4", 
    "UserId": "A*****************V", 
    "Arn": "arn:aws:iam::275*******04:user/s3ba*****ser"
}

完成后,再做剩下的事情:

unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
unset AWS_REGION

您可以使用如下配置文件:

$ aws ec2 describe-instances --profile user1

查看 aws 文档 here

您可以使用 AWS CLI named profiles:

  1. 创建名为 temp 的新配置文件,提供您的临时 CLI 用户凭据:
$ aws configure --profile temp
AWS Access Key ID [None]: xxxxxxxxxxxxx
AWS Secret Access Key [None]: yyyyyyyyyyyyy
Default region name [None]: eu-central-1
Default output format [None]: json
  1. 使用新创建的配置文件:
$ aws s3 ls --profile temp

在每个 AWS 调用中指定 --profile temp 并不方便,因此请考虑以下任一方法:

  • 在名为 AWS_PROFILE:
  • 的环境变量中指定配置文件
$ export AWS_PROFILE=temp
$ aws s3 ls

$ export AWS_PROFILE=another-profile
$ aws s3 ls
  • 使用像 awsp 这样的配置文件切换器工具。使用它切换配置文件 (users/roles) 就像:
$ awsp temp
$ aws s3 ls

$ awsp another-profile
$ awsho
$ aws s3 ls

awsp 的好处是它支持自动完成,即使不记住您的个人资料名称,您也可以轻松地在个人资料之间切换。如果要查看当前配置文件,请使用:

$ awswho
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                    temp              env    ['AWS_PROFILE', 'AWS_DEFAULT_PROFILE']
access_key     ****************DHGY             shared-credentials-file
secret_key     ****************O2pq             shared-credentials-file
    region                eu-central-1      config-file    ~/.aws/config