【问题标题】:How to access DynamoDB tables without exposing API credentials如何在不暴露 API 凭证的情况下访问 DynamoDB 表
【发布时间】:2016-05-02 16:35:32
【问题描述】:

我们使用 CloudFormation 来部署我们的平台。这是一种允许应用程序实例访问 DynamoDB 表而不暴露 API 凭据的方法吗? 我阅读了有关创建具有正确权限和使用实例配置文件的 IAM 角色的信息。我如何实现这一目标?有人可以提供更多详细信息并解释什么是实例配置文件吗?

【问题讨论】:

    标签: amazon-iam amazon-cloudformation


    【解决方案1】:

    根据 AWS IAM 文档,实例配置文件是:

    实例配置文件是 IAM 角色的容器,您可以在实例启动时将角色信息传递给 EC2 实例。

    因此,这是 AWS 提供的一项功能,因此 IAM 凭证不必存储在 EC2 实例中即可执行 AWS API。此外,此功能有助于仅将所需 IAM 角色中指定的权限授予 EC2 实例。此外,您可以在多个实例上使用相同的实例配置文件。这样,您不必在每次更改凭证时更新每个 EC2 实例上的凭证。因此,在启动 EC2 实例时,您可以指定实例配置文件。实例配置文件附加到 IAM 角色。 EC2 实例将获得 IAM 角色和所有 IAM 凭证。您只需在使用 API 之前设置 AWS 区域。

    怎么做
    1) 使用以下命令创建 IAM 角色:create-role
    2) 使用:create-instance-profile 创建实例配置文件。此步骤的输出将包含实例配置文件的 Arn。这需要在第 4 步中使用。
    3) 使用以下命令将角色添加到实例配置文件:add-role-to-instance-profile
    4) 使用run-instances 启动实例。指定 --iam-instance-profile 选项如下:

    --iam-instance-profile Arn=instanceArn
    

    instanceArn 是从第 2 步得到的。

    同样可以使用 AWS 控制台来实现。下面的屏幕截图显示了如何在 EC2 实例启动期间指定角色:

    有关更多详细信息,请参阅Using Instance ProfilesAWS IAM User Guide 第 190 页的“将角色与 Amazon EC2 一起使用所需的权限”部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      • 2019-07-13
      • 1970-01-01
      • 1970-01-01
      • 2018-05-12
      相关资源
      最近更新 更多