

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

# 向 Amazon EMR 实例 AWS Secrets Manager 角色添加权限
<a name="ldap-setup-asm"></a>

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

为定义 EMR 集群与 Amazon S3 数据和其他 AWS 服务交互的权限，您应该定义一个自定义 Amazon EC2 实例配置文件而不是 `EMR_EC2_DefaultRole`，以在启动集群时使用。有关更多信息，请参阅[集群 EC2 实例（EC2 实例配置文件）的服务角色](emr-iam-role-for-ec2.md)和[使用 Amazon EMR 自定义 IAM 角色](emr-iam-roles-custom.md)。

将以下语句添加到默认 EC2 实例配置文件中，以允许 Amazon EMR 标记会话并访问存储 LDAP 证书 AWS Secrets Manager 的会话。

```
    {
      "Sid": "AllowAssumeOfRolesAndTagging",
      "Effect": "Allow",
      "Action": ["sts:TagSession", "sts:AssumeRole"],
      "Resource": [
        "arn:aws:iam::111122223333:role/LDAP_DATA_ACCESS_ROLE_NAME",
        "arn:aws:iam::111122223333:role/LDAP_USER_ACCESS_ROLE_NAME"
      ]
    },
    {
        "Sid": "AllowSecretsRetrieval",
        "Effect": "Allow",
        "Action": "secretsmanager:GetSecretValue",
        "Resource": [
            "arn:aws:secretsmanager:us-east-1:111122223333:secret:LDAP_SECRET_NAME*",
            "arn:aws:secretsmanager:us-east-1:111122223333:secret:ADMIN_LDAP_SECRET_NAME*"
        ]
    }
```

**注意**  
如果您在设置 Secrets Manager 权限时忘记了密钥名称末尾的通配符 `*` 字符，集群请求将失败。通配符代表密钥版本。  
您还应将 AWS Secrets Manager 策略的范围限制为仅限于您的集群配置实例所需的证书。