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

现在,您可以使用Amazon SDK for Java 2.x 中的Amazon S3传输管理器(开发者预览版)来加速文件传输。试一试,让我们知道你的想法

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

配置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服务。