将 IAM 角色用于直接调用 Amazon 服务的应用程序 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

将 IAM 角色用于直接调用 Amazon 服务的应用程序

在集群的 EC2 实例上运行的应用程序可以在调用 Amazon 服务时使用 EC2 实例配置文件获取临时安全证书。

Amazon EMR 版本 2.3.0 和更高版本上的 Hadoop 版本已经过更新,可以使用 IAM 角色。如果您的应用程序严格在 Hadoop 架构之上运行,并且不直接调用任何服务 Amazon,则它应该无需修改即可与 IAM 角色配合使用。

如果您的应用程序 Amazon 直接调用服务,则需要对其进行更新以利用 IAM 角色。这意味着,您的应用程序现在不是从集群中 EC2 实例上的 /etc/hadoop/conf/core-site.xml 获取账户凭证,而是使用 SDK 以 IAM 角色访问资源,或调用 EC2 实例元数据以获取临时凭证。

使用软件开发工具包通过 IAM 角色访问 Amazon 资源
从 EC2 实例元数据中获取临时凭证
  • 从使用指定 IAM 角色运行的 EC2 实例调用以下 URL,该实例会返回关联的临时安全证书(AccessKeyId SecretAccessKey、 SessionToken、和到期)。以下示例使用 Amazon EMR 的默认实例配置文件 EMR_EC2_DefaultRole

    GET http://169.254.169.254/latest/meta-data/iam/security-credentials/EMR_EC2_DefaultRole

有关编写使用 IAM 角色的应用程序的更多信息,请参阅授予在 Amazon EC2 实例上运行的应用程序访问 Amazon 资源的权限。

有关临时安全凭证的更多信息,请参阅《使用临时安全凭证》指南中的使用临时安全凭证