AWS CLI,无需配置访问/密钥



需要通过AWS CLI访问跨帐户EC2描述/启动实例API,而无需在";aws配置";。

假设您为一个帐户存储了默认凭据(让我们称之为dev(,但您希望通过该帐户在另一个帐户中的实例上运行EC2-descripte/start实例API(让我们将其称为prod(,而无需配置prod凭据。

要实现这一点,您将使用IAM角色,该角色在您的Prod帐户中具有所需的EC2:describeInstance访问权限。您的开发帐户中经过身份验证的用户将在Prod帐户中担任特权IAM角色,并通过API调用STS:AsseumeRole。此API调用将返回临时安全凭据,开发人员用户的AWS CLI将自动使用这些凭据访问Prod帐户中的资源。

您可以通过环境变量临时设置凭据。如果您打包这是一个bash脚本,那么它们只会持续执行。

#!/bin/bash
export AWS_ACCESS_KEY_ID=***
export AWS_SECRET_ACCESS_KEY=***
export AWS_DEFAULT_REGION=eu-central-1
aws ec2 <your command>

如果您在ec2的cli中,最好的方法是使用附加到实例的IAM角色,该实例对目标ec2具有ec2:StartInstances和ec2:DescribeInstances权限。

尝试这个

AWS_ACCESS_KEY_ID=YOUR_AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY=YOUR_AWS_ACCESS_KEY_SECRET aws ec2...