如何在不公开API凭据的情况下访问DynamoDB表

时间:2016-01-26 06:50:45

标签: amazon-iam amazon-cloudformation

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

1 个答案:

答案 0 :(得分: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实例期间指定角色:

EC2 Instance Launch using AWS Console, specifying IAM role

有关详细信息,请参阅Using Instance Profiles和“使用Amazon EC2的角色所需的权限”#39;在AWS IAM User Guide的第190页。