【发布时间】:2021-08-31 09:31:20
【问题描述】:
需要通过 AWS CLI 访问跨账户 EC2 描述/启动实例 API,而无需在“aws configure”中配置访问/密钥。
【问题讨论】:
-
您能告诉我们更多您的需求吗?例如,您从哪里运行此命令?为什么不想使用
aws configure?你真的有一套 AWS 凭证吗?
标签: amazon-web-services amazon-ec2 aws-cli
需要通过 AWS CLI 访问跨账户 EC2 描述/启动实例 API,而无需在“aws configure”中配置访问/密钥。
【问题讨论】:
aws configure?你真的有一套 AWS 凭证吗?
标签: amazon-web-services amazon-ec2 aws-cli
假设您为一个帐户存储了默认凭据(我们称之为 dev),但您想通过此帐户在另一个帐户(我们称之为 prod)中的实例上运行 EC2 描述/启动实例 API,而无需配置您的产品凭据。
为此,您将使用 IAM 角色,该角色具有您的 Prod 账户所需的 EC2:describeInstance 访问权限。您的开发账户中经过身份验证的用户将通过对 STS:AssumeRole 的 API 调用在 Prod 账户中担任特权 IAM 角色。此 API 调用将返回 Dev 用户的 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 中,最好的方法是使用附加到具有目标 ec2 权限 ec2:StartInstances 和 ec2:DescribeInstances 的实例的 IAM 角色。
【讨论】: