我们使用CloudFormation部署我们的平台。这是一种允许应用程序实例访问DynamoDB表而不暴露API凭据的方法吗? 我读到了创建具有正确权限和使用实例配置文件的IAM角色。我该如何实现这一目标?有人可以提供更多详细信息并解释实例配置文件是什么?
答案 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实例期间指定角色:
有关详细信息,请参阅Using Instance Profiles和“使用Amazon EC2的角色所需的权限”#39;在AWS IAM User Guide的第190页。