为配置IAM角色Amazon EC2 - Amazon SDK for Java 2.x
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为配置IAM角色Amazon EC2

您可以使用 IAM 角色管理在 EC2 实例上运行并发出 Amazon CLI 或 Amazon API 请求的应用程序的临时凭证。这优先于在 EC2 实例中存储访问密钥。要将 Amazon 角色分配给 EC2 实例并使其对该实例的所有应用程序可用,您可以创建一个附加到实例的实例配置文件。实例配置文件包含角色,并使 EC2 实例上运行的程序能够获得临时凭证。有关更多信息,请参阅 IAM 用户指南中的使用 IAM 角色为 Amazon EC2 实例上运行的应用程序授予权限

本主题介绍如何将 IAM 角色用于 Amazon EC2 上运行的Amazon SDK for Java应用程序。

默认提供商链和Amazon EC2实例配置文件

如果您的应用程序使用该create方法创建Amazon客户端,则该客户端将使用默认证书提供者链搜索临时证书,如默认凭证提供者链部分所述。

仅当在 Amazon EC2 实例上运行您的应用程序时,默认提供程序链中的最终步骤才可用。但是,它在使用Amazon EC2实例时提供了更好的易用性和安全性。您也可以将InstanceProfileCredentialsProvider实例直接传递给客户端构造函数以获取实例配置文件证书,而无需遍历整个默认提供者链。

在以下示例中说明了这一点:

S3Client s3 = S3Client.builder() .credentialsProvider(InstanceProfileCredentialsProvider.builder().build()) .build();

当您使用此方法时,SDK 会检索临时Amazon证书,这些证书的权限与其实例配置文件中与与该Amazon EC2实例关联的IAM角色关联的权限相同。尽管这些证书是临时凭证并且最终会过期,但会InstanceProfileCredentialsProvider定期为您刷新它们,以便它们继续允许访问Amazon。

演练:将 IAM 角色用于 EC2 实例

本演练将介绍如何使用 IAM 角色从 Amazon S3 中检索对象以管理访问。

创建 IAM 角色

创建一个IAM角色,该角色授予只读访问权限Amazon S3。

  1. 打开 IAM 控制台

  2. 在导航窗格中,选择 Ro les

  3. “选择可信实体” 页面上,选择Amazon Web Service。在 Use case(使用案例)下,选择 EC2。选择下一步

  4. 添加权限页面上,Amazon S3ReadOnlyAccess从权限策略列表中选择,然后选择下一步

    输入角色的名称,然后选择角色。注意这个名字。您需要它来启动您的Amazon EC2实例。

启动 EC2 实例,然后指定到 IAM 实例,然后指定角色。

要使用控制台启动具有 IAM 角色的 Amazon EC2 实例,请按照《适用于 Linux 实例的 Amazon EC2 用户指南》中的说明操作。

注意

您需要创建或使用现有安全组和密钥对才能连接到该实例。

通过此IAM操作和Amazon EC2设置,您可以将应用程序部署到该Amazon EC2实例,该实例将具有读取权限Amazon S3。