【问题标题】:how to generate Access key & secret key for AWS roles如何为 AWS 角色生成访问密钥和密钥
【发布时间】:2018-06-24 17:40:32
【问题描述】:

我想使用 PowerShell 管理我的 AWS 环境。我们通过 IAM 角色获得访问权限。我在为我的 IAM 角色生成访问密钥和密钥时遇到了麻烦。有人可以指导我如何生成这些密钥。

【问题讨论】:

    标签: amazon-web-services amazon-iam


    【解决方案1】:

    根据 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

    【讨论】:

    • 请在您的答案中添加一些解释,以便其他人可以从中学习
    【解决方案2】:

    IAM 角色只能由 IAM 用户 使用。这是因为用户需要向 AWS 进行身份验证以证明他们是该用户。然后,这将提供 IAM 用户凭证。

    如果您随后希望使用某个角色,您可以使用用户凭据调用Use-STSRole,这将代入该角色并返回一组与该角色关联的凭据。 (注意:凭据将在一段时间后过期,通常为一小时。)

    更多详情请见:Switching to an IAM Role (Tools for Windows PowerShell)

    【讨论】:

    • 当我使用这个命令时,它给出了以下错误: Use-STSRole : 没有指定或从持久化/shell默认值获取凭据。
    • 正确。您需要提供 IAM 用户的凭证才能调用该函数。否则,世界上任何人都可以这样做并获得对系统的访问权限。仅仅拥有一个角色是不够的,除非您直接在 EC2 实例上运行。
    【解决方案3】:

    您不会为角色生成 IAM 访问密钥/秘密密钥。 AWS 为您生成这些,并在实例的元数据中提供它们。

    如果您正确安装了 PowerShell 和 AWS 工具,适用于 Windows PowerShell 的 AWS 工具将自动从实例的元数据中提取访问密钥/秘密密钥。

    此链接将提供有关 PowerShell 和 IAM 角色的更多信息:

    IAM Roles for EC2

    [新评论后更新]

    如果您的目标是为新用户生成 IAM 访问密钥,请登录 AWS 控制台,转到 IAM,转到用户,添加用户,单击“编程访问”,然后为用户设置权限并完成创建用户。在下一个屏幕上将是访问键。您需要下载(或复制)秘密访问密钥,因为它不会再次显示。

    对于现有用户,单击该用户,单击“安全凭据”选项卡,然后单击“创建访问密钥”按钮。复制或下载密钥。注意:您无法访问以前创建的访问密钥。如果您丢失了秘密访问密钥,那么您必须生成新的。

    Managing Access Keys for Your AWS Account

    【讨论】:

    • 嗨,John,我们正在尝试从本地计算机连接 AWS。我们是一个 LDAP 目录组的成员,通过该目录组可以访问 AWS 控制台。我们将需要访问密钥和秘密来连接到 AWS。请指导我如何逐步生成这些密钥。
    猜你喜欢
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    相关资源
    最近更新 更多