

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# IAM role untuk integrasi alami dengan Apache Ranger
<a name="emr-ranger-iam"></a>

Integrasi antara Amazon EMR dan Apache Ranger bergantung pada tiga peran kunci yang harus Anda buat sebelum Anda meluncurkan klaster Anda:
+ Profil instans Amazon EC2 kustom untuk Amazon EMR
+ IAM role untuk Mesin Apache Ranger
+ Peran IAM untuk layanan lain AWS 

Bagian ini memberikan gambaran umum peran ini dan kebijakan yang perlu Anda sertakan untuk setiap IAM role. Untuk informasi tentang membuat peran, lihat [Siapkan server Admin Ranger untuk diintegrasikan dengan Amazon EMR](emr-ranger-admin.md).

# Profil instans EC2 untuk Amazon EMR
<a name="emr-ranger-iam-ec2"></a>

Amazon EMR menggunakan peran layanan IAM untuk melakukan tindakan atas nama Anda untuk menyediakan dan mengelola klaster. Peran layanan untuk instans EC2 klaster, juga disebut profil instans EC2 untuk Amazon EMR, adalah tipe khusus dari peran layanan yang ditugaskan untuk setiap instans EC2 di sebuah klaster pada peluncuran.

Untuk menentukan izin interaksi klaster EMR dengan data Amazon S3 dan metastore Hive yang dilindungi oleh Apache Ranger dan layanan AWS lainnya, tentukan profil instans EC2 kustom yang akan digunakan, bukan saat Anda meluncurkan klaster. `EMR_EC2_DefaultRole`

Untuk informasi selengkapnya, lihat [Peran layanan untuk instans EC2 klaster (profil instans EC2)](emr-iam-role-for-ec2.md) dan [Sesuaikan peran IAM dengan Amazon EMR](emr-iam-roles-custom.md).

Anda perlu menambahkan pernyataan berikut ke Profil Instans EC2 default untuk Amazon EMR agar dapat menandai sesi dan mengakses yang menyimpan sertifikat AWS Secrets Manager TLS.

```
    {
      "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>*"
        ]
    }
```

**catatan**  
Untuk izin Secrets Manager, jangan lupa wildcard ("\$1") di akhir nama rahasia atau permintaan Anda akan gagal. Wildcard adalah untuk versi rahasia.

**catatan**  
Batasi ruang lingkup AWS Secrets Manager kebijakan hanya untuk sertifikat yang diperlukan untuk penyediaan.

# IAM role untuk Apache Ranger
<a name="emr-ranger-iam-ranger"></a>

Peran ini memberikan kredensyal untuk mesin eksekusi tepercaya, seperti Apache Hive dan Amazon EMR Record Server untuk mengakses data Amazon S3. Gunakan hanya peran ini untuk mengakses data Amazon S3, termasuk kunci KMS, jika Anda menggunakan SSE-KMS S3.

Peran ini harus dibuat dengan kebijakan minimum yang dinyatakan di contoh berikut.

------
#### [ 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/*"
      ]
    }
  ]
}
```

------

**penting**  
Tanda bintang “\$1” di akhir Sumber Daya CloudWatch Log harus disertakan untuk memberikan izin menulis ke aliran log.

**catatan**  
Jika Anda menggunakan tampilan konsistensi EMRFS atau enkripsi S3-SSE, Anda perlu menambahkan izin ke tabel DynamoDB dan kunci KMS sehingga mesin eksekusi dapat berinteraksi dengan mesin tersebut.

IAM role untuk Apache Ranger diasumsikan oleh Peran Profil Instans EC2. Gunakan contoh berikut untuk membuat kebijakan kepercayaan yang mengizinkan IAM role untuk Apache Ranger diasumsikan oleh peran profil instans EC2.

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

# Peran IAM untuk AWS layanan lain untuk integrasi Amazon EMR
<a name="emr-ranger-iam-other-AWS"></a>

Peran ini memberi pengguna yang bukan mesin eksekusi tepercaya kredensyal untuk berinteraksi dengan AWS layanan, jika diperlukan. Jangan gunakan IAM role ini untuk mengizinkan akses ke data Amazon S3, kecuali itu adalah data yang harus dapat diakses oleh semua pengguna.

Peran ini akan diasumsikan oleh Peran Profil Instans EC2. Gunakan contoh berikut untuk membuat kebijakan kepercayaan yang mengizinkan IAM role untuk Apache Ranger diasumsikan oleh peran profil instans EC2.

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

# Validasi izin Anda untuk integrasi Amazon EMR dengan Apache Ranger
<a name="emr-ranger-iam-validate"></a>

Lihat [Penyelesaian masalah Apache Ranger](emr-ranger-troubleshooting.md) untuk petunjuk tentang memvalidasi izin.