本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为配置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。
-
打开 IAM 控制台
。 -
在导航窗格中,选择 Ro les。
-
在 “选择可信实体” 页面上,选择Amazon Web Service。在 Use case(使用案例)下,选择 EC2。选择下一步。
-
在添加权限页面上,Amazon S3ReadOnlyAccess从权限策略列表中选择,然后选择下一步。
输入角色的名称,然后选择角色。注意这个名字。您需要它来启动您的Amazon EC2实例。
启动 EC2 实例,然后指定到 IAM 实例,然后指定角色。
要使用控制台启动具有 IAM 角色的 Amazon EC2 实例,请按照《适用于 Linux 实例的 Amazon EC2 用户指南》中的说明操作。
注意
您需要创建或使用现有安全组和密钥对才能连接到该实例。
通过此IAM操作和Amazon EC2设置,您可以将应用程序部署到该Amazon EC2实例,该实例将具有读取权限Amazon S3。