是否可以在每个请求中以如下方式提供凭据
aws sns create-topic my_topic --ACCESS-KEY XXXX --SECRET-KEY XXXX
而不是在我打电话之前做aws configure
。
我知道凭据管理可以通过使用--profile
(如使用多个配置文件(来完成,但这需要我保存凭据,而我无法做到这一点。我依靠用户为我提供密钥作为参数输入。可能吗?
我相信最接近您正在寻找的选项是在调用 AWS CLI 之前将凭证设置为环境变量。
一种选择是导出控制凭据的环境变量,然后调用所需的 CLI。以下内容在bash
中对我有用:
$ export AWS_ACCESS_KEY_ID=AKIXXXXXXXXXXXXXXXX AWS_SECRET_ACCESS_KEY=YhTYxxxxxxxxxxxxxxVCSi; aws sns create-topic my_topic
您可能还想查看: 配置设置和优先级
还有另一种方法。只需运行以下命令,而不是"导出":
AWS_ACCESS_KEY_ID=AAAA AWS_SECRET_ACCESS_KEY=BBB aws ec2 describe-regions
这将确保仅为命令设置凭据。
最好的办法是使用 IAM Role for Amazon ec2 实例。这样,您根本不需要担心凭据。此外,它们的密钥将定期轮换。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html