本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon EMR 使用 IAM 服务角色代表您执行操作以预置和管理集群。集群 EC2 实例的服务角色(也称为 Amazon EMR 的EC2 实例配置文件)是一种特殊类型的服务角色,在启动时分配给集群中的每个 EC2 实例。
要定义 EMR 集群与 Amazon S3 数据以及受 Apache Ranger 和其他 AWS 服务保护的 Hive 元数据仓交互的权限,请定义一个自定义 EC2 实例配置文件来代替启动集群时使用。EMR_EC2_DefaultRole
有关更多信息,请参阅集群 EC2 实例的服务角色(EC2实例配置文件) 和使用 Amazon EMR 自定义 IAM 角色。
您需要将以下语句添加到 Amazon EMR 的默认 EC2 实例配置文件中,才能标记会话并访问存储 TLS AWS Secrets Manager 证书的。
{ "Sid": "AllowAssumeOfRolesAndTagging", "Effect": "Allow", "Action": ["sts:TagSession", "sts:AssumeRole"], "Resource": [ "arn:aws:iam::
<AWS_ACCOUNT_ID>
:role/<RANGER_ENGINE-PLUGIN_DATA_ACCESS_ROLE_NAME>
", "arn:aws:iam::<AWS_ACCOUNT_ID>
:role/<RANGER_USER_ACCESS_ROLE_NAME>
" ] }, { "Sid": "AllowSecretsRetrieval", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:<REGION>
:<AWS_ACCOUNT_ID>
:secret:<PLUGIN_TLS_SECRET_NAME>
*", "arn:aws:secretsmanager:<REGION>
:<AWS_ACCOUNT_ID>
:secret:<ADMIN_RANGER_SERVER_TLS_SECRET_NAME>
*" ] }
注意
对于 Secrets Manager 权限,不要忘记密钥名称末尾的通配符(“*”),否则您的请求将失败。通配符用于密钥版本。
注意
将 AWS Secrets Manager 策略的范围限制为仅提供所需的证书。