【发布时间】:2018-06-24 17:40:32
【问题描述】:
我想使用 PowerShell 管理我的 AWS 环境。我们通过 IAM 角色获得访问权限。我在为我的 IAM 角色生成访问密钥和密钥时遇到了麻烦。有人可以指导我如何生成这些密钥。
【问题讨论】:
标签: amazon-web-services amazon-iam
我想使用 PowerShell 管理我的 AWS 环境。我们通过 IAM 角色获得访问权限。我在为我的 IAM 角色生成访问密钥和密钥时遇到了麻烦。有人可以指导我如何生成这些密钥。
【问题讨论】:
标签: amazon-web-services amazon-iam
根据 AWS Doc 有一种通过 API 的方法:
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" –v http://169.254.169.254/latest/meta-data/iam/security-credentials/*role_name*
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
【讨论】:
IAM 角色只能由 IAM 用户 使用。这是因为用户需要向 AWS 进行身份验证以证明他们是该用户。然后,这将提供 IAM 用户凭证。
如果您随后希望使用某个角色,您可以使用用户凭据调用Use-STSRole,这将代入该角色并返回一组与该角色关联的凭据。 (注意:凭据将在一段时间后过期,通常为一小时。)
更多详情请见:Switching to an IAM Role (Tools for Windows PowerShell)
【讨论】:
您不会为角色生成 IAM 访问密钥/秘密密钥。 AWS 为您生成这些,并在实例的元数据中提供它们。
如果您正确安装了 PowerShell 和 AWS 工具,适用于 Windows PowerShell 的 AWS 工具将自动从实例的元数据中提取访问密钥/秘密密钥。
此链接将提供有关 PowerShell 和 IAM 角色的更多信息:
[新评论后更新]
如果您的目标是为新用户生成 IAM 访问密钥,请登录 AWS 控制台,转到 IAM,转到用户,添加用户,单击“编程访问”,然后为用户设置权限并完成创建用户。在下一个屏幕上将是访问键。您需要下载(或复制)秘密访问密钥,因为它不会再次显示。
对于现有用户,单击该用户,单击“安全凭据”选项卡,然后单击“创建访问密钥”按钮。复制或下载密钥。注意:您无法访问以前创建的访问密钥。如果您丢失了秘密访问密钥,那么您必须生成新的。
【讨论】: