

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

# Amazon EMR 的 EC2 实例配置文件
<a name="emr-ranger-iam-ec2"></a>

Amazon EMR 使用 IAM 服务角色代表您执行操作以预置和管理集群。集群 EC2 实例的服务角色（又称为 Amazon EMR 的 EC2 实例配置文件）是一种特殊类型的服务角色，在启动时分配给集群中的每个 EC2 实例。

要定义 EMR 集群与 Amazon S3 数据以及受 Apache Ranger 和其他 AWS 服务保护的 Hive 元数据仓交互的权限，请定义一个自定义 EC2 实例配置文件来代替启动集群时使用。`EMR_EC2_DefaultRole`

有关更多信息，请参阅[集群 EC2 实例（EC2 实例配置文件）的服务角色](emr-iam-role-for-ec2.md)和[使用 Amazon EMR 自定义 IAM 角色](emr-iam-roles-custom.md)。

您需要将以下语句添加到 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 策略的范围限制为仅提供所需的证书。