

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

# Apache Raner 的 IAM 角色
<a name="emr-ranger-iam-ranger"></a>

此角色为可信执行引擎（例如 Apache Hive 和 Amazon EMR 记录服务器）提供凭证以访问 Amazon S3 数据。如果您使用的是 S3，则只能使用此角色来访问 Amazon S3 数据，包括任何 KMS 密钥 SSE-KMS。

此角色必须使用以下示例中所述的最低策略创建。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CloudwatchLogsPermissions",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:logs:*:123456789012:log-group:CLOUDWATCH_LOG_GROUP_NAME_IN_SECURITY_CONFIGURATION:*"
      ]
    },
    {
      "Sid": "BucketPermissionsInS3Buckets",
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteBucket",
        "s3:ListAllMyBuckets",
        "s3:ListBucket"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket1",
        "arn:aws:s3:::amzn-s3-demo-bucket2"
      ]
    },
    {
      "Sid": "ObjectPermissionsInS3Objects",
      "Action": [
        "s3:GetObject",
        "s3:DeleteObject",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket1/*",
        "arn:aws:s3:::amzn-s3-demo-bucket2/*"
      ]
    }
  ]
}
```

------

**重要**  
必须包含 CloudWatch 日志资源末尾的星号 “\*”，以提供写入日志流的权限。

**注意**  
如果您使用的是 EMRFS 一致性视图或 S3-SSE 加密，请向 DynamoDB 表和 KMS 密钥添加权限，以便执行引擎可以与这些引擎进行交互。

Apache Ranger 的 IAM 角色由 EC2 实例配置文件角色代入。使用以下示例创建一个信任策略，允许 EC2 实例配置文件角色代入 Apache Ranger 的 IAM 角色。

```
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::{{<AWS_ACCOUNT_ID>}}:role/{{<EC2 INSTANCE PROFILE ROLE NAME eg. EMR_EC2_DefaultRole>}}"
      },
      "Action": "sts:AssumeRole"
    }
```