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

您现在可以使用Amazon S3转移经理(开发人员预览版)中的Amazon SDK for Java2.x 用于加速文件传输。试试一下然后告诉我们您的想法

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

配置IAM适用于 的 角色Amazon EC2

对的所有请求Amazon必须使用由Amazon. 您可以使用 IAM角色以便方便地授予安全访问Amazon资源来自Amazon EC2实例。

本主题介绍如何将 IAM 角色用于 Amazon EC2 上运行的Amazon SDK for Java应用程序。有关 的更多信息IAM实例,请参阅IAM适用于 的 角色Amazon EC2中的Amazon EC2适用于 Linux 实例的用户指南。

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

如果您的应用程序创建Amazon客户端使用create方法时,客户端会使用默认凭据提供程序链,按以下顺序执行:

  1. Java 系统属性:aws.accessKeyIdaws.secretAccessKey

  2. 系统环境变量:AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY

  3. 默认凭证文件 (在不同平台上该文件位于不同位置)。

  4. 在 Amazon ECS 环境变量中:AWS_CONTAINER_CREDENTIALS_RELATIVE_URI

  5. 实例配置文件凭证,这些元数据存在于与IAM角色Amazon EC2实例。

仅当在 Amazon EC2 实例上运行您的应用程序时,默认提供程序链中的最终步骤才可用。但是,当与 Amazon EC2 实例一起使用时,它将提供最大的易用性和最高安全性。您还可以将 InstanceProfileCredentialsProvider 实例直接传递给客户端构造函数,这样无需执行整个默认提供程序链即可获取实例配置文件凭证。

例如:

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

当您使用此方法时,SDK 会检索临时Amazon凭据,这些凭据具有相同权限与IAM角色,该角色与Amazon EC2实例在其实例配置文件中。虽然这些证书是临时性的, 最终会过期,InstanceProfileCredentialsProvider定期为您刷新它们,以便获得的凭证可继续访问Amazon.

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

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

创建 IAM 角色

创建IAM角色授予对的只读访问权的Amazon S3.

  1. 打开 IAM 控制台

  2. 在导航窗格中,选择角色,然后选择创建新角色

  3. 在存储库的选择角色类型页面,在 Amazon Web Service角色中,选择 Amazon EC2 .

  4. 在存储库的附加策略页面上,选择 Amazon S3只读访问权限,然后从策略列表中选择下一步.

    输入角色名称,然后选择 Next Step。请记住此名称,
    • 因为在启动 Amazon EC2 实例时会用到它。

  5. Review 页面上,选择 Create Role

启动 EC2 实例并指定您的 IAM 角色

您可通过 Amazon EC2 控制台,使用 IAM 角色启动 Amazon EC2 实例。

要启动Amazon EC2实例,请按照入门Amazon EC2Linux 实例中的Amazon EC2适用于 Linux 实例的用户指南。

到达核查实例启动页面时,选择编辑实例详细信息。In IAM角色中,选择IAM角色。按指示完成该过程。

注意

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

有了这个IAM和Amazon EC2安装程序,您可将应用程序部署到Amazon EC2实例,并且它将具有对Amazon S3服务。