Amazon EMR
管理指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

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

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

AMI 2.3.0 和更高版本上的 Hadoop 版本已经过更新,可以使用 IAM 角色。如果您的应用程序仅限于在 Hadoop 架构的顶层运行,并不直接调用 AWS 中的任何服务,那么它应使用未做修改的 IAM 角色。

如果您的应用程序在 AWS 中直接调用服务,那么您需要更新该应用程序,以便可以利用 IAM 角色。这意味着,您的应用程序现在不是从集群中 EC2 实例上的 获取账户证书,而是使用软件开发工具包以 IAM 角色访问资源,或调用 EC2 实例元数据以获取临时证书。/etc/hadoop/conf/core-site.xml

使用开发工具包以 IAM 角色访问 AWS 资源

从 EC2 实例元数据中获取临时凭证

  • 从以指定 IAM 角色运行的 EC2 实例调用以下 URL,这将返回关联的临时安全凭证 (AccessKeyId、SecretAccessKey、SessionToken 和 Expiration)。接下来的示例使用 Amazon EMR 的默认实例配置文件 EMR_EC2_DefaultRole

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

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

有关临时安全凭证的更多信息,请参阅 Using Temporary Security Credentials 指南中的使用临时安全凭证