AWS CLI假定角色,后跟其他命令

时间:2020-11-10 13:21:51

标签: amazon-web-services aws-cli

我想做类似的事情

aws sts assume-role ... 
aws s3 ... --profile (assumed role from above command)

是否有一种很好的方法来获取assume-role的输出,该输出的格式可以方便地用于后续的AWS CLI命令中?

1 个答案:

答案 0 :(得分:2)

我不知道AWS提供的机制来获取aws sts assume-role的输出并将其保存到您的环境变量中或作为~/.aws/credentials中的配置文件。

但是,每次调用awscli时,您只需担当角色。每次都会生成新的凭据,但是根据我的经验,这不是问题。例如,在~/.aws/config中:

[profile qa]
region = us-east-1
role_arn=arn:aws:iam::123456789012:role/s3-ec2-readonly
source_profile=wrschneider

~/.aws/credentials中:

[wrschneider]
aws_access_key_id = abc
aws_secret_access_key = xyz

然后您可以使用假定的角色进行调用,如下所示:

  • aws s3 ls --profile qa
  • aws ec2 describe-instances --profile qa

或者只是在您的环境中设置/导出AWS_PROFILE=qa并运行:

  • aws s3 ls
  • aws ec2 describe-instances

如果您不喜欢该选项,则有一些第三方选项会将STS凭据推送到您的环境中: