

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

# AWS Identity and Access Management untuk Amazon EMR
<a name="emr-plan-access-iam"></a>

AWS Identity and Access Management (IAM) adalah Layanan AWS yang membantu administrator mengontrol akses ke AWS sumber daya dengan aman. Administrator IAM mengontrol siapa yang dapat *diautentikasi* (masuk) dan *diotorisasi* (memiliki izin) untuk menggunakan sumber daya Amazon EMR. IAM adalah Layanan AWS yang dapat Anda gunakan tanpa biaya tambahan.

**Topics**
+ [Audiens](#security_iam_audience)
+ [Mengautentikasi dengan identitas](#security_iam_authentication)
+ [Mengelola akses menggunakan kebijakan](#security_iam_access-manage)
+ [Cara kerja Amazon EMR dengan IAM](security_iam_service-with-iam.md)
+ [Peran runtime untuk langkah-langkah EMR Amazon](emr-steps-runtime-roles.md)
+ [Konfigurasikan peran layanan IAM untuk izin AWS EMR Amazon ke layanan dan sumber daya](emr-iam-roles.md)
+ [Kebijakan contoh berbasis identitas Amazon EMR.](security_iam_id-based-policy-examples.md)

## Audiens
<a name="security_iam_audience"></a>

Cara Anda menggunakan AWS Identity and Access Management (IAM) berbeda berdasarkan peran Anda:
+ **Pengguna layanan** - minta izin dari administrator Anda jika Anda tidak dapat mengakses fitur (lihat [Memecahkan masalah identitas dan akses EMR Amazon](security_iam_troubleshoot.md))
+ **Administrator layanan** - tentukan akses pengguna dan mengirimkan permintaan izin (lihat [Cara kerja Amazon EMR dengan IAM](security_iam_service-with-iam.md))
+ **Administrator IAM** - tulis kebijakan untuk mengelola akses (lihat [Kebijakan contoh berbasis identitas Amazon EMR.](security_iam_id-based-policy-examples.md))

## Mengautentikasi dengan identitas
<a name="security_iam_authentication"></a>

Otentikasi adalah cara Anda masuk AWS menggunakan kredensyal identitas Anda. Anda harus diautentikasi sebagai Pengguna root akun AWS, pengguna IAM, atau dengan mengasumsikan peran IAM.

Anda dapat masuk sebagai identitas federasi menggunakan kredensyal dari sumber identitas seperti AWS IAM Identity Center (Pusat Identitas IAM), autentikasi masuk tunggal, atau kredensyal. Google/Facebook Untuk informasi selengkapnya tentang cara masuk, lihat [Cara masuk ke Akun AWS Anda](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) dalam *Panduan Pengguna AWS Sign-In *.

Untuk akses terprogram, AWS sediakan SDK dan CLI untuk menandatangani permintaan secara kriptografis. Untuk informasi selengkapnya, lihat [AWS Signature Version 4 untuk permintaan API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) dalam *Panduan Pengguna IAM*.

### Akun AWS pengguna root
<a name="security_iam_authentication-rootuser"></a>

 Saat Anda membuat Akun AWS, Anda mulai dengan satu identitas masuk yang disebut *pengguna Akun AWS root* yang memiliki akses lengkap ke semua Layanan AWS dan sumber daya. Kami sangat menyarankan agar Anda tidak menggunakan pengguna root untuk tugas sehari-hari. Untuk tugas yang memerlukan kredensial pengguna root, lihat [Tugas yang memerlukan kredensial pengguna root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dalam *Panduan Pengguna IAM*. 

### Identitas terfederasi
<a name="security_iam_authentication-federated"></a>

Sebagai praktik terbaik, mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses Layanan AWS menggunakan kredensyal sementara.

*Identitas federasi* adalah pengguna dari direktori perusahaan Anda, penyedia identitas web, atau Directory Service yang mengakses Layanan AWS menggunakan kredensyal dari sumber identitas. Identitas terfederasi mengambil peran yang memberikan kredensial sementara.

Untuk manajemen akses terpusat, kami menyarankan AWS IAM Identity Center. Untuk informasi selengkapnya, lihat [Apa itu Pusat Identitas IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) dalam *Panduan Pengguna AWS IAM Identity Center *.

### Pengguna dan grup IAM
<a name="security_iam_authentication-iamuser"></a>

*[Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* adalah identitas dengan izin khusus untuk satu orang atau aplikasi. Sebaiknya gunakan kredensial sementara alih-alih pengguna IAM dengan kredensial jangka panjang. Untuk informasi selengkapnya, lihat [Mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses AWS menggunakan kredensyal sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) di Panduan Pengguna *IAM*.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) menentukan kumpulan pengguna IAM dan mempermudah pengelolaan izin untuk pengguna dalam jumlah besar. Untuk mempelajari selengkapnya, lihat [Kasus penggunaan untuk pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) dalam *Panduan Pengguna IAM*.

### Peran IAM
<a name="security_iam_authentication-iamrole"></a>

*[Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* adalah identitas dengan izin khusus yang menyediakan kredensial sementara. Anda dapat mengambil peran dengan [beralih dari pengguna ke peran IAM (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) atau dengan memanggil operasi AWS CLI atau AWS API. Untuk informasi selengkapnya, lihat [Metode untuk mengambil peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) dalam *Panduan Pengguna IAM*.

Peran IAM berguna untuk akses pengguna terfederasi, izin pengguna IAM sementara, akses lintas akun, akses lintas layanan, dan aplikasi yang berjalan di Amazon EC2. Untuk informasi selengkapnya, lihat [Akses sumber daya lintas akun di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dalam *Panduan Pengguna IAM*.

## Mengelola akses menggunakan kebijakan
<a name="security_iam_access-manage"></a>

Anda mengontrol akses AWS dengan membuat kebijakan dan melampirkannya ke AWS identitas atau sumber daya. Kebijakan menentukan izin saat dikaitkan dengan identitas atau sumber daya. AWS mengevaluasi kebijakan ini ketika kepala sekolah membuat permintaan. Sebagian besar kebijakan disimpan AWS sebagai dokumen JSON. Untuk informasi selengkapnya tentang dokumen kebijakan JSON, lihat [Gambaran umum kebijakan JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dalam *Panduan Pengguna IAM*.

Menggunakan kebijakan, administrator menentukan siapa yang memiliki akses ke apa dengan mendefinisikan **principal** mana yang dapat melakukan **tindakan** pada **sumber daya** apa, dan dalam **kondisi** apa.

Secara default, pengguna dan peran tidak memiliki izin. Administrator IAM membuat kebijakan IAM dan menambahkannya ke peran, yang kemudian dapat diambil oleh pengguna. Kebijakan IAM mendefinisikan izin terlepas dari metode yang Anda gunakan untuk melakukan operasinya.

### Kebijakan berbasis identitas
<a name="security_iam_access-manage-id-based-policies"></a>

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang Anda lampirkan ke identitas (pengguna, grup, atau peran). Kebijakan ini mengontrol tindakan apa yang bisa dilakukan oleh identitas tersebut, terhadap sumber daya yang mana, dan dalam kondisi apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat [Tentukan izin IAM kustom dengan kebijakan yang dikelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

Kebijakan berbasis identitas dapat berupa *kebijakan inline* (disematkan langsung ke dalam satu identitas) atau *kebijakan terkelola* (kebijakan mandiri yang dilampirkan pada banyak identitas). Untuk mempelajari cara memilih antara kebijakan terkelola dan kebijakan inline, lihat [Pilih antara kebijakan terkelola dan kebijakan inline](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) dalam *Panduan Pengguna IAM*.

### Kebijakan berbasis sumber daya
<a name="security_iam_access-manage-resource-based-policies"></a>

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. Contohnya termasuk *kebijakan kepercayaan peran IAM* dan *kebijakan bucket* Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Anda harus [menentukan principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam kebijakan berbasis sumber daya.

Kebijakan berbasis sumber daya merupakan kebijakan inline yang terletak di layanan tersebut. Anda tidak dapat menggunakan kebijakan AWS terkelola dari IAM dalam kebijakan berbasis sumber daya.

### Jenis-jenis kebijakan lain
<a name="security_iam_access-manage-other-policies"></a>

AWS mendukung jenis kebijakan tambahan yang dapat menetapkan izin maksimum yang diberikan oleh jenis kebijakan yang lebih umum:
+ **Batasan izin** – Menetapkan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas kepada entitas IAM. Untuk informasi selengkapnya, lihat [Batasan izin untuk entitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dalam *Panduan Pengguna IAM*.
+ **Kebijakan kontrol layanan (SCPs)** — Tentukan izin maksimum untuk organisasi atau unit organisasi di AWS Organizations. Untuk informasi selengkapnya, lihat [Kebijakan kontrol layanan](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) dalam *Panduan Pengguna AWS Organizations *.
+ **Kebijakan kontrol sumber daya (RCPs)** — Tetapkan izin maksimum yang tersedia untuk sumber daya di akun Anda. Untuk informasi selengkapnya, lihat [Kebijakan kontrol sumber daya (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) di *Panduan AWS Organizations Pengguna*.
+ **Kebijakan sesi** – Kebijakan lanjutan yang diteruskan sebagai parameter saat membuat sesi sementara untuk peran atau pengguna terfederasi. Untuk informasi selengkapnya, lihat [Kebijakan sesi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dalam *Panduan Pengguna IAM*.

### Berbagai jenis kebijakan
<a name="security_iam_access-manage-multiple-policies"></a>

Ketika beberapa jenis kebijakan berlaku pada suatu permintaan, izin yang dihasilkan lebih rumit untuk dipahami. Untuk mempelajari cara AWS menentukan apakah akan mengizinkan permintaan saat beberapa jenis kebijakan terlibat, lihat [Logika evaluasi kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) di *Panduan Pengguna IAM*.

# Cara kerja Amazon EMR dengan IAM
<a name="security_iam_service-with-iam"></a>

Sebelum Anda menggunakan IAM untuk mengelola akses ke Amazon EMR, pelajari fitur IAM apa yang tersedia untuk digunakan dengan Amazon EMR.


**Fitur IAM yang dapat Anda gunakan dengan Amazon EMR**  

| Fitur IAM | Dukungan Amazon EMR | 
| --- | --- | 
|  [Kebijakan berbasis identitas](#security_iam_service-with-iam-id-based-policies)  |   Ya  | 
|  [Kebijakan berbasis sumber daya](#security_iam_service-with-iam-resource-based-policies)  |   Ya  | 
|  [Tindakan kebijakan](#security_iam_service-with-iam-id-based-policies-actions)  |   Ya  | 
|  [Sumber daya kebijakan](#security_iam_service-with-iam-id-based-policies-resources)  |   Ya  | 
|  [Kunci kondisi kebijakan](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Ya  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   Tidak   | 
|  [ABAC (tanda dalam kebijakan)](#security_iam_service-with-iam-tags)  |  Ya  | 
|  [Kredensial sementara](#security_iam_service-with-iam-roles-tempcreds)  |   Ya  | 
|  [Izin principal](#security_iam_service-with-iam-principal-permissions)  |   Ya  | 
|  [Peran layanan](#security_iam_service-with-iam-roles-service)  | Tidak | 
|  [Peran terkait layanan](#security_iam_service-with-iam-roles-service-linked)  |  Ya  | 

*Untuk mendapatkan tampilan tingkat tinggi tentang cara Amazon EMR dan layanan AWS lainnya bekerja dengan sebagian besar fitur IAM, [AWS lihat layanan yang bekerja dengan IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) IAM.*

## Kebijakan berbasis identitas untuk Amazon EMR
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Mendukung kebijakan berbasis identitas**: Ya

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang dapat Anda lampirkan ke sebuah identitas, seperti pengguna IAM, grup pengguna IAM, atau peran IAM. Kebijakan ini mengontrol jenis tindakan yang dapat dilakukan oleh pengguna dan peran, di sumber daya mana, dan berdasarkan kondisi seperti apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat [Tentukan izin IAM kustom dengan kebijakan terkelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan secara spesifik apakah tindakan dan sumber daya diizinkan atau ditolak, serta kondisi yang menjadi dasar dikabulkan atau ditolaknya tindakan tersebut. Untuk mempelajari semua elemen yang dapat Anda gunakan dalam kebijakan JSON, lihat [Referensi elemen kebijakan JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dalam *Panduan Pengguna IAM*.

### Contoh kebijakan berbasis identitas untuk Amazon EMR
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Untuk melihat contoh identitas berbasis kebijakan Amazon EMR, lihat [Kebijakan contoh berbasis identitas Amazon EMR.](security_iam_id-based-policy-examples.md).

## Kebijakan berbasis sumber daya dalam Amazon EMR
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Mendukung kebijakan berbasis sumber daya**: Ya

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. Contoh kebijakan berbasis sumber daya adalah *kebijakan kepercayaan peran* IAM dan *kebijakan bucket* Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Untuk sumber daya tempat kebijakan dilampirkan, kebijakan menentukan tindakan apa yang dapat dilakukan oleh principal tertentu pada sumber daya tersebut dan dalam kondisi apa. Anda harus [menentukan principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam kebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi, atau. Layanan AWS

Untuk mengaktifkan akses lintas akun, Anda dapat menentukan secara spesifik seluruh akun atau entitas IAM di akun lain sebagai principal dalam kebijakan berbasis sumber daya. Untuk informasi selengkapnya, lihat [Akses sumber daya lintas akun di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dalam *Panduan Pengguna IAM*.

## Tindakan kebijakan untuk Amazon EMR
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Mendukung tindakan kebijakan:** Ya

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen `Action` dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Sertakan tindakan dalam kebijakan untuk memberikan izin untuk melakukan operasi terkait.



*Untuk melihat daftar tindakan EMR Amazon, lihat [Tindakan, sumber daya, dan kunci kondisi untuk EMR Amazon](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonemroneksemrcontainers.html) di Referensi Otorisasi Layanan.*

Tindakan kebijakan di Amazon EMR menggunakan awalan berikut sebelum tindakan:

```
EMR
```

Untuk menetapkan secara spesifik beberapa tindakan dalam satu pernyataan, pisahkan tindakan tersebut dengan koma.

```
"Action": [
      "EMR:action1",
      "EMR:action2"
         ]
```





Untuk melihat contoh identitas berbasis kebijakan Amazon EMR, lihat [Kebijakan contoh berbasis identitas Amazon EMR.](security_iam_id-based-policy-examples.md).

## Sumber daya kebijakan untuk Amazon EMR
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Mendukung sumber daya kebijakan:** Ya

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen kebijakan JSON `Resource` menentukan objek yang menjadi target penerapan tindakan. Praktik terbaiknya, tentukan sumber daya menggunakan [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, gunakan wildcard (\$1) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

```
"Resource": "*"
```

*Untuk melihat daftar jenis sumber daya EMR Amazon dan jenisnya ARNs, lihat Sumber Daya yang [Ditentukan oleh Amazon EMR](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticmapreduce.html#amazonelasticmapreduce-resources-for-iam-policies) di Referensi Otorisasi Layanan.* Untuk mempelajari tindakan mana yang dapat Anda tentukan ARN dari setiap sumber daya, lihat [Tindakan, sumber daya, dan kunci kondisi untuk Amazon EMR](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonemroneksemrcontainers.html).





Untuk melihat contoh identitas berbasis kebijakan Amazon EMR, lihat [Kebijakan contoh berbasis identitas Amazon EMR.](security_iam_id-based-policy-examples.md).

## Kunci kondisi kebijakan untuk Amazon EMR
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Mendukung kunci kondisi kebijakan khusus layanan:** Yes

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, **principal** dapat melakukan **tindakan** pada suatu **sumber daya**, dan dalam suatu **syarat**.

Elemen `Condition` menentukan ketika pernyataan dieksekusi berdasarkan kriteria yang ditetapkan. Anda dapat membuat ekspresi bersyarat yang menggunakan [operator kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta. Untuk melihat semua kunci kondisi AWS global, lihat [kunci konteks kondisi AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.

*Untuk melihat daftar kunci kondisi EMR Amazon dan untuk mempelajari tindakan dan sumber daya yang dapat Anda gunakan kunci kondisi, lihat [Tindakan, sumber daya, dan kunci kondisi untuk Amazon EMR](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonemroneksemrcontainers.html) di Referensi Otorisasi Layanan.* 

Untuk melihat contoh identitas berbasis kebijakan Amazon EMR, lihat [Kebijakan contoh berbasis identitas Amazon EMR.](security_iam_id-based-policy-examples.md).

## Daftar kontrol akses (ACLs) di Amazon EMR
<a name="security_iam_service-with-iam-acls"></a>

**Mendukung ACLs:** Tidak 

Access control lists (ACLs) mengontrol prinsipal mana (anggota akun, pengguna, atau peran) yang memiliki izin untuk mengakses sumber daya. ACLs mirip dengan kebijakan berbasis sumber daya, meskipun mereka tidak menggunakan format dokumen kebijakan JSON.

## Kontrol akses berbasis atribut (ABAC) dengan Amazon EMR
<a name="security_iam_service-with-iam-tags"></a>


|  |  | 
| --- |--- |
| Mendukung ABAC (tanda dalam kebijakan) | Ya | 

Kontrol akses berbasis atribut (ABAC) adalah strategi otorisasi yang menentukan izin berdasarkan atribut tanda. Anda dapat melampirkan tag ke entitas dan AWS sumber daya IAM, lalu merancang kebijakan ABAC untuk mengizinkan operasi saat tag prinsipal cocok dengan tag pada sumber daya.

Untuk mengendalikan akses berdasarkan tanda, berikan informasi tentang tanda di [elemen kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dari kebijakan menggunakan kunci kondisi `aws:ResourceTag/key-name`, `aws:RequestTag/key-name`, atau `aws:TagKeys`.

Jika sebuah layanan mendukung ketiga kunci kondisi untuk setiap jenis sumber daya, nilainya adalah **Ya** untuk layanan tersebut. Jika suatu layanan mendukung ketiga kunci kondisi untuk hanya beberapa jenis sumber daya, nilainya adalah **Parsial**.

Untuk informasi selengkapnya tentang ABAC, lihat [Tentukan izin dengan otorisasi ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) dalam *Panduan Pengguna IAM.* Untuk melihat tutorial yang menguraikan langkah-langkah pengaturan ABAC, lihat [Menggunakan kontrol akses berbasis atribut (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) dalam *Panduan Pengguna IAM*.

## Menggunakan kredensil Sementara dengan Amazon EMR
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Mendukung kredensial sementara:** Ya

Kredensyal sementara menyediakan akses jangka pendek ke AWS sumber daya dan secara otomatis dibuat saat Anda menggunakan federasi atau beralih peran. AWS merekomendasikan agar Anda menghasilkan kredensyal sementara secara dinamis alih-alih menggunakan kunci akses jangka panjang. Untuk informasi selengkapnya, lihat [Kredensial keamanan sementara di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) dan [Layanan AWS yang berfungsi dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dalam *Panduan Pengguna IAM*.

## Izin utama lintas layanan untuk Amazon EMR
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Mendukung sesi akses terusan (FAS):** Ya

 Sesi akses teruskan (FAS) menggunakan izin dari pemanggilan utama Layanan AWS, dikombinasikan dengan permintaan Layanan AWS untuk membuat permintaan ke layanan hilir. Untuk detail kebijakan ketika mengajukan permintaan FAS, lihat [Sesi akses terusan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Peran layanan untuk Amazon EMR
<a name="security_iam_service-with-iam-roles-service"></a>


|  |  | 
| --- |--- |
| Mendukung peran layanan | Tidak | 

## Peran terkait layanan untuk Amazon EMR
<a name="security_iam_service-with-iam-roles-service-linked"></a>


|  |  | 
| --- |--- |
| Mendukung peran terkait layanan | Ya | 

Untuk informasi selengkapnya tentang cara membuat atau mengelola peran terkait layanan, lihat [AWS layanan yang bekerja dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Cari layanan dalam tabel yang memiliki `Yes` di kolom **Peran terkait layanan**. Pilih tautan **Ya** untuk melihat dokumentasi peran terkait layanan untuk layanan tersebut.

## Gunakan klaster dan tanda Notebook dengan kebijakan IAM untuk kendali akses
<a name="emr-tag-based-access"></a>

Izin untuk tindakan Amazon EMR yang terkait dengan EMR Notebooks dan klaster EMR dapat disetel dengan baik menggunakan kendali akses berbasis tanda dengan kebijakan IAM berbasis identitas. Anda dapat menggunakan *kunci syarat* di `Condition` elemen (juga disebut blok `Condition`) untuk mengizinkan tindakan tertentu hanya ketika notebook, klaster, atau keduanya memiliki kunci tanda tertentu atau kombinasi kunci-nilai. Anda juga dapat membatasi `CreateEditor` tindakan (yang menciptakan EMR Notebooks) dan `RunJobFlow`tindakan (yang membuat sebuah klaster) sehingga permintaan untuk tanda harus disampaikan ketika sumber daya dibuat.

Di Amazon EMR, kunci syarat yang dapat digunakan di `Condition` elemen hanya berlaku untuk mereka tindakan API Amazon EMR di mana `ClusterID` atau `NotebookID` adalah parameter permintaan yang diperlukan. Misalnya, [ModifyInstanceGroups](https://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_ModifyInstanceGroups.html)tindakan tidak mendukung kunci konteks karena `ClusterID` merupakan parameter opsional.

Saat Anda membuat buku catatan EMR, tag default diterapkan dengan string kunci yang `creatorUserId` disetel ke nilai ID pengguna IAM yang membuat buku catatan. Ini berguna untuk membatasi tindakan yang diizinkan untuk notebook hanya untuk pencipta.

Kunci syarat berikut tersedia di Amazon EMR:
+ Penggunaan `elasticmapreduce:ResourceTag/TagKeyString` kunci konteks syarat untuk mengizinkan atau menolak tindakan pengguna pada grup atau notebook dengan tanda yang memiliki `TagKeyString` yang Anda tentukan. Jika tindakan melewati kedua `ClusterID` dan `NotebookID`, syarat ini berlaku untuk klaster dan notebook. Ini berarti bahwa kedua sumber daya harus memiliki tanda kunci string atau kombinasi kunci-nilai yang Anda tentukan. Anda dapat menggunakan `Resource` elemen untuk membatasi pernyataan sehingga hanya berlaku untuk klaster atau notebook yang diperlukan. Untuk informasi selengkapnya, lihat [Kebijakan contoh berbasis identitas Amazon EMR.](security_iam_id-based-policy-examples.md).
+ Gunakan tombol konteks `elasticmapreduce:RequestTag/TagKeyString` kondisi untuk meminta tag tertentu dengan actions/API panggilan. Misalnya, Anda dapat menggunakan kunci konteks syarat ini bersama dengan tindakan `CreateEditor` untuk mewajibkan bahwa sebuah kunci dengan `TagKeyString` yang diterapkan ke notebook saat dibuat.

## Contoh
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

Untuk melihat daftar tindakan Amazon EMR, lihat [Tindakan Ditetapkan oleh Amazon EMR](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticmapreduce.html#amazonelasticmapreduce-actions-as-permissions) di *Panduan Pengguna IAM*.

# Peran runtime untuk langkah-langkah EMR Amazon
<a name="emr-steps-runtime-roles"></a>

Peran *runtime adalah peran* AWS Identity and Access Management (IAM) yang dapat Anda tentukan saat mengirimkan pekerjaan atau kueri ke klaster EMR Amazon. Pekerjaan atau kueri yang Anda kirimkan ke klaster EMR Amazon menggunakan peran runtime untuk mengakses AWS sumber daya, seperti objek di Amazon S3. Anda dapat menentukan peran runtime dengan Amazon EMR untuk pekerjaan Spark dan Hive.

Anda juga dapat menentukan peran runtime saat tersambung ke kluster EMR Amazon Amazon SageMaker AI di dan saat Anda melampirkan Amazon EMR Studio Workspace ke kluster EMR. Untuk informasi selengkapnya, lihat [Connect ke klaster EMR Amazon dari SageMaker AI Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/connect-emr-clusters.html) dan. [Jalankan EMR Studio Workspace dengan peran runtime](emr-studio-runtime.md)

Sebelumnya, klaster EMR Amazon menjalankan pekerjaan atau kueri EMR Amazon dengan izin berdasarkan kebijakan IAM yang dilampirkan pada profil instance yang Anda gunakan untuk meluncurkan klaster. Ini berarti bahwa kebijakan harus berisi penyatuan semua izin untuk semua pekerjaan dan kueri yang berjalan di klaster EMR Amazon. Dengan peran runtime, Anda sekarang dapat mengelola kontrol akses untuk setiap pekerjaan atau kueri satu per satu, alih-alih membagikan profil instans EMR Amazon pada klaster.

Di klaster EMR Amazon dengan peran runtime, Anda juga dapat menerapkan kontrol akses AWS Lake Formation berbasis ke pekerjaan dan kueri Spark, Hive, dan Presto terhadap data lake Anda. Untuk mempelajari lebih lanjut tentang cara mengintegrasikan dengan AWS Lake Formation, lihat[Integrasikan Amazon EMR dengan AWS Lake Formation](emr-lake-formation.md).

**catatan**  
Bila Anda menentukan peran runtime untuk langkah EMR Amazon, lowongan atau kueri yang Anda kirimkan hanya dapat AWS mengakses sumber daya yang diizinkan oleh kebijakan yang dilampirkan pada peran runtime. Pekerjaan dan kueri ini tidak dapat mengakses Layanan Metadata Instans pada instans EC2 klaster atau menggunakan profil instans EC2 klaster untuk mengakses sumber daya apa pun. AWS 

## Prasyarat untuk meluncurkan cluster EMR Amazon dengan peran runtime
<a name="emr-steps-runtime-roles-configure"></a>

**Topics**
+ [Langkah 1: Siapkan konfigurasi keamanan di Amazon EMR](#configure-security)
+ [Langkah 2: Siapkan profil instans EC2 untuk klaster EMR Amazon](#configure-ec2-profile)
+ [Langkah 3: Siapkan kebijakan kepercayaan](#configure-trust-policy)

### Langkah 1: Siapkan konfigurasi keamanan di Amazon EMR
<a name="configure-security"></a>

Gunakan struktur JSON berikut untuk membuat konfigurasi keamanan pada AWS Command Line Interface (AWS CLI), dan atur `EnableApplicationScopedIAMRole` ke`true`. Untuk informasi selengkapnya tentang konfigurasi keamanan, lihat [Gunakan konfigurasi keamanan untuk mengatur keamanan klaster Amazon EMR](emr-security-configurations.md).

```
{
    "AuthorizationConfiguration":{
        "IAMConfiguration":{
            "EnableApplicationScopedIAMRole":true
        }
    }
}
```

Kami menyarankan agar Anda selalu mengaktifkan opsi enkripsi dalam transit dalam konfigurasi keamanan, sehingga data yang ditransfer melalui internet dienkripsi, bukan dalam teks biasa. Anda dapat melewati opsi ini jika Anda tidak ingin terhubung ke kluster EMR Amazon dengan peran runtime dari SageMaker Runtime Studio atau EMR Studio. Untuk mengonfigurasi enkripsi data, lihat [Mengkonfigurasi enkripsi data](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-create-security-configuration.html#emr-security-configuration-encryption).

Atau, Anda dapat membuat konfigurasi keamanan dengan pengaturan khusus dengan [Konsol Manajemen AWS](https://console.aws.amazon.com/emr/home#/securityConfigs).

### Langkah 2: Siapkan profil instans EC2 untuk klaster EMR Amazon
<a name="configure-ec2-profile"></a>

Cluster EMR Amazon menggunakan peran profil instans Amazon EC2 untuk mengambil peran runtime. Untuk menggunakan peran runtime dengan langkah-langkah EMR Amazon, tambahkan kebijakan berikut ke peran IAM yang akan digunakan sebagai peran profil instance. Untuk menambahkan kebijakan ke peran IAM atau mengedit kebijakan sebaris atau terkelola yang ada, lihat [Menambahkan dan menghapus izin identitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowRuntimeRoleUsage",
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ],
      "Resource": [
        "arn:aws:iam::123456789012:role/EMRRuntimeRole"
      ]
    }
  ]
}
```

------

### Langkah 3: Siapkan kebijakan kepercayaan
<a name="configure-trust-policy"></a>

Untuk setiap peran IAM yang Anda rencanakan untuk digunakan sebagai peran runtime, tetapkan kebijakan kepercayaan berikut, ganti `EMR_EC2_DefaultRole` dengan peran profil instans Anda. Untuk mengubah kebijakan kepercayaan peran IAM, lihat [Memodifikasi kebijakan kepercayaan peran](https://docs.aws.amazon.com//IAM/latest/UserGuide/roles-managingrole-editing-console.html).

```
{
    "Sid":"AllowAssumeRole",
    "Effect":"Allow",
    "Principal":{
        "AWS":"arn:aws:iam::<AWS_ACCOUNT_ID>:role/EMR_EC2_DefaultRole"
    },
    "Action":[
             "sts:AssumeRole",
             "sts:TagSession"
            ]
}
```

## Luncurkan kluster EMR Amazon dengan kontrol akses berbasis peran
<a name="emr-steps-runtime-roles-launch"></a>

Setelah mengatur konfigurasi, Anda dapat meluncurkan klaster EMR Amazon dengan konfigurasi keamanan dari. [Langkah 1: Siapkan konfigurasi keamanan di Amazon EMR](#configure-security) Untuk menggunakan peran runtime dengan langkah-langkah EMR Amazon, gunakan `emr-6.7.0` label rilis atau yang lebih baru, dan pilih Hive, Spark, atau keduanya sebagai aplikasi cluster Anda. CloudWatchAgent didukung pada Cluster Peran Runtime untuk EMR 7.6 ke atas. Untuk terhubung dari SageMaker AI Studio, gunakan rilis `emr-6.9.0` atau yang lebih baru, dan pilih Livy, Spark, Hive, atau Presto sebagai aplikasi cluster Anda. Untuk petunjuk tentang cara meluncurkan klaster Anda, lihat[Menentukan konfigurasi keamanan untuk klaster EMR Amazon](emr-specify-security-configuration.md).

### Kirim pekerjaan Spark menggunakan langkah-langkah Amazon EMR
<a name="launch-spark"></a>

Berikut ini adalah contoh bagaimana menjalankan HdfsTest contoh yang disertakan dengan Apache Spark. Panggilan API ini hanya berhasil jika peran runtime Amazon EMR yang disediakan dapat mengakses. `S3_LOCATION`

```
RUNTIME_ROLE_ARN=<runtime-role-arn>
S3_LOCATION=<s3-path>
REGION=<aws-region>
CLUSTER_ID=<cluster-id>

aws emr add-steps --cluster-id $CLUSTER_ID \
--steps '[{ "Name": "Spark Example", "ActionOnFailure": "CONTINUE", "Jar":"command-runner.jar","Args" : ["spark-example","HdfsTest", "$S3_LOCATION"] }]' \
--execution-role-arn $RUNTIME_ROLE_ARN \
--region $REGION
```

**catatan**  
Kami menyarankan Anda mematikan akses SSH ke kluster EMR Amazon dan hanya mengizinkan API `AddJobFlowSteps` EMR Amazon untuk mengakses ke cluster.

### Kirim pekerjaan Hive menggunakan langkah-langkah EMR Amazon
<a name="launch-hive"></a>

Contoh berikut menggunakan Apache Hive dengan langkah-langkah Amazon EMR untuk mengirimkan pekerjaan untuk menjalankan file. `QUERY_FILE.hql` Kueri ini hanya berhasil jika peran runtime yang disediakan dapat mengakses jalur Amazon S3 dari file kueri.

```
RUNTIME_ROLE_ARN=<runtime-role-arn>
REGION=<aws-region>
CLUSTER_ID=<cluster-id>

aws emr add-steps --cluster-id $CLUSTER_ID \
--steps '[{ "Name": "Run hive query using command-runner.jar - simple select","ActionOnFailure":"CONTINUE", "Jar": "command-runner.jar","Args" :["hive -
f","s3://DOC_EXAMPLE_BUCKET/QUERY_FILE.hql"] }]' \
--execution-role-arn $RUNTIME_ROLE_ARN \
--region $REGION
```

### Connect ke klaster EMR Amazon dengan peran runtime dari notebook AI Studio SageMaker
<a name="sagemaker"></a>

Anda dapat menerapkan peran runtime Amazon EMR ke kueri yang dijalankan di klaster EMR Amazon dari AI Studio. SageMaker Untuk melakukannya, lanjutkan langkah-langkah berikut.

1. Ikuti petunjuk di [Luncurkan Amazon SageMaker AI Studio]() untuk membuat SageMaker AI Studio.

1. Di SageMaker AI Studio UI, mulai notebook dengan kernel yang didukung. Misalnya, mulai SparkMagic gambar dengan PySpark kernel.

1. **Pilih klaster EMR Amazon di SageMaker AI Studio, lalu pilih Connect.**

1. Pilih peran runtime, lalu pilih **Connect**. 

Ini akan membuat sel notebook SageMaker AI dengan perintah ajaib untuk terhubung ke cluster EMR Amazon Anda dengan peran runtime Amazon EMR yang dipilih. Di sel notebook, Anda dapat memasukkan dan menjalankan kueri dengan peran runtime dan kontrol akses berbasis Lake Formation. Untuk contoh lebih detail, lihat [Menerapkan kontrol akses data berbutir halus dengan dan AWS Lake Formation Amazon EMR dari Amazon](https://aws.amazon.com/blogs/machine-learning/apply-fine-grained-data-access-controls-with-aws-lake-formation-and-amazon-emr-from-amazon-sagemaker-studio) AI Studio. SageMaker 

### Kontrol akses ke peran runtime Amazon EMR
<a name="role-access"></a>

Anda dapat mengontrol akses ke peran runtime dengan tombol `elasticmapreduce:ExecutionRoleArn` kondisi. Kebijakan berikut memungkinkan prinsipal IAM untuk menggunakan peran IAM bernama`Caller`, atau peran IAM apa pun yang dimulai dengan string`CallerTeamRole`, sebagai peran runtime.

**penting**  
Anda harus membuat kondisi berdasarkan kunci `elasticmapreduce:ExecutionRoleArn` konteks saat Anda memberikan akses pemanggil untuk memanggil `AddJobFlowSteps` atau `GetClusterSessionCredentials` APIs, seperti yang ditunjukkan contoh berikut.

```
{
    "Sid":"AddStepsWithSpecificExecRoleArn",
    "Effect":"Allow",
    "Action":[
        "elasticmapreduce:AddJobFlowSteps"
    ],
    "Resource":"*",
    "Condition":{
        "StringEquals":{
            "elasticmapreduce:ExecutionRoleArn":[
                "arn:aws:iam::<AWS_ACCOUNT_ID>:role/Caller"
            ]
        },
        "StringLike":{
            "elasticmapreduce:ExecutionRoleArn":[
                "arn:aws:iam::<AWS_ACCOUNT_ID>:role/CallerTeamRole*"
            ]
        }
    }
}
```

### Membangun kepercayaan antara peran runtime dan klaster EMR Amazon
<a name="external-id"></a>

Amazon EMR menghasilkan pengenal unik `ExternalId` untuk setiap konfigurasi keamanan dengan otorisasi peran runtime yang diaktifkan. Otorisasi ini memungkinkan setiap pengguna untuk memiliki satu set peran runtime untuk digunakan pada cluster milik mereka. Misalnya, di perusahaan, setiap departemen dapat menggunakan ID eksternal mereka untuk memperbarui kebijakan kepercayaan pada rangkaian peran runtime mereka sendiri.

Anda dapat menemukan ID eksternal dengan Amazon EMR `DescribeSecurityConfiguration` API, seperti yang ditunjukkan pada contoh berikut.

```
aws emr describe-security-configuration --name 'iamconfig-with-lf'{"Name": "iamconfig-with-lf",
    "SecurityConfiguration":
        "{\"AuthorizationConfiguration\":{\"IAMConfiguration\":{\"EnableApplicationScopedIAMRole\
        ":true,\"ApplicationScopedIAMRoleConfiguration\":{\"PropagateSourceIdentity\":true,\"Exter
        nalId\":\"FXH5TSACFDWUCDSR3YQE2O7ETPUSM4OBCGLYWODSCUZDNZ4Y\"}},\"Lake
        FormationConfiguration\":{\"AuthorizedSessionTagValue\":\"Amazon EMR\"}}}",
    "CreationDateTime": "2022-06-03T12:52:35.308000-07:00"
}
```

Untuk informasi tentang cara menggunakan ID eksternal, lihat [Cara menggunakan ID eksternal saat memberikan akses ke AWS sumber daya Anda kepada pihak ketiga](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html). 

### Audit
<a name="audit-source-identity"></a>

Untuk memantau dan mengontrol tindakan yang dilakukan pengguna akhir dengan peran IAM, Anda dapat mengaktifkan fitur identitas sumber. Untuk mempelajari lebih lanjut tentang identitas sumber, lihat [Memantau dan mengontrol tindakan yang diambil dengan peran yang diasumsikan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor).

Untuk melacak identitas sumber, atur `ApplicationScopedIAMRoleConfiguration/PropagateSourceIdentity` ke `true` dalam konfigurasi keamanan Anda, sebagai berikut.

```
{
    "AuthorizationConfiguration":{
        "IAMConfiguration":{
            "EnableApplicationScopedIAMRole":true,
            "ApplicationScopedIAMRoleConfiguration":{
                "PropagateSourceIdentity":true
            }
        }
    }
}
```

Saat disetel `PropagateSourceIdentity` ke`true`, Amazon EMR menerapkan identitas sumber dari kredensyal panggilan ke sesi pekerjaan atau kueri yang Anda buat dengan peran runtime. Jika tidak ada identitas sumber yang ada dalam kredensyal panggilan, Amazon EMR tidak menyetel identitas sumber.

Untuk menggunakan properti ini, berikan `sts:SetSourceIdentity` izin ke profil instans Anda, sebagai berikut.

```
{ // PropagateSourceIdentity statement
    "Sid":"PropagateSourceIdentity",
    "Effect":"Allow",
    "Action":"sts:SetSourceIdentity",
    "Resource":[
        <runtime-role-ARN>
    ],
    "Condition":{
        "StringEquals":{
            "sts:SourceIdentity":<source-identity>
        }
    }
}
```

Anda juga harus menambahkan `AllowSetSourceIdentity` pernyataan ke kebijakan kepercayaan peran runtime Anda.

```
{ // AllowSetSourceIdentity statement
    "Sid":"AllowSetSourceIdentity",
    "Effect":"Allow",
    "Principal":{
        "AWS":"arn:aws:iam::<AWS_ACCOUNT_ID>:role/EMR_EC2_DefaultRole"
    },
    "Action":[
        "sts:SetSourceIdentity",
        "sts:AssumeRole"
    ],
    "Condition":{
        "StringEquals":{
            "sts:SourceIdentity":<source-identity>
        }
    }
}
```

## Pertimbangan tambahan
<a name="emr-steps-runtime-roles-considerations"></a>

**catatan**  
Dengan rilis Amazon EMR`emr-6.9.0`, Anda mungkin mengalami kegagalan intermiten saat terhubung ke kluster EMR Amazon dari AI Studio. SageMaker Untuk mengatasi masalah ini, Anda dapat menginstal tambalan dengan tindakan bootstrap saat meluncurkan cluster. Untuk detail tambalan, lihat [Amazon EMR rilis 6.9.0 masalah](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-690-release.html#emr-690-relnotes) yang diketahui.

Selain itu, pertimbangkan hal berikut saat Anda mengonfigurasi peran runtime untuk Amazon EMR.
+ Amazon EMR mendukung peran runtime di semua iklan. Wilayah AWS
+ Langkah-langkah Amazon EMR mendukung pekerjaan Apache Spark dan Apache Hive dengan peran runtime saat Anda menggunakan rilis atau yang lebih baru. `emr-6.7.0`
+ SageMaker AI Studio mendukung kueri Spark, Hive, dan Presto dengan peran runtime saat Anda menggunakan rilis atau yang lebih baru. `emr-6.9.0` 
+ Kernel notebook berikut dalam SageMaker AI mendukung peran runtime:
  + DataScience — Kernel Python 3
  + DataScience 2.0 — Kernel Python 3
  + DataScience 3.0 — Kernel Python 3
  + SparkAnalytics 1.0 — SparkMagic dan PySpark kernel
  + SparkAnalytics 2.0 — SparkMagic dan PySpark kernel
  + SparkMagic — PySpark kernel
+ Amazon EMR mendukung langkah-langkah yang `RunJobFlow` hanya digunakan pada saat pembuatan cluster. API ini tidak mendukung peran runtime.
+ Amazon EMR tidak mendukung peran runtime pada cluster yang Anda konfigurasikan agar sangat tersedia. 
+ Dimulai dengan Amazon EMR rilis 7.5.0 dan yang lebih tinggi, peran runtime mendukung tampilan Spark dan YARN User Interfaces (UIs), seperti berikut ini: Spark Live UI, Spark History Server, YARN, dan YARN. NodeManager ResourceManager Saat Anda menavigasi ke ini UIs, ada prompt nama pengguna dan kata sandi. Nama pengguna dan kata sandi dapat dihasilkan melalui penggunaan GetClusterSessionCredentials EMR API. Untuk informasi selengkapnya mengenai detail penggunaan untuk API, lihat [GetClusterSessionCredentials](https://docs.aws.amazon.com/emr/latest/APIReference/API_GetClusterSessionCredentials.html).

  Contoh cara menggunakan EMR GetClusterSessionCredentials API adalah sebagai berikut:

  ```
  aws emr  get-cluster-session-credentials --cluster-id <cluster_ID> --execution-role-arn <IAM_role_arn>
  ```
+ Anda harus melarikan diri dari argumen perintah Bash Anda saat menjalankan perintah dengan file `command-runner.jar` JAR:

  ```
  aws emr add-steps --cluster-id <cluster-id> --steps '[{"Name":"sample-step","ActionOnFailure":"CONTINUE","Jar":"command-runner.jar","Properties":"","Args":["bash","-c","\"aws s3 ls\""],"Type":"CUSTOM_JAR"}]' --execution-role-arn <IAM_ROLE_ARN>
  ```

  Selain itu, Anda harus melarikan diri dari argumen perintah Bash Anda saat menjalankan perintah dengan runner skrip. Berikut ini adalah contoh yang menunjukkan pengaturan properti Spark, dengan karakter escape yang disertakan:

  ```
  "\"--conf spark.sql.autoBroadcastJoinThreshold=-1\n--conf spark.cradle.RSv2Mode.enabled=true\""
  ```
+ Peran runtime tidak menyediakan dukungan untuk mengontrol akses ke sumber daya on-cluster, seperti HDFS dan HMS.
+ Peran runtime tidak memberikan dukungan untuk docker/container.

# Konfigurasikan peran layanan IAM untuk izin AWS EMR Amazon ke layanan dan sumber daya
<a name="emr-iam-roles"></a>

Amazon EMR dan aplikasi seperti Hadoop dan Spark perlu izin untuk mengakses sumber daya AWS lain dan melakukan tindakan ketika mereka dijalankan. Setiap klaster di Amazon EMR harus memiliki *peran layanan* dan peran untuk *profil instans* Amazon EC2. Untuk informasi selengkapnya, lihat [IAM role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) dan [Menggunakan profil instans](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) di *Panduan Pengguna IAM*. Kebijakan IAM yang terlampir pada peran ini memberikan izin untuk klaster untuk beroperasi dengan layanan AWS lain atas nama pengguna.

Peran tambahan, peran Auto Scaling, diperlukan jika klaster Anda menggunakan penskalaan otomatis di Amazon EMR. Peran AWS layanan untuk EMR Notebooks diperlukan jika Anda menggunakan EMR Notebooks.

Amazon EMR menyediakan peran default dan kebijakan terkelola default yang menentukan izin untuk setiap peran. Kebijakan terkelola dibuat dan dikelola oleh AWS, sehingga kebijakan tersebut diperbarui secara otomatis jika persyaratan layanan berubah. Lihat [AWS kebijakan terkelola](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies.html) di *Panduan Pengguna IAM*.

Jika Anda membuat sebuah klaster atau notebook untuk pertama kalinya di akun, peran untuk Amazon EMR belum ada. Setelah membuatnya, Anda dapat melihat peran, kebijakan yang dilampirkan padanya, dan izin yang diizinkan atau ditolak oleh kebijakan di konsol IAM () [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). Anda dapat menentukan peran default untuk Amazon EMR untuk membuat dan menggunakan, Anda dapat membuat peran Anda sendiri dan menentukan mereka secara individual ketika Anda membuat sebuah klaster untuk menyesuaikan izin, dan Anda dapat menentukan peran default untuk digunakan ketika Anda membuat sebuah klaster menggunakan AWS CLI. Untuk informasi selengkapnya, lihat [Sesuaikan peran IAM dengan Amazon EMR](emr-iam-roles-custom.md).

## Memodifikasi kebijakan berbasis identitas untuk izin dalam melewati peran layanan untuk Amazon EMR
<a name="emr-iam-roles-passrole"></a>

Kebijakan terkelola default izin penuh Amazon EMR menggabungkan konfigurasi `iam:PassRole` keamanan, termasuk yang berikut ini:
+ Izin `iam:PassRole` hanya untuk peran Amazon EMR default tertentu.
+ `iam:PassedToService`kondisi yang memungkinkan Anda untuk menggunakan kebijakan hanya dengan AWS layanan tertentu, seperti `elasticmapreduce.amazonaws.com` dan`ec2.amazonaws.com`.

Anda dapat melihat versi JSON dari kebijakan [Amazon EMRFull AccessPolicy \$1v2 dan [Amazon EMRService Policy\$1v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRServicePolicy_v2)](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRFullAccessPolicy_v2) di konsol IAM. Kami menyarankan Anda membuat cluster baru dengan kebijakan terkelola v2.

## Ringkasan peran layanan
<a name="emr-iam-roles-summary"></a>

Tabel berikut mencantumkan peran layanan IAM yang terkait dengan Amazon EMR untuk referensi cepat.


| Fungsi | Peran default | Deskripsi | Kebijakan terkelola default | 
| --- | --- | --- | --- | 
|  [Peran layanan untuk Amazon EMR (peran EMR)](emr-iam-role.md)  |  `EMR_DefaultRole_V2`  |  Memungkinkan Amazon EMR memanggil AWS layanan lain atas nama Anda saat menyediakan sumber daya dan melakukan tindakan tingkat layanan. Peran ini diperlukan untuk semua klaster.  |  `AmazonEMRServicePolicy_v2`  Peran terkait layanan diperlukan untuk meminta Instans Spot. Jika peran ini tidak ada, peran layanan EMR Amazon harus memiliki izin untuk membuatnya atau kesalahan izin terjadi. Jika Anda berencana untuk meminta Instans Spot, Anda harus memperbarui kebijakan ini untuk menyertakan pernyataan yang memungkinkan pembuatan peran terkait layanan ini. Untuk informasi selengkapnya, lihat [Peran layanan untuk Amazon EMR (peran EMR)](emr-iam-role.md) dan [Peran terkait layanan untuk permintaan Instans Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#service-linked-roles-spot-instance-requests) di Panduan Pengguna *Amazon EC2*.    | 
| [Peran layanan untuk instans EC2 klaster (profil instans EC2)](emr-iam-role-for-ec2.md) |  `EMR_EC2_DefaultRole`  |  Proses aplikasi yang berjalan di atas ekosistem Hadoop pada instance cluster menggunakan peran ini ketika mereka memanggil layanan lain. AWS Untuk mengakses data di Amazon S3 menggunakan EMRFS, Anda dapat menentukan peran yang berbeda untuk diasumsikan berdasarkan lokasi data di Amazon S3. Misalnya, beberapa tim dapat mengakses "akun penyimpanan" data Amazon S3 tunggal. Untuk informasi selengkapnya, lihat [Konfigurasi IAM role untuk permintaan EMRFS ke Amazon S3](emr-emrfs-iam-roles.md). Peran ini diperlukan untuk semua klaster.  |  `AmazonElasticMapReduceforEC2Role`. Untuk informasi selengkapnya, lihat [Peran layanan untuk instans EC2 klaster (profil instans EC2)](emr-iam-role-for-ec2.md).  | 
| [Peran layanan untuk penskalaan otomatis di Amazon EMR (peran Auto Scaling)](emr-iam-role-automatic-scaling.md) |  `EMR_AutoScaling_DefaultRole`  |  Mengizinkan tindakan tambahan untuk lingkungan penskalaan dinamis. Diperlukan hanya untuk klaster yang menggunakan penskalaan otomatis di Amazon EMR. Untuk informasi selengkapnya, lihat [Menggunakan penskalaan otomatis dengan kebijakan khusus untuk grup instans di Amazon EMR](emr-automatic-scaling.md).  |  `AmazonElasticMapReduceforAutoScalingRole`. Untuk informasi selengkapnya, lihat [Peran layanan untuk penskalaan otomatis di Amazon EMR (peran Auto Scaling)](emr-iam-role-automatic-scaling.md).  | 
| [Peran layanan untuk EMR Notebooks](emr-managed-notebooks-service-role.md) |  `EMR_Notebooks_DefaultRole`  |  Memberikan izin yang dibutuhkan notebook EMR untuk mengakses sumber daya AWS lain dan melakukan tindakan. Diperlukan hanya jika EMR Notebooks digunakan.  |  `AmazonElasticMapReduceEditorsRole`. Untuk informasi selengkapnya, lihat [Peran layanan untuk EMR Notebooks](emr-managed-notebooks-service-role.md). `S3FullAccessPolicy` juga dilampirkan secara default. Berikut adalah isi dari kebijakan ini.   JSON   

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:*"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowS3"
    }
  ]
}
```      | 
| [Peran Terkait Layanan](using-service-linked-roles.md) | `AWSServiceRoleForEMRCleanup` | Amazon EMR secara otomatis menciptakan peran tertaut layanan. Jika layanan untuk Amazon EMR telah kehilangan kemampuan untuk membersihkan sumber daya Amazon EC2, Amazon EMR dapat menggunakan peran ini untuk membersihkan. Jika klaster menggunakan Instans Spot, kebijakan izin yang dilampirkan ke [Peran layanan untuk Amazon EMR (peran EMR)](emr-iam-role.md) harus mengizinkan pembuatan peran tertaut layanan. Untuk informasi selengkapnya, lihat [Menggunakan peran terkait layanan untuk Amazon EMR](using-service-linked-roles.md). | `AmazonEMRCleanupPolicy` | 

**Topics**
+ [Memodifikasi kebijakan berbasis identitas untuk izin dalam melewati peran layanan untuk Amazon EMR](#emr-iam-roles-passrole)
+ [Ringkasan peran layanan](#emr-iam-roles-summary)
+ [Peran layanan IAM yang digunakan oleh Amazon EMR](emr-iam-service-roles.md)
+ [Sesuaikan peran IAM dengan Amazon EMR](emr-iam-roles-custom.md)
+ [Konfigurasi IAM role untuk permintaan EMRFS ke Amazon S3](emr-emrfs-iam-roles.md)
+ [Menggunakan kebijakan berbasis sumber daya untuk akses Amazon EMR ke Glue Data Catalog AWS](emr-iam-roles-glue.md)
+ [Gunakan peran IAM dengan aplikasi yang memanggil AWS layanan secara langsung](emr-iam-roles-calling.md)
+ [Mengizinkan pengguna dan grup untuk membuat dan memodifikasi peran](emr-iam-roles-create-permissions.md)

# Peran layanan IAM yang digunakan oleh Amazon EMR
<a name="emr-iam-service-roles"></a>

Amazon EMR menggunakan peran layanan IAM untuk melakukan tindakan atas nama Anda ketika menyediakan sumber daya klaster, menjalankan aplikasi, menskalakan sumber daya secara dinamis, dan menciptakan dan menjalankan EMR Notebooks. Amazon EMR menggunakan peran berikut ketika berinteraksi dengan layanan AWS lain. Setiap peran memiliki fungsi yang unik di Amazon EMR. Topik di bagian ini menjelaskan fungsi peran dan menyediakan peran default dan kebijakan izin untuk setiap peran.

Jika Anda memiliki kode aplikasi di klaster yang memanggil AWS layanan secara langsung, Anda mungkin perlu menggunakan SDK untuk menentukan peran. Untuk informasi selengkapnya, lihat [Gunakan peran IAM dengan aplikasi yang memanggil AWS layanan secara langsung](emr-iam-roles-calling.md).

**Topics**
+ [Peran layanan untuk Amazon EMR (peran EMR)](emr-iam-role.md)
+ [Peran layanan untuk instans EC2 klaster (profil instans EC2)](emr-iam-role-for-ec2.md)
+ [Peran layanan untuk penskalaan otomatis di Amazon EMR (peran Auto Scaling)](emr-iam-role-automatic-scaling.md)
+ [Peran layanan untuk EMR Notebooks](emr-managed-notebooks-service-role.md)
+ [Menggunakan peran terkait layanan untuk Amazon EMR](using-service-linked-roles.md)

# Peran layanan untuk Amazon EMR (peran EMR)
<a name="emr-iam-role"></a>

Peran Amazon EMR mendefinisikan tindakan yang diizinkan untuk Amazon EMR saat menyediakan sumber daya dan melakukan tugas tingkat layanan yang tidak dilakukan dalam konteks instans Amazon EC2 yang berjalan dalam klaster. Misalnya, peran layanan yang digunakan untuk menyediakan instans EC2 ketika sebuah klaster meluncur.
+ Nama peran default adalah `EMR_DefaultRole_V2`.
+ Amazon EMR melingkupi kebijakn terkelola default yang terlampir pada `EMR_DefaultRole_V2` adalah `AmazonEMRServicePolicy_v2`. Kebijakan v2 ini menggantikan kebijakan terkelola default yang tidak digunakan lagi. `AmazonElasticMapReduceRole`

`AmazonEMRServicePolicy_v2`bergantung pada akses terbatas ke sumber daya yang disediakan atau digunakan Amazon EMR. Bila menggunakan kebijakan ini, Anda harus melewati tanda pengguna `for-use-with-amazon-emr-managed-policies = true` saat menyediakan klaster. Amazon EMR akan secara otomatis menyebarkan tag tersebut. Selain itu, Anda mungkin perlu secara manual menambahkan tanda pengguna untuk tipe sumber daya tertentu, seperti grup keamanan EC2 yang tidak dibuat oleh Amazon EMR. Lihat [Penandaan sumber daya untuk menggunakan kebijakan terkelola](emr-managed-iam-policies.md#manually-tagged-resources).

**penting**  
Amazon EMR menggunakan peran layanan EMR Amazon ini dan `AWSServiceRoleForEMRCleanup` peran untuk membersihkan sumber daya cluster di akun Anda yang tidak lagi Anda gunakan, seperti instans Amazon EC2. Anda harus menyertakan tindakan agar kebijakan peran menghapus atau menghentikan sumber daya. Jika tidak, Amazon EMR tidak dapat melakukan tindakan pembersihan ini, dan Anda mungkin dikenakan biaya untuk sumber daya yang tidak digunakan yang tetap ada di klaster.

Berikut ini menunjukkan isi arus `AmazonEMRServicePolicy_v2` kebijakan. Anda juga dapat melihat konten kebijakan [https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRServicePolicy_v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRServicePolicy_v2)terkelola saat ini di konsol IAM.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CreateInTaggedNetwork",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:RunInstances",
        "ec2:CreateFleet",
        "ec2:CreateLaunchTemplate",
        "ec2:CreateLaunchTemplateVersion"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:subnet/*",
        "arn:aws:ec2:*:*:security-group/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateWithEMRTaggedLaunchTemplate",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateFleet",
        "ec2:RunInstances",
        "ec2:CreateLaunchTemplateVersion"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:launch-template/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateEMRTaggedLaunchTemplate",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateLaunchTemplate"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:launch-template/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateEMRTaggedInstancesAndVolumes",
      "Effect": "Allow",
      "Action": [
        "ec2:RunInstances",
        "ec2:CreateFleet"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:instance/*",
        "arn:aws:ec2:*:*:volume/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "ResourcesToLaunchEC2",
      "Effect": "Allow",
      "Action": [
        "ec2:RunInstances",
        "ec2:CreateFleet",
        "ec2:CreateLaunchTemplate",
        "ec2:CreateLaunchTemplateVersion"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*::image/ami-*",
        "arn:aws:ec2:*:*:key-pair/*",
        "arn:aws:ec2:*:*:capacity-reservation/*",
        "arn:aws:ec2:*:*:placement-group/pg-*",
        "arn:aws:ec2:*:*:fleet/*",
        "arn:aws:ec2:*:*:dedicated-host/*",
        "arn:aws:resource-groups:*:*:group/*"
      ]
    },
    {
      "Sid": "ManageEMRTaggedResources",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateLaunchTemplateVersion",
        "ec2:DeleteLaunchTemplate",
        "ec2:DeleteNetworkInterface",
        "ec2:ModifyInstanceAttribute",
        "ec2:TerminateInstances"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "ManageTagsOnEMRTaggedResources",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags",
        "ec2:DeleteTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:instance/*",
        "arn:aws:ec2:*:*:volume/*",
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*:*:launch-template/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateNetworkInterfaceNeededForPrivateSubnet",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "TagOnCreateTaggedEMRResources",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*:*:instance/*",
        "arn:aws:ec2:*:*:volume/*",
        "arn:aws:ec2:*:*:launch-template/*"
      ],
      "Condition": {
        "StringEquals": {
          "ec2:CreateAction": [
            "RunInstances",
            "CreateFleet",
            "CreateLaunchTemplate",
            "CreateNetworkInterface"
          ]
        }
      }
    },
    {
      "Sid": "TagPlacementGroups",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags",
        "ec2:DeleteTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:placement-group/pg-*"
      ]
    },
    {
      "Sid": "ListActionsForEC2Resources",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeAccountAttributes",
        "ec2:DescribeCapacityReservations",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeImages",
        "ec2:DescribeInstances",
        "ec2:DescribeInstanceTypeOfferings",
        "ec2:DescribeLaunchTemplates",
        "ec2:DescribeNetworkAcls",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribePlacementGroups",
        "ec2:DescribeRouteTables",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:DescribeVolumes",
        "ec2:DescribeVolumeStatus",
        "ec2:DescribeVpcAttribute",
        "ec2:DescribeVpcEndpoints",
        "ec2:DescribeVpcs"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "CreateDefaultSecurityGroupWithEMRTags",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateSecurityGroup"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:security-group/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateDefaultSecurityGroupInVPCWithEMRTags",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateSecurityGroup"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "TagOnCreateDefaultSecurityGroupWithEMRTags",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:security-group/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true",
          "ec2:CreateAction": "CreateSecurityGroup"
        }
      }
    },
    {
      "Sid": "ManageSecurityGroups",
      "Effect": "Allow",
      "Action": [
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:RevokeSecurityGroupEgress",
        "ec2:RevokeSecurityGroupIngress"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateEMRPlacementGroups",
      "Effect": "Allow",
      "Action": [
        "ec2:CreatePlacementGroup"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:placement-group/pg-*"
      ]
    },
    {
      "Sid": "DeletePlacementGroups",
      "Effect": "Allow",
      "Action": [
        "ec2:DeletePlacementGroup"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AutoScaling",
      "Effect": "Allow",
      "Action": [
        "application-autoscaling:DeleteScalingPolicy",
        "application-autoscaling:DeregisterScalableTarget",
        "application-autoscaling:DescribeScalableTargets",
        "application-autoscaling:DescribeScalingPolicies",
        "application-autoscaling:PutScalingPolicy",
        "application-autoscaling:RegisterScalableTarget"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "ResourceGroupsForCapacityReservations",
      "Effect": "Allow",
      "Action": [
        "resource-groups:ListGroupResources"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AutoScalingCloudWatch",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:PutMetricAlarm",
        "cloudwatch:DeleteAlarms",
        "cloudwatch:DescribeAlarms"
      ],
      "Resource": [
        "arn:aws:cloudwatch:*:*:alarm:*_EMR_Auto_Scaling"
      ]
    },
    {
      "Sid": "PassRoleForAutoScaling",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/EMR_AutoScaling_DefaultRole"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": "application-autoscaling.amazonaws.com*"
        }
      }
    },
    {
      "Sid": "PassRoleForEC2",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/EMR_EC2_DefaultRole"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": "ec2.amazonaws.com*"
        }
      }
    },
    {
      "Sid": "CreateAndModifyEmrServiceVPCEndpoint",
      "Effect": "Allow",
      "Action": [
        "ec2:ModifyVpcEndpoint",
        "ec2:CreateVpcEndpoint"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc-endpoint/*",
        "arn:aws:ec2:*:*:subnet/*",
        "arn:aws:ec2:*:*:security-group/*",
        "arn:aws:ec2:*:*:vpc/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateEmrServiceVPCEndpoint",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateVpcEndpoint"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc-endpoint/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true",
          "aws:RequestTag/Name": "emr-service-vpce"
        }
      }
    },
    {
      "Sid": "TagEmrServiceVPCEndpoint",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc-endpoint/*"
      ],
      "Condition": {
        "StringEquals": {
          "ec2:CreateAction": "CreateVpcEndpoint",
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true",
          "aws:RequestTag/Name": "emr-service-vpce"
        }
      }
    }
  ]
}
```

------

Peran layanan Anda harus menggunakan kebijakan kepercayaan berikut.

**penting**  
Kebijakan kepercayaan berikut mencakup [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)dan kunci kondisi [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)global, yang membatasi izin yang Anda berikan EMR Amazon ke sumber daya tertentu di akun Anda. Menggunakannya dapat melindungi Anda [dari masalah wakil yang membingungkan](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSTSAssumerole",
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/EMRServiceRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:elasticmapreduce:*:123456789012:*"
        }
      }
    }
  ]
}
```

------

# Peran layanan untuk instans EC2 klaster (profil instans EC2)
<a name="emr-iam-role-for-ec2"></a>

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 Amazon EMR ketika instans meluncur. Proses aplikasi yang berjalan di atas ekosistem Hadoop menganggap peran ini untuk izin untuk berinteraksi dengan layanan AWS lain.

Untuk informasi lebih lanjut tentang peran layanan untuk instans EC2, lihat [Menggunakan IAM role untuk memberikan izin pada aplikasi yang berjalan di instans Amazon EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html) di *Panduan Pengguna IAM*.

**penting**  
Peran layanan default untuk instans EC2 klaster dan kebijakan terkelola AWS default terkait, `AmazonElasticMapReduceforEC2Role` berada di jalur menuju penghentian, tanpa kebijakan terkelola pengganti yang disediakan. AWS Anda harus membuat dan menentukan profil instans untuk mengganti peran dan kebijakan default yang tidak lagi digunakan.

## Peran default dan kebijakan terkelola
<a name="emr-ec2-role-default"></a>
+ Nama peran default adalah `EMR_EC2_DefaultRole`.
+ Kebijakan terkelola `EMR_EC2_DefaultRole` default`AmazonElasticMapReduceforEC2Role`,, mendekati akhir dukungan. Alih-alih menggunakan kebijakan terkelola default untuk profil instans EC2, terapkan kebijakan berbasis sumber daya ke bucket S3 dan sumber daya lain yang dibutuhkan Amazon EMR, atau gunakan kebijakan yang dikelola pelanggan Anda sendiri dengan peran IAM sebagai profil instans. Untuk informasi selengkapnya, lihat [Membuat peran layanan untuk instans EC2 klaster dengan izin hak istimewa paling sedikit](#emr-ec2-role-least-privilege).

Berikut ini menunjukkan isi dari versi 3 dari `AmazonElasticMapReduceforEC2Role`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Action": [
        "cloudwatch:*",
        "dynamodb:*",
        "ec2:Describe*",
        "elasticmapreduce:Describe*",
        "elasticmapreduce:ListBootstrapActions",
        "elasticmapreduce:ListClusters",
        "elasticmapreduce:ListInstanceGroups",
        "elasticmapreduce:ListInstances",
        "elasticmapreduce:ListSteps",
        "kinesis:CreateStream",
        "kinesis:DeleteStream",
        "kinesis:DescribeStream",
        "kinesis:GetRecords",
        "kinesis:GetShardIterator",
        "kinesis:MergeShards",
        "kinesis:PutRecord",
        "kinesis:SplitShard",
        "rds:Describe*",
        "s3:*",
        "sdb:*",
        "sns:*",
        "sqs:*",
        "glue:CreateDatabase",
        "glue:UpdateDatabase",
        "glue:DeleteDatabase",
        "glue:GetDatabase",
        "glue:GetDatabases",
        "glue:CreateTable",
        "glue:UpdateTable",
        "glue:DeleteTable",
        "glue:GetTable",
        "glue:GetTables",
        "glue:GetTableVersions",
        "glue:CreatePartition",
        "glue:BatchCreatePartition",
        "glue:UpdatePartition",
        "glue:DeletePartition",
        "glue:BatchDeletePartition",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:BatchGetPartition",
        "glue:CreateUserDefinedFunction",
        "glue:UpdateUserDefinedFunction",
        "glue:DeleteUserDefinedFunction",
        "glue:GetUserDefinedFunction",
        "glue:GetUserDefinedFunctions"
      ],
      "Sid": "AllowCLOUDWATCH"
    }
  ]
}
```

------

Peran layanan Anda harus menggunakan kebijakan kepercayaan berikut.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSTSAssumerole",
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/EMR_EC2_DefaultRole"
    }
  ]
}
```

------

## Membuat peran layanan untuk instans EC2 klaster dengan izin hak istimewa paling sedikit
<a name="emr-ec2-role-least-privilege"></a>

Sebagai praktik terbaik, kami sangat menyarankan agar Anda membuat peran layanan untuk instans EC2 klaster dan kebijakan izin yang memiliki izin minimum untuk AWS layanan lain yang diperlukan oleh aplikasi Anda.

Kebijakan terkelola default, `AmazonElasticMapReduceforEC2Role`, menyediakan izin yang membuatnya mudah untuk meluncurkan klaster awal. Namun, `AmazonElasticMapReduceforEC2Role` berada di jalur menuju penghentian dan Amazon EMR tidak akan memberikan kebijakan default AWS terkelola pengganti untuk peran yang tidak digunakan lagi. Untuk meluncurkan klaster awal, Anda perlu menyediakan pelanggan terkelola berbasis sumber daya atau kebijakan berbasis ID.

Pernyataan kebijakan berikut memberikan contoh izin yang diperlukan untuk fitur yang berbeda dari Amazon EMR. Kami merekomendasikan Anda menggunakan izin ini untuk membuat kebijakan izin yang membatasi akses ke fitur dan sumber daya yang hanya diperlukan klaster Anda. Semua contoh pernyataan kebijakan menggunakan *us-west-2* Region dan ID AWS *123456789012* akun fiksi. Ganti ini agar sesuai untuk klaster Anda.

Untuk informasi selengkapnya tentang pembuatan dan penentuan peran kustom, lihat [Sesuaikan peran IAM dengan Amazon EMR](emr-iam-roles-custom.md).

**catatan**  
Jika Anda membuat peran EMR kustom untuk EC2, ikuti alur kerja basic, yang secara otomatis membuat profil instans dengan nama yang sama. Amazon EC2 mengizinkan Anda untuk membuat profil instans dan peran dengan nama yang berbeda, tetapi Amazon EMR tidak support konfigurasi ini, dan itu menghasilkan kesalahan "profil instans tidak valid" ketika Anda membuat klaster. 

### Membaca dan menulis data ke Amazon S3 menggunakan EMRFS
<a name="emr-ec2-role-EMRFS"></a>

Ketika aplikasi yang berjalan di data referensi klaster Amazon EMR menggunakan format `s3://mydata`, Amazon EMR menggunakan profil instans EC2 untuk membuat permintaan. Klaster biasanya membaca dan menulis data ke Amazon S3 dengan cara ini, dan Amazon EMR menggunakan izin yang terlampir pada peran layanan untuk instans EC2 klaster secara default. Untuk informasi selengkapnya, lihat [Konfigurasi IAM role untuk permintaan EMRFS ke Amazon S3](emr-emrfs-iam-roles.md).

Karena IAM role untuk EMRFS akan mundur ke izin yang terlampir pada peran layanan untuk instans EC2 klaster, sebagai praktik terbaik, kami rekomendasikan Anda menggunakan IAM role untuk EMRFS, dan membatasi izin EMRFS dan Amazon S3 yang terlampir pada peran layanan untuk instans EC2 klaster.

Sampel pernyataan di bawah ini menunjukkan izin yang diperlukan EMRFS untuk membuat permintaan ke Amazon S3.
+ *my-data-bucket-in-s3-for-emrfs-reads-and-writes*menentukan bucket di Amazon S3 tempat cluster membaca dan menulis data dan semua sub-folder yang digunakan. */\$1* Menambahkan hanya bucket dan folder yang dibutuhkan aplikasi Anda.
+ Pernyataan kebijakan yang mengizinkan `dynamodb` tindakan hanya diperlukan jika tampilan konsisten EMRFS diaktifkan. *EmrFSMetadata*menentukan folder default untuk tampilan konsisten EMRFS.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:CreateBucket",
        "s3:DeleteObject",
        "s3:GetBucketVersioning",
        "s3:GetObject",
        "s3:GetObjectTagging",
        "s3:GetObjectVersion",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:ListBucketVersions",
        "s3:ListMultipartUploadParts",
        "s3:PutBucketVersioning",
        "s3:PutObject",
        "s3:PutObjectTagging"
      ],
      "Resource": [
        "arn:aws:s3:::my-data-bucket-in-s3-for-emrfs-reads-and-writes",
        "arn:aws:s3:::my-data-bucket-in-s3-for-emrfs-reads-and-writes/*"
      ],
      "Sid": "AllowS3Abortmultipartupload"
    },
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:CreateTable",
        "dynamodb:BatchGetItem",
        "dynamodb:BatchWriteItem",
        "dynamodb:PutItem",
        "dynamodb:DescribeTable",
        "dynamodb:DeleteItem",
        "dynamodb:GetItem",
        "dynamodb:Scan",
        "dynamodb:Query",
        "dynamodb:UpdateItem",
        "dynamodb:DeleteTable",
        "dynamodb:UpdateTable"
      ],
      "Resource": [
        "arn:aws:dynamodb:*:123456789012:table/EmrFSMetadata"
      ],
      "Sid": "AllowDYNAMODBCreatetable"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:PutMetricData",
        "dynamodb:ListTables",
        "s3:ListBucket"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowCLOUDWATCHPutmetricdata"
    },
    {
      "Effect": "Allow",
      "Action": [
        "sqs:GetQueueUrl",
        "sqs:ReceiveMessage",
        "sqs:DeleteQueue",
        "sqs:SendMessage",
        "sqs:CreateQueue"
      ],
      "Resource": [
        "arn:aws:sqs:*:123456789012:EMRFS-Inconsistency-*"
      ],
      "Sid": "AllowSQSGetqueueurl"
    }
  ]
}
```

------

### Mengarsipkan log file ke Amazon S3
<a name="emr-ec2-role-s3-logs"></a>

Pernyataan kebijakan berikut mengizinkan klaster Amazon EMR untuk log file arsip ke lokasi Amazon S3 yang ditentukan. Dalam contoh di bawah ini, ketika cluster *s3://MyLoggingBucket/MyEMRClusterLogs* dibuat, ditentukan menggunakan **lokasi folder Log S3** di konsol, menggunakan `--log-uri` opsi dari AWS CLI, atau menggunakan `LogUri` parameter dalam `RunJobFlow` perintah. Untuk informasi selengkapnya, lihat [Arsipkan berkas log ke Amazon S3](emr-plan-debugging.md#emr-plan-debugging-logs-archive).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::MyLoggingBucket/MyEMRClusterLogs/*"
      ],
      "Sid": "AllowS3Putobject"
    }
  ]
}
```

------

### Menggunakan Katalog Data AWS Glue
<a name="emr-ec2-role-glue"></a>

Pernyataan kebijakan berikut memungkinkan tindakan yang diperlukan jika Anda menggunakan Katalog Data AWS Glue sebagai metastore untuk aplikasi. *Untuk informasi selengkapnya, lihat [Menggunakan Katalog Data AWS Glue sebagai metastore untuk Spark SQL](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-glue.html), Menggunakan [Katalog Data AWS Glue sebagai metastore untuk Hive](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-metastore-glue.html), dan Menggunakan [Presto dengan AWS Katalog Data Glue di](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-presto-glue.html) Panduan Rilis Amazon EMR.*

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:CreateDatabase",
        "glue:UpdateDatabase",
        "glue:DeleteDatabase",
        "glue:GetDatabase",
        "glue:GetDatabases",
        "glue:CreateTable",
        "glue:UpdateTable",
        "glue:DeleteTable",
        "glue:GetTable",
        "glue:GetTables",
        "glue:GetTableVersions",
        "glue:CreatePartition",
        "glue:BatchCreatePartition",
        "glue:UpdatePartition",
        "glue:DeletePartition",
        "glue:BatchDeletePartition",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:BatchGetPartition",
        "glue:CreateUserDefinedFunction",
        "glue:UpdateUserDefinedFunction",
        "glue:DeleteUserDefinedFunction",
        "glue:GetUserDefinedFunction",
        "glue:GetUserDefinedFunctions"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowGLUECreatedatabase"
    }
  ]
}
```

------

# Peran layanan untuk penskalaan otomatis di Amazon EMR (peran Auto Scaling)
<a name="emr-iam-role-automatic-scaling"></a>

Peran Auto Scaling untuk Amazon EMR menjalankan fungsi yang sama seperti peran layanan, tetapi memungkinkan tindakan tambahan untuk lingkungan penskalaan dinamis.
+ Nama peran default adalah `EMR_AutoScaling_DefaultRole`.
+ Kebijakan terkelola default yang terlampir pada `EMR_AutoScaling_DefaultRole` adalah `AmazonElasticMapReduceforAutoScalingRole`.

Isi dari versi 1 dari `AmazonElasticMapReduceforAutoScalingRole` ditunjukkan di bawah ini.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "cloudwatch:DescribeAlarms",
        "elasticmapreduce:ListInstanceGroups",
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Sid": "AllowCLOUDWATCHDescribealarms"
    }
  ]
}
```

------

Peran layanan Anda harus menggunakan kebijakan kepercayaan berikut.

**penting**  
Kebijakan kepercayaan berikut mencakup [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)dan kunci kondisi [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)global, yang membatasi izin yang Anda berikan EMR Amazon ke sumber daya tertentu di akun Anda. Menggunakannya dapat melindungi Anda [dari masalah wakil yang membingungkan](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/ApplicationAutoScalingEMRRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:application-autoscaling:*:123456789012:scalable-target/*"
        }
      },
      "Sid": "AllowSTSAssumerole"
    }
  ]
}
```

------

# Peran layanan untuk EMR Notebooks
<a name="emr-managed-notebooks-service-role"></a>

Setiap notebook EMR memerlukan izin untuk mengakses AWS sumber daya lain dan melakukan tindakan. Kebijakan IAM yang dilampirkan pada peran layanan ini memberikan izin bagi notebook untuk berinteraksi dengan layanan lain. AWS Saat Anda membuat buku catatan menggunakan Konsol Manajemen AWS, Anda menentukan *peran AWS layanan*. Anda dapat menggunakan peran default, `EMR_Notebooks_DefaultRole`, atau tentukan peran yang Anda buat. Jika notebook belum dibuat sebelumnya, Anda dapat memilih untuk membuat peran default.
+ Nama peran default adalah `EMR_Notebooks_DefaultRole`.
+ Kebijakan terkelola default yang dilampirkan `EMR_Notebooks_DefaultRole` adalah `AmazonElasticMapReduceEditorsRole` dan`S3FullAccessPolicy`.

Peran layanan Anda harus menggunakan kebijakan kepercayaan berikut.

**penting**  
Kebijakan kepercayaan berikut mencakup [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)dan kunci kondisi [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)global, yang membatasi izin yang Anda berikan EMR Amazon ke sumber daya tertentu di akun Anda. Menggunakannya dapat melindungi Anda [dari masalah wakil yang membingungkan](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/EMRServiceRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:elasticmapreduce:*:123456789012:*"
        }
      },
      "Sid": "AllowSTSAssumerole"
    }
  ]
}
```

------

Isi dari versi 1 `AmazonElasticMapReduceEditorsRole` adalah sebagai berikut.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:CreateSecurityGroup",
        "ec2:DescribeSecurityGroups",
        "ec2:RevokeSecurityGroupEgress",
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeNetworkInterfaces",
        "ec2:ModifyNetworkInterfaceAttribute",
        "ec2:DescribeTags",
        "ec2:DescribeInstances",
        "ec2:DescribeSubnets",
        "ec2:DescribeVpcs",
        "elasticmapreduce:ListInstances",
        "elasticmapreduce:DescribeCluster",
        "elasticmapreduce:ListSteps"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowEC2Authorizesecuritygroupegress"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*"
      ],
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": [
            "aws:elasticmapreduce:editor-id",
            "aws:elasticmapreduce:job-flow-id"
          ]
        }
      },
      "Sid": "AllowEC2Createtags"
    }
  ]
}
```

------

Berikut ini adalah isi dari`S3FullAccessPolicy`. `S3FullAccessPolicy`Ini memungkinkan peran layanan Anda untuk EMR Notebooks untuk melakukan semua tindakan Amazon S3 pada objek di Anda. Akun AWS Saat Anda membuat peran layanan kustom untuk EMR Notebooks, Anda harus memberikan izin Amazon S3 peran layanan Anda.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:*"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowS3"
    }
  ]
}
```

------

Anda dapat mencatat akses baca dan tulis untuk peran layanan Anda ke lokasi Amazon S3 tempat Anda ingin menyimpan file notebook. Gunakan set minimum izin Amazon S3 berikut.

```
"s3:PutObject",
"s3:GetObject",
"s3:GetEncryptionConfiguration",
"s3:ListBucket",
"s3:DeleteObject"
```

Jika bucket Amazon S3 Anda dienkripsi, Anda harus menyertakan izin berikut untuk. AWS Key Management Service

```
"kms:Decrypt",
"kms:GenerateDataKey",
"kms:ReEncryptFrom",
"kms:ReEncryptTo",
"kms:DescribeKey"
```

Saat Anda menautkan repositori Git ke buku catatan Anda dan perlu membuat rahasia untuk repositori, Anda harus menambahkan `secretsmanager:GetSecretValue` izin dalam kebijakan IAM yang dilampirkan ke peran layanan untuk notebook Amazon EMR. Kebijakan contoh ditunjukkan di bawah ini: 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:GetSecretValue"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

## Izin peran layanan EMR Notebooks
<a name="emr-managed-notebooks-service-role-permissions"></a>

Tabel ini mencantumkan tindakan yang dilakukan EMR Notebooks menggunakan peran layanan, bersama dengan izin yang diperlukan untuk setiap tindakan.


****  

| Tindakan | Izin | 
| --- | --- | 
| Buat saluran jaringan aman antara notebook dan kluster EMR Amazon, dan lakukan tindakan pembersihan yang diperlukan. |  <pre>"ec2:CreateNetworkInterface", <br />"ec2:CreateNetworkInterfacePermission", <br />"ec2:DeleteNetworkInterface", <br />"ec2:DeleteNetworkInterfacePermission", <br />"ec2:DescribeNetworkInterfaces", <br />"ec2:ModifyNetworkInterfaceAttribute", <br />"ec2:AuthorizeSecurityGroupEgress", <br />"ec2:AuthorizeSecurityGroupIngress", <br />"ec2:CreateSecurityGroup",<br />"ec2:DescribeSecurityGroups", <br />"ec2:RevokeSecurityGroupEgress",<br />"ec2:DescribeTags",<br />"ec2:DescribeInstances",<br />"ec2:DescribeSubnets",<br />"ec2:DescribeVpcs",<br />"elasticmapreduce:ListInstances", <br />"elasticmapreduce:DescribeCluster", <br />"elasticmapreduce:ListSteps"</pre>  | 
| Gunakan kredensyal Git yang disimpan AWS Secrets Manager untuk menautkan repositori Git ke buku catatan. |  <pre>"secretsmanager:GetSecretValue"</pre>  | 
| Terapkan AWS tag ke antarmuka jaringan dan grup keamanan default yang dibuat EMR Notebooks saat menyiapkan saluran jaringan aman. Untuk informasi lebih lanjut, lihat [Menandai sumber daya AWS](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). |  <pre>"ec2:CreateTags"</pre>  | 
| Mengakses atau mengunggah file notebook dan metadata ke Amazon S3. |  <pre>"s3:PutObject",<br />"s3:GetObject",<br />"s3:GetEncryptionConfiguration",<br />"s3:ListBucket",<br />"s3:DeleteObject" </pre> Izin berikut hanya diperlukan jika Anda menggunakan bucket Amazon S3 terenkripsi. <pre>"kms:Decrypt",<br />"kms:GenerateDataKey",<br />"kms:ReEncryptFrom",<br />"kms:ReEncryptTo",<br />"kms:DescribeKey"</pre>  | 

## EMR Notebooks memperbarui kebijakan terkelola AWS
<a name="notebooks-slr-updates"></a>

Lihat detail tentang pembaruan kebijakan AWS terkelola untuk EMR Notebooks sejak 1 Maret 2021.


| Ubah | Deskripsi | Date | 
| --- | --- | --- | 
| AmazonElasticMapReduceEditorsRole - Added permissions | EMR Notebooks `ec2:describeVPCs` ditambahkan `elastmicmapreduce:ListSteps` dan izin untuk. `AmazonElasticMapReduceEditorsRole`  | Februari 8, 2023  | 
| EMR Notebooks mulai melacak perubahan  |  EMR Notebooks mulai melacak perubahan untuk AWS kebijakan terkelolanya.  | Februari 8, 2023  | 

# Menggunakan peran terkait layanan untuk Amazon EMR
<a name="using-service-linked-roles"></a>

[Amazon EMR menggunakan peran terkait layanan AWS Identity and Access Management (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Peran tertaut layanan adalah tipe IAM role unik yang ditautkan langsung ke Amazon EMR. Peran terkait layanan telah ditentukan sebelumnya oleh Amazon EMR dan mencakup semua izin yang diperlukan layanan untuk memanggil layanan lain atas nama Anda. AWS 

**Topics**
+ [Menggunakan peran terkait layanan untuk Amazon EMR untuk pembersihan](using-service-linked-roles-cleanup.md)
+ [Menggunakan peran terkait layanan dengan Amazon EMR untuk pencatatan tertulis](using-service-linked-roles-wal.md)

Untuk informasi tentang layanan lain yang mendukung peran terkait layanan, silakan lihat [layanan AWS yang bisa digunakan dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dan carilah layanan yang memiliki opsi **Ya** di kolom **Peran terkait layanan**. Pilih **Ya** dengan sebuah tautan untuk melihat dokumentasi peran terkait layanan untuk layanan tersebut.

# Menggunakan peran terkait layanan untuk Amazon EMR untuk pembersihan
<a name="using-service-linked-roles-cleanup"></a>

[Amazon EMR menggunakan peran terkait layanan AWS Identity and Access Management (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Peran tertaut layanan adalah tipe IAM role unik yang ditautkan langsung ke Amazon EMR. Peran terkait layanan telah ditentukan sebelumnya oleh Amazon EMR dan mencakup semua izin yang diperlukan layanan untuk memanggil layanan lain atas nama Anda. AWS 

Peran terkait layanan bekerja sama dengan peran layanan EMR Amazon dan profil instans Amazon EC2 untuk Amazon EMR. Untuk informasi selengkapnya tentang peran layanan dan profil instans, lihat [Konfigurasikan peran layanan IAM untuk izin AWS EMR Amazon ke layanan dan sumber daya](emr-iam-roles.md).

Peran terkait layanan membuat pengaturan EMR Amazon lebih mudah karena Anda tidak perlu menambahkan izin yang diperlukan secara manual. Amazon EMR mendefinisikan izin peran terkait layanannya, dan kecuali ditentukan lain, hanya EMR Amazon yang dapat mengambil perannya. Izin yang ditentukan mencakup kebijakan kepercayaan dan kebijakan izin, serta bahwa kebijakan izin tidak dapat dilampirkan ke entitas IAM lainnya.

Anda dapat menghapus peran terkait layanan ini untuk Amazon EMR hanya setelah Anda menghapus sumber daya terkait dan menghentikan semua kluster EMR di akun. Ini melindungi sumber daya EMR Amazon Anda sehingga Anda tidak dapat secara tidak sengaja menghapus izin untuk mengakses sumber daya.

## Menggunakan peran terkait layanan untuk pembersihan
<a name="using-service-linked-roles-permissions-cleanup"></a>

Amazon EMR menggunakan peran berbasis layanan untuk memberikan izin EMR Amazon **AWSServiceRoleForEMRCleanup**untuk menghentikan dan menghapus sumber daya Amazon EC2 atas nama Anda jika peran terkait layanan Amazon EMR kehilangan kemampuan itu. Amazon EMR membuat peran terkait layanan secara otomatis selama pembuatan klaster jika belum ada.

Peran AWSService RoleFor EMRCleanup terkait layanan mempercayai layanan berikut untuk mengambil peran:
+ `elasticmapreduce.amazonaws.com`

Kebijakan izin peran AWSService RoleFor EMRCleanup tertaut layanan memungkinkan Amazon EMR menyelesaikan tindakan berikut pada sumber daya yang ditentukan:
+ Tindakan: `DescribeInstances` pada `ec2`
+ Tindakan: `DescribeLaunchTemplates` pada `ec2`
+ Tindakan: `DeleteLaunchTemplate` pada `ec2`
+ Tindakan: `DescribeSpotInstanceRequests` pada `ec2`
+ Tindakan: `ModifyInstanceAttribute` pada `ec2`
+ Tindakan: `TerminateInstances` pada `ec2`
+ Tindakan: `CancelSpotInstanceRequests` pada `ec2`
+ Tindakan: `DeleteNetworkInterface` pada `ec2`
+ Tindakan: `DescribeInstanceAttribute` pada `ec2`
+ Tindakan: `DescribeVolumeStatus` pada `ec2`
+ Tindakan: `DescribeVolumes` pada `ec2`
+ Tindakan: `DetachVolume` pada `ec2`
+ Tindakan: `DeleteVolume` pada `ec2`
+ Tindakan: `DescribePlacementGroups` pada `ec2`
+ Tindakan: `DeletePlacementGroup` pada `ec2`

Anda harus mengonfigurasikan izin untuk mengizinkan entitas IAM (seperti pengguna, grup, atau peran) untuk membuat, menyunting, atau menghapus peran tertaut layanan.

## Membuat peran tertaut layanan untuk Amazon EMR
<a name="create-service-linked-role"></a>

Anda tidak perlu membuat AWSService RoleFor EMRCleanup peran secara manual. Saat Anda meluncurkan klaster, baik untuk pertama kalinya atau saat peran AWSService RoleFor EMRCleanup terkait layanan tidak ada, Amazon EMR membuat peran terkait AWSService RoleFor EMRCleanup layanan untuk Anda. Anda harus memiliki izin untuk membuat peran terkait layanan. Untuk pernyataan contoh yang menambahkan kemampuan ini ke kebijakan izin entitas IAM (seperti pengguna, grup, atau peran): 

Tambahkan pernyataan berikut ke kebijakan izin untuk entitas IAM yang perlu membuat peran terkait layanan.

```
{
             "Sid": "ElasticMapReduceServiceLinkedRole",
             "Effect": "Allow",
             "Action": "iam:CreateServiceLinkedRole",
             "Resource": "arn:aws:iam::*:role/aws-service-role/elasticmapreduce.amazonaws.com*/AWSServiceRoleForEMRCleanup*",
             "Condition": {
                 "StringEquals": {
                     "iam:AWSServiceName": [
                         "elasticmapreduce.amazonaws.com",
                         "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
                     ]
                 }
             }
 }
```

**penting**  
Jika Anda menggunakan Amazon EMR sebelum 24 Oktober 2017, ketika peran yang ditautkan layanan tidak didukung, maka Amazon EMR membuat peran yang ditautkan layanan di akun Anda. AWSService RoleFor EMRCleanup Untuk informasi lebih lanjut, lihat [Peran baru yang muncul di akun IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared).

## Menyunting peran tertaut layanan untuk Amazon EMR
<a name="edit-service-linked-role"></a>

Amazon EMR tidak memungkinkan Anda mengedit peran terkait AWSService RoleFor EMRCleanup layanan. Setelah membuat peran terkait layanan, Anda tidak dapat mengubah nama peran terkait layanan karena berbagai entitas mungkin mereferensikan peran terkait layanan. Namun, Anda dapat mengedit deskripsi peran terkait layanan menggunakan IAM.

### Menyunting deskripsi peran terkait layanan (konsol IAM)
<a name="edit-service-linked-role-iam-console"></a>

Anda dapat menggunakan konsol IAM untuk menyunting deskripsi peran terkait layanan.

**Untuk menyunting deskripsi peran terkait layanan (konsol IAM)**

1. Di panel navigasi konsol IAM, pilih **Peran**.

1. Memilih nama peran yang akan dimodifikasi.

1. Ke sebelah kanan **Deskripsi peran**memilih **Sunting**. 

1. Memasukkan Deskripsi baru di kotak, dan memilih **Simpan perubahan**.

### Mengedit Deskripsi peran tertaut layanan (IAM CLI)
<a name="edit-service-linked-role-iam-cli"></a>

Anda dapat menggunakan perintah IAM dari AWS Command Line Interface untuk mengedit deskripsi peran terkait layanan.

**Untuk mengubah Deskripsi peran tertaut layanan (CLI)**

1. (Opsional) Untuk melihat Deskripsi peran saat ini, gunakan perintah-perintah berikut:

   ```
   $ aws iam get-role --role-name role-name
   ```

   Gunakan nama peran, bukan ARN, untuk merujuk ke peran dengan perintah CLI. Misalnya, jika peran memiliki ARN berikut: `arn:aws:iam::123456789012:role/myrole`, referensi Anda ke peran sebagai **myrole**.

1. Untuk memperbarui Deskripsi peran tertaut layanan, gunakan perintah berikut:

   ```
   $ aws iam update-role-description --role-name role-name --description description
   ```

### Menyunting Deskripsi peran tertaut layanan (API IAM)
<a name="edit-service-linked-role-iam-api"></a>

Anda dapat menggunakan IAM API untuk menyunting deskripsi peran terkait layanan.

**Untuk mengubah deskripsi peran terkait layanan (API)**

1. (Opsional) Untuk melihat deskripsi peran saat ini, gunakan perintah berikut:

   API IAM: [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) 

1. Untuk memperbarui deskripsi dari sebuah peran, gunakan perintah berikut: 

   API IAM: [UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)

## Menghapus peran tertaut layanan untuk Amazon EMR
<a name="delete-service-linked-role"></a>

Jika Anda tidak perlu lagi menggunakan fitur atau layanan yang memerlukan peran terkait layanan, sebaiknya hapus peran terkait layanan tersebut. Dengan begitu, Anda tidak memiliki entitas yang tidak digunakan dan tidak dipantau atau dipelihara secara aktif. Namun, Anda harus membersihkan peran tertaut layanan sebelum dapat menghapusnya.

### Membersihkan peran terkait layanan
<a name="service-linked-role-review-before-delete"></a>

Sebelum Anda dapat menggunakan IAM untuk menghapus peran terkait layanan, Anda harus terlebih dahulu mengonfirmasi bahwa peran terkait layanan tidak memiliki sesi aktif dan menghapus sumber daya apa pun yang digunakan oleh peran terkait layanan.

**Untuk memastikan peran terkait layanan memiliki sesi aktif di konsol IAM**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**. Pilih nama (bukan kotak centang) peran AWSService RoleFor EMRCleanup terkait layanan.

1. Pada halaman **Ringkasan** untuk peran terkait layanan yang dipilih, pilih **Access** Advisor.

1. Di tab **Penasihat Akses**, ‍tinjau aktivitas terbaru untuk peran tertaut layanan.
**catatan**  
Jika Anda tidak yakin apakah Amazon EMR menggunakan AWSService RoleFor EMRCleanup peran terkait layanan, Anda dapat mencoba menghapus peran terkait layanan. Jika layanan menggunakan peran terkait layanan, penghapusan gagal dan Anda dapat melihat Wilayah tempat peran terkait layanan digunakan. Jika peran terkait layanan sedang digunakan, Anda harus menunggu sesi berakhir sebelum Anda dapat menghapus peran terkait layanan. Anda tidak dapat mencabut sesi untuk peran terkait layanan. 

**Untuk menghapus sumber daya EMR Amazon yang digunakan oleh AWSService RoleFor EMRCleanup**
+ Akhiri semua grup di akun Anda. Untuk informasi selengkapnya, lihat [Mengakhiri klaster EMR Amazon di status awal, berjalan, atau menunggu](UsingEMR_TerminateJobFlow.md).

### Menghapus peran tertaut layanan (Konsol IAM)
<a name="delete-service-linked-role-iam-console"></a>

Anda dapat menggunakan konsol IAM untuk menghapus sebuah peran terkait layanan.

**Untuk menghapus peran terkait layanan (konsol)**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**. Pilih kotak centang di sebelah AWSService RoleForEMRCleanup, bukan nama atau baris itu sendiri. 

1. Untuk **Tindakan peran** di bagian atas halaman, pilih **Hapus peran**.

1. Di kotak dialog konfirmasi, tinjau data layanan yang terakhir diakses, yang menunjukkan kapan masing-masing peran yang dipilih terakhir mengakses AWS layanan. Ini membantu Anda mengonfirmasi aktif tidaknya peran tersebut saat ini. Untuk melanjutkan, pilih **Ya, Hapus**.

1. Perhatikan notifikasi konsol IAM untuk memantau kemajuan penghapusan peran terkait layanan. Karena penghapusan peran tertaut layanan IAM bersifat asinkron, setelah Anda mengirimkan peran terkait layanan untuk penghapusan, tugas penghapusan dapat berhasil atau gagal. Jika tugas tersebut gagal, Anda dapat memilih **Lihat detail** atau **Lihat Sumber Daya** dari notifikasi untuk mempelajari alasan penghapusan gagal. Jika penghapusan gagal karena ada sumber daya di layanan yang digunakan oleh peran tersebut, maka alasan kegagalan tersebut mencakup daftar sumber daya.

### Menghapus peran tertaut layanan (IAM CLI)
<a name="delete-service-linked-role-iam-cli"></a>

Anda dapat menggunakan perintah IAM dari AWS Command Line Interface untuk menghapus peran terkait layanan. Karena peran tertaut layanan tidak dapat dihapus jika sedang digunakan atau memiliki sumber daya terkait, Anda harus kirim permintaan penghapusan. Permintaan tersebut dapat ditolak jika syarat ini tidak terpenuhi. 

**Untuk menghapus peran tertaut layanan (CLI)**

1. Untuk memeriksa status tugas penghapusan, Anda harus menangkap `deletion-task-id` dari tanggapan. Ketik perintah berikut dan kirim permintaan penghapusan peran tertaut layanan:

   ```
   $ aws iam [delete-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-service-linked-role.html) --role-name AWSServiceRoleForEMRCleanup
   ```

1. Ketik perintah berikut untuk memeriksa status tugas penghapusan:

   ```
   $ aws iam [get-service-linked-role-deletion-status](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-linked-role-deletion-status.html) --deletion-task-id deletion-task-id
   ```

   Status tugas penghapusan adalah `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED`, atau `FAILED`. Jika penghapusan gagal, panggilan akan mengembalikan alasan kegagalan panggilan agar Anda dapat memecahkan masalah.

### Menghapus peran terkait layanan (IAM API)
<a name="delete-service-linked-role-iam-api"></a>

Anda dapat menggunakan API IAM untuk menghapus peran tertaut layanan. Karena peran tertaut layanan tidak dapat dihapus jika sedang digunakan atau memiliki sumber daya terkait, Anda harus kirim permintaan penghapusan. Permintaan tersebut dapat ditolak jika syarat ini tidak terpenuhi. 

**Untuk menghapus peran terkait layanan (API)**

1. Untuk mengirimkan permintaan penghapusan peran terkait layanan, hubungi. [DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html) Dalam permintaan, tentukan nama AWSService RoleFor EMRCleanup peran.

   Untuk memeriksa status tugas penghapusan, Anda harus menangkap `DeletionTaskId` dari tanggapan.

1. Untuk memeriksa status penghapusan, panggil [GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html). Di permintaan tersebut, tentukan `DeletionTaskId`.

   Status tugas penghapusan dapat berupa `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED`, atau `FAILED`. Jika penghapusan gagal, panggilan akan mengembalikan alasan kegagalan panggilan agar Anda dapat memecahkan masalah.

## Wilayah yang Didukung untuk AWSService RoleFor EMRCleanup
<a name="emr-slr-regions"></a>

Amazon EMR mendukung penggunaan peran AWSService RoleFor EMRCleanup terkait layanan di Wilayah berikut.


****  

| Nama wilayah | Identitas wilayah | Support di Amazon EMR | 
| --- | --- | --- | 
| US East (N. Virginia) | us-east-1 | Ya | 
| US East (Ohio) | us-east-2 | Ya | 
| US West (N. California) | us-west-1 | Ya | 
| US West (Oregon) | us-west-2 | Ya | 
| Asia Pacific (Mumbai) | ap-south-1 | Ya | 
| Asia Pacific (Osaka) | ap-northeast-3 | Ya | 
| Asia Pacific (Seoul) | ap-northeast-2 | Ya | 
| Asia Pacific (Singapore) | ap-southeast-1 | Ya | 
| Asia Pacific (Sydney) | ap-southeast-2 | Ya | 
| Asia Pacific (Tokyo) | ap-northeast-1 | Ya | 
| Canada (Central) | ca-sentral-1 | Ya | 
| Eropa (Frankfurt) | eu-central-1 | Ya | 
| Eropa (Irlandia) | eu-west-1 | Ya | 
| Eropa (London) | eu-west-2 | Ya | 
| Europe (Paris) | eu-west-3 | Ya | 
| South America (São Paulo) | sa-east-1 | Ya | 

# Menggunakan peran terkait layanan dengan Amazon EMR untuk pencatatan tertulis
<a name="using-service-linked-roles-wal"></a>

[Amazon EMR menggunakan peran terkait layanan AWS Identity and Access Management (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Peran tertaut layanan adalah tipe IAM role unik yang ditautkan langsung ke Amazon EMR. Peran terkait layanan telah ditentukan sebelumnya oleh Amazon EMR dan mencakup semua izin yang diperlukan layanan untuk memanggil layanan lain atas nama Anda. AWS 

Peran terkait layanan bekerja sama dengan peran layanan EMR Amazon dan profil instans Amazon EC2 untuk Amazon EMR. Untuk informasi selengkapnya tentang peran layanan dan profil instans, lihat [Konfigurasikan peran layanan IAM untuk izin AWS EMR Amazon ke layanan dan sumber daya](emr-iam-roles.md).

Peran terkait layanan membuat pengaturan EMR Amazon lebih mudah karena Anda tidak perlu menambahkan izin yang diperlukan secara manual. Amazon EMR mendefinisikan izin peran terkait layanannya, dan kecuali ditentukan lain, hanya EMR Amazon yang dapat mengambil perannya. Izin yang ditentukan mencakup kebijakan kepercayaan dan kebijakan izin, serta bahwa kebijakan izin tidak dapat dilampirkan ke entitas IAM lainnya.

Anda dapat menghapus peran terkait layanan ini untuk Amazon EMR hanya setelah Anda menghapus sumber daya terkait dan menghentikan semua kluster EMR di akun. Ini melindungi sumber daya EMR Amazon Anda sehingga Anda tidak dapat secara tidak sengaja menghapus izin untuk mengakses sumber daya.

## Izin peran terkait layanan untuk logging penulisan ke depan (WAL)
<a name="using-service-linked-roles-permissions-wal"></a>

Amazon EMR menggunakan peran terkait layanan **AWSServiceRoleForEMRWAL** untuk mengambil status klaster. 

Peran terkait layanan AWSService RoleFor EMRWAL mempercayai layanan berikut untuk mengambil peran:
+ `emrwal.amazonaws.com`

Kebijakan [`EMRDescribeClusterPolicyForEMRWAL`](EMRDescribeClusterPolicyForEMRWAL.md)izin untuk peran terkait layanan memungkinkan Amazon EMR menyelesaikan tindakan berikut pada sumber daya yang ditentukan:
+ Tindakan: `DescribeCluster` pada `*`

Anda harus mengonfigurasi izin untuk mengizinkan entitas IAM (dalam hal ini, Amazon EMR WAL) untuk membuat, mengedit, atau menghapus peran terkait layanan. Tambahkan pernyataan berikut sesuai kebutuhan ke kebijakan izin untuk profil instans Anda:

## CreateServiceLinkedRole
<a name="iam-create-wal"></a>

**Untuk memungkinkan entitas IAM membuat peran terkait layanan AWSService RoleFor EMRWAL**

Menambahkan pernyataan berikut ke kebijakan izin untuk entitas IAM yang perlu membuat peran tertaut layanan.

```
{
    "Effect": "Allow",
    "Action": [
        "iam:CreateServiceLinkedRole",
        "iam:PutRolePolicy"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName": [
                "emrwal.amazonaws.com",
                "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
            ]
        }
    }
}
```

## UpdateRoleDescription
<a name="iam-update-wal"></a>

**Untuk mengizinkan entitas IAM mengedit deskripsi peran terkait layanan AWSService RoleFor EMRWAL**

Menambahkan pernyataan berikut ke kebijakan izin untuk entitas IAM yang perlu mengedit Deskripsi peran tertaut layanan.

```
{
    "Effect": "Allow",
    "Action": [
        "iam:UpdateRoleDescription"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName": [
                "emrwal.amazonaws.com",
                "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
            ]
        }
    }
}
```

## DeleteServiceLinkedRole
<a name="iam-delete-wal"></a>

**Untuk mengizinkan entitas IAM menghapus peran terkait layanan AWSService RoleFor EMRWAL**

Menambahkan pernyataan berikut ke kebijakan izin untuk entitas IAM yang perlu menghapus peran tertaut layanan:

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/elasticmapreduce.amazonaws.com*/AWSServiceRoleForEMRCleanup*",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName": [
                "emrwal.amazonaws.com",
                "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
            ]
        }
    }
}
```

## Membuat peran tertaut layanan untuk Amazon EMR
<a name="create-service-linked-role-wal"></a>

Anda tidak perlu membuat peran AWSService RoleFor EMRWAL secara manual. Amazon EMR membuat peran terkait layanan ini secara otomatis saat Anda membuat ruang kerja WAL dengan EMRWAL CLI atau dari AWS CloudFormation, atau HBase akan membuat peran terkait layanan saat Anda mengonfigurasi ruang kerja untuk Amazon EMR WAL dan peran terkait layanan belum ada. Anda harus memiliki izin untuk membuat peran terkait layanan. Misalnya pernyataan yang menambahkan kemampuan ini ke kebijakan izin entitas IAM (seperti pengguna, grup, atau peran), lihat bagian sebelumnya,. [Izin peran terkait layanan untuk logging penulisan ke depan (WAL)](#using-service-linked-roles-permissions-wal)

## Menyunting peran tertaut layanan untuk Amazon EMR
<a name="edit-service-linked-role-wal"></a>

Amazon EMR tidak memungkinkan Anda mengedit peran terkait layanan AWSService RoleFor EMRWAL. Setelah membuat peran terkait layanan, Anda tidak dapat mengubah nama peran terkait layanan karena berbagai entitas mungkin mereferensikan peran terkait layanan. Namun, Anda dapat mengedit deskripsi peran terkait layanan menggunakan IAM.

### Menyunting deskripsi peran terkait layanan (konsol IAM)
<a name="edit-service-linked-role-iam-console"></a>

Anda dapat menggunakan konsol IAM untuk menyunting deskripsi peran terkait layanan.

**Untuk menyunting deskripsi peran terkait layanan (konsol IAM)**

1. Di panel navigasi konsol IAM, pilih **Peran**.

1. Memilih nama peran yang akan dimodifikasi.

1. Ke sebelah kanan **Deskripsi peran**memilih **Sunting**. 

1. Memasukkan Deskripsi baru di kotak, dan memilih **Simpan perubahan**.

### Mengedit Deskripsi peran tertaut layanan (IAM CLI)
<a name="edit-service-linked-role-iam-cli"></a>

Anda dapat menggunakan perintah IAM dari AWS Command Line Interface untuk mengedit deskripsi peran terkait layanan.

**Untuk mengubah Deskripsi peran tertaut layanan (CLI)**

1. (Opsional) Untuk melihat Deskripsi peran saat ini, gunakan perintah-perintah berikut:

   ```
   $ aws iam get-role --role-name role-name
   ```

   Gunakan nama peran, bukan ARN, untuk merujuk ke peran dengan perintah CLI. Misalnya, jika peran memiliki ARN berikut: `arn:aws:iam::123456789012:role/myrole`, referensi Anda ke peran sebagai **myrole**.

1. Untuk memperbarui Deskripsi peran tertaut layanan, gunakan perintah berikut:

   ```
   $ aws iam update-role-description --role-name role-name --description description
   ```

### Menyunting Deskripsi peran tertaut layanan (API IAM)
<a name="edit-service-linked-role-iam-api"></a>

Anda dapat menggunakan IAM API untuk menyunting deskripsi peran terkait layanan.

**Untuk mengubah deskripsi peran terkait layanan (API)**

1. (Opsional) Untuk melihat deskripsi peran saat ini, gunakan perintah berikut:

   API IAM: [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) 

1. Untuk memperbarui deskripsi dari sebuah peran, gunakan perintah berikut: 

   API IAM: [UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)

## Menghapus peran tertaut layanan untuk Amazon EMR
<a name="delete-service-linked-role-wal"></a>

Jika Anda tidak perlu lagi menggunakan fitur atau layanan yang memerlukan peran terkait layanan, sebaiknya hapus peran terkait layanan tersebut. Dengan begitu, Anda tidak memiliki entitas yang tidak digunakan dan tidak dipantau atau dipelihara secara aktif. Namun, Anda harus membersihkan peran terkait layanan sebelum dapat menghapusnya.

**catatan**  
Operasi logging write-ahead tidak terpengaruh jika Anda menghapus peran AWSService RoleFor EMRWAL, tetapi Amazon EMR tidak akan otomatis menghapus log yang dibuatnya setelah kluster EMR Anda berakhir. Oleh karena itu, Anda harus menghapus log Amazon EMR WAL secara manual jika Anda menghapus peran terkait layanan.

### Membersihkan peran terkait layanan
<a name="service-linked-role-review-before-delete"></a>

Sebelum dapat menggunakan IAM untuk menghapus peran tertaut layanan, Anda harus mengonfirmasi terlebih dahulu bahwa peran tersebut tidak memiliki sesi aktif dan menghapus sumber daya yang digunakan oleh peran tersebut.

**Untuk memeriksa apakah peran terkait layanan memiliki sesi aktif di konsol IAM**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**. Pilih nama (bukan kotak centang) dari peran AWSService RoleFor EMRWAL.

1. Di halaman **Ringkasan** untuk peran yang dipilihmemilih **Penasihat Akses**.

1. Di tab **Penasihat Akses**, tinjau aktivitas terbaru untuk peran tertaut layanan.
**catatan**  
Jika Anda tidak yakin apakah Amazon EMR menggunakan AWSService RoleFor peran EMRWAL, Anda dapat mencoba menghapus peran terkait layanan. Jika layanan menggunakan peran, penghapusan gagal dan Anda dapat melihat Wilayah tempat peran terkait layanan digunakan. Jika peran terkait layanan sedang digunakan, Anda harus menunggu sesi berakhir sebelum Anda dapat menghapus peran terkait layanan. Anda tidak dapat mencabut sesi untuk peran terkait layanan. 

**Untuk menghapus sumber daya EMR Amazon yang digunakan oleh EMRWAL AWSService RoleFor**
+ Akhiri semua grup di akun Anda. Untuk informasi selengkapnya, lihat [Mengakhiri klaster EMR Amazon di status awal, berjalan, atau menunggu](UsingEMR_TerminateJobFlow.md).

### Menghapus peran tertaut layanan (Konsol IAM)
<a name="delete-service-linked-role-iam-console"></a>

Anda dapat menggunakan konsol IAM untuk menghapus sebuah peran terkait layanan.

**Untuk menghapus peran terkait layanan (konsol)**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**. Pilih kotak centang di sebelah AWSService RoleFor EMRWAL, bukan nama atau baris itu sendiri. 

1. Untuk **Tindakan peran** di bagian atas halaman, pilih **Hapus peran**.

1. Di kotak dialog konfirmasi, tinjau data layanan yang terakhir diakses, yang menunjukkan kapan masing-masing peran yang dipilih terakhir mengakses AWS layanan. Ini membantu Anda mengonfirmasi aktif tidaknya peran tersebut saat ini. Untuk melanjutkan, pilih **Ya, Hapus**.

1. Perhatikan notifikasi konsol IAM untuk memantau kemajuan penghapusan peran tertaut layanan. Karena penghapusan peran terkait layanan IAM bersifat asinkron, setelah Anda mengirimkan peran tersebut untuk penghapusan, tugas penghapusan dapat berhasil atau gagal. Jika tugas tersebut gagal, Anda dapat memilih **Lihat detail** atau **Lihat Sumber Daya** dari notifikasi untuk mempelajari alasan penghapusan gagal. Jika penghapusan gagal karena ada sumber daya di layanan yang digunakan oleh peran tersebut, maka alasan kegagalan tersebut mencakup daftar sumber daya.

### Menghapus peran tertaut layanan (IAM CLI)
<a name="delete-service-linked-role-iam-cli"></a>

Anda dapat menggunakan perintah IAM dari AWS Command Line Interface untuk menghapus peran terkait layanan. Karena peran tertaut layanan tidak dapat dihapus jika sedang digunakan atau memiliki sumber daya terkait, Anda harus kirim permintaan penghapusan. Permintaan tersebut dapat ditolak jika syarat ini tidak terpenuhi. 

**Untuk menghapus peran tertaut layanan (CLI)**

1. Untuk memeriksa status tugas penghapusan, Anda harus menangkap `deletion-task-id` dari tanggapan. Ketik perintah berikut dan kirim permintaan penghapusan peran tertaut layanan:

   ```
   $ aws iam [delete-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-service-linked-role.html) --role-name AWSServiceRoleForEMRWAL
   ```

1. Ketik perintah berikut untuk memeriksa status tugas penghapusan:

   ```
   $ aws iam [get-service-linked-role-deletion-status](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-linked-role-deletion-status.html) --deletion-task-id deletion-task-id
   ```

   Status tugas penghapusan adalah `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED`, atau `FAILED`. Jika penghapusan gagal, panggilan akan mengembalikan alasan kegagalan panggilan agar Anda dapat memecahkan masalah.

### Menghapus peran terkait layanan (IAM API)
<a name="delete-service-linked-role-iam-api"></a>

Anda dapat menggunakan API IAM untuk menghapus peran tertaut layanan. Karena peran tertaut layanan tidak dapat dihapus jika sedang digunakan atau memiliki sumber daya terkait, Anda harus kirim permintaan penghapusan. Permintaan tersebut dapat ditolak jika syarat ini tidak terpenuhi. 

**Untuk menghapus peran terkait layanan (API)**

1. Untuk mengirimkan permintaan penghapusan peran terkait layanan, hubungi. [DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html) Dalam permintaan, tentukan nama peran AWSService RoleFor EMRWAL.

   Untuk memeriksa status tugas penghapusan, Anda harus menangkap `DeletionTaskId` dari tanggapan.

1. Untuk memeriksa status penghapusan, panggil [GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html). Di permintaan tersebut, tentukan `DeletionTaskId`.

   Status tugas penghapusan dapat berupa `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED`, atau `FAILED`. Jika penghapusan gagal, panggilan akan mengembalikan alasan kegagalan panggilan agar Anda dapat memecahkan masalah.

## Wilayah yang Didukung untuk AWSService RoleFor EMRWAL
<a name="emr-slr-regions-wal"></a>

Amazon EMR mendukung penggunaan peran terkait layanan AWSService RoleFor EMRWAL di Wilayah berikut.


****  

| Nama wilayah | Identitas wilayah | Support di Amazon EMR | 
| --- | --- | --- | 
| US East (N. Virginia) | us-east-1 | Ya | 
| US East (Ohio) | us-east-2 | Ya | 
| US West (N. California) | us-west-1 | Ya | 
| US West (Oregon) | us-west-2 | Ya | 
| Asia Pacific (Mumbai) | ap-south-1 | Ya | 
| Asia Pacific (Singapore) | ap-southeast-1 | Ya | 
| Asia Pacific (Sydney) | ap-southeast-2 | Ya | 
| Asia Pacific (Tokyo) | ap-northeast-1 | Ya | 
| Eropa (Frankfurt) | eu-central-1 | Ya | 
| Eropa (Irlandia) | eu-west-1 | Ya | 

# Sesuaikan peran IAM dengan Amazon EMR
<a name="emr-iam-roles-custom"></a>

Anda mungkin ingin menyesuaikan peran layanan IAM dan izin untuk membatasi hak sesuai dengan persyaratan keamanan Anda. Untuk menyesuaikan izin, kami merekomendasikan Anda membuat peran dan kebijakan baru. Mulai dengan izin di kebijakan terkelola untuk peran default (misalnya, `AmazonElasticMapReduceforEC2Role` dan `AmazonElasticMapReduceRole`). Kemudian, salin dan tempel konten untuk pernyataan kebijakan baru, modifikasi izin yang sesuai, dan melampirkan kebijakan izin yang sudah diubah untuk peran yang Anda buat. Anda harus memiliki izin IAM yang sesuai untuk bekerja dengan peran dan kebijakan. Untuk informasi selengkapnya, lihat [Mengizinkan pengguna dan grup untuk membuat dan memodifikasi peran](emr-iam-roles-create-permissions.md).

Jika Anda membuat peran EMR kustom untuk EC2, ikuti alur kerja basic, yang secara otomatis membuat profil instans dengan nama yang sama. Amazon EC2 mengizinkan Anda untuk membuat profil instans dan peran dengan nama yang berbeda, tetapi Amazon EMR tidak support konfigurasi ini, dan itu menghasilkan kesalahan "profil instans tidak valid" ketika Anda membuat klaster. 

**penting**  
Kebijakan inline tidak diperbarui secara otomatis ketika persyaratan layanan berubah. Jika Anda membuat dan melampirkan kebijakan inline, perhatikan bahwa pembaruan layanan mungkin terjadi yang tiba-tiba menyebabkan kesalahan izin. Untuk informasi lebih lanjut tentang, [Kebijakan Terkelola dan Kebijakan Inline](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies_managed-vs-inline.html) di *Panduan Pengguna IAM* dan [Menentukan IAM role kustom ketika Anda membuat sebuah klaster](#emr-iam-roles-launch-jobflow).

Untuk informasi selengkapnya tentang IAM role, lihat topik berikut di bagian *Panduan Pengguna IAM*:
+  [Membuat peran untuk mendelegasikan izin ke layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) 
+  [Memodifikasi peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/modifying-role.html) 
+  [Menghapus peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/deleting-roles.html) 

## Menentukan IAM role kustom ketika Anda membuat sebuah klaster
<a name="emr-iam-roles-launch-jobflow"></a>

Anda menentukan peran layanan untuk Amazon EMR dan peran untuk profil instans Amazon EC2 ketika Anda membuat sebuah klaster. Pengguna yang menciptakan klaster membutuhkan izin untuk mengambil dan menetapkan peran Amazon EMR dan instans EC2. Jika tidak, **akun tidak diizinkan untuk memanggil kesalahan EC2** terjadi. Untuk informasi selengkapnya, lihat [Mengizinkan pengguna dan grup untuk membuat dan memodifikasi peran](emr-iam-roles-create-permissions.md).

### Gunakan konsol untuk menentukan peran kustom
<a name="emr-iam-roles-launch-console"></a>

Ketika Anda membuat sebuah klaster, Anda dapat menentukan peran layanan kustom untuk Amazon EMR, peran kustom untuk profil instans EC2, dan peran Auto Scaling kustom menggunakan **Opsi lanjutan**. Saat Anda menggunakan **Opsi cepat**, peran layanan default dan peran default untuk profil instans EC2 ditentukan. Untuk informasi selengkapnya, lihat [Peran layanan IAM yang digunakan oleh Amazon EMR](emr-iam-service-roles.md).

------
#### [ Console ]

**Untuk menentukan peran IAM kustom dengan konsol**

Saat membuat klaster dengan konsol, Anda harus menentukan peran layanan khusus untuk Amazon EMR dan peran khusus untuk profil instans EC2. Untuk informasi selengkapnya, lihat [Peran layanan IAM yang digunakan oleh Amazon EMR](emr-iam-service-roles.md).

1. [Masuk ke Konsol Manajemen AWS, dan buka konsol EMR Amazon di https://console.aws.amazon.com /emr.](https://console.aws.amazon.com/emr)

1. **Di bawah **EMR pada EC2** di panel navigasi kiri, pilih Clusters, lalu pilih **Create cluster**.**

1. Di bawah **Konfigurasi dan izin keamanan**, temukan **peran IAM untuk profil instans** dan **peran Layanan untuk bidang EMR Amazon**. Untuk setiap tipe peran, Anda memilih peran dari daftar. Hanya peran di akun Anda yang memiliki kebijakan kepercayaan yang sesuai untuk tipe peran yang tercantum.

1. Pilih opsi lain yang berlaku untuk cluster Anda. 

1. Untuk meluncurkan klaster Anda, pilih **Buat klaster**.

------

### Gunakan AWS CLI untuk menentukan peran kustom
<a name="emr-iam-roles-launch-cli"></a>

Anda dapat menentukan peran layanan untuk Amazon EMR dan peran layanan untuk instance EC2 cluster secara eksplisit menggunakan opsi dengan perintah dari. `create-cluster` AWS CLI Gunakan opsi `--service-role` untuk menentukan peran layanan. Gunakan argumen `InstanceProfile` dari opsi `--ec2-attributes` untuk menentukan peran untuk profil instans EC2.

Peran Auto Scaling ditentukan menggunakan opsi terpisah, `--auto-scaling-role`. Untuk informasi selengkapnya, lihat [Menggunakan penskalaan otomatis dengan kebijakan khusus untuk grup instans di Amazon EMR](emr-automatic-scaling.md).

**Untuk menentukan peran IAM kustom menggunakan AWS CLI**
+ Perintah berikut menentukan peran layanan kustom*MyCustomServiceRoleForEMR*, dan peran kustom untuk profil instans EC2*MyCustomServiceRoleForClusterEC2Instances*, saat meluncurkan cluster. Contoh ini menggunakan peran Amazon EMR default.
**catatan**  
Karakter lanjutan baris Linux (\$1) disertakan untuk dibaca. Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan caret (^).

  ```
  aws emr create-cluster --name "Test cluster" --release-label emr-7.12.0 \
  --applications Name=Hive Name=Pig --service-role MyCustomServiceRoleForEMR \
  --ec2-attributes InstanceProfile=MyCustomServiceRoleForClusterEC2Instances,\
  KeyName=myKey --instance-type m5.xlarge --instance-count 3
  ```

Anda dapat menggunakan opsi ini untuk menentukan peran default secara eksplisit alih-alih menggunakan opsi `--use-default-roles`. Opsi `--use-default-roles` menentukan peran layanan dan peran untuk profil instans EC2 didefinisikan di file `config` untuk AWS CLI.

Contoh berikut menunjukkan isi `config` file untuk menentukan peran kustom untuk Amazon EMR. AWS CLI Dengan file konfigurasi ini, ketika `--use-default-roles` opsi ditentukan, cluster dibuat menggunakan *MyCustomServiceRoleForEMR* dan*MyCustomServiceRoleForClusterEC2Instances*. Secara default, file `config` menentukan default `service_role` sebagai `AmazonElasticMapReduceRole` dan `instance_profile` default sebagai `EMR_EC2_DefaultRole`.

```
[default]
output = json
region = us-west-1
aws_access_key_id = myAccessKeyID
aws_secret_access_key = mySecretAccessKey
emr =
     service_role = MyCustomServiceRoleForEMR
     instance_profile = MyCustomServiceRoleForClusterEC2Instances
```

# Konfigurasi IAM role untuk permintaan EMRFS ke Amazon S3
<a name="emr-emrfs-iam-roles"></a>

**catatan**  
Kemampuan pemetaan peran EMRFS yang dijelaskan di halaman ini telah ditingkatkan dengan diperkenalkannya Hibah Akses Amazon S3 di Amazon EMR 6.15.0. Untuk solusi kontrol akses yang dapat diskalakan untuk data Anda di Amazon S3, sebaiknya [gunakan Hibah Akses S3 dengan](emr-access-grants.md) Amazon EMR.

Ketika aplikasi yang berjalan pada data referensi cluster menggunakan `s3://mydata` format, Amazon EMR menggunakan EMRFS untuk membuat permintaan. [Untuk berinteraksi dengan Amazon S3, EMRFS mengasumsikan kebijakan izin yang dilampirkan ke profil instans Amazon EC2 Anda.](emr-iam-role-for-ec2.md) Profil instans Amazon EC2 yang sama digunakan terlepas dari pengguna atau grup yang menjalankan aplikasi atau lokasi data di Amazon S3. 

Jika Anda memiliki klaster dengan beberapa pengguna yang memerlukan tingkat akses data yang berbeda di Amazon S3 melalui EMRFS, Anda dapat mengatur konfigurasi keamanan dengan peran IAM untuk EMRFS. EMRFS dapat mengambil peran layanan yang berbeda untuk instans EC2 klaster berdasarkan pengguna atau grup yang membuat permintaan, atau berdasarkan lokasi data di Amazon S3. Setiap IAM role untuk EMRFS dapat memiliki izin yang berbeda untuk akses data di Amazon S3. Untuk informasi selengkapnya tentang peran layanan untuk instans EC2 cluster, lihat. [Peran layanan untuk instans EC2 klaster (profil instans EC2)](emr-iam-role-for-ec2.md)

Menggunakan peran IAM khusus untuk EMRFS didukung di Amazon EMR versi 5.10.0 dan yang lebih baru. Jika Anda menggunakan versi yang lebih lama atau memiliki persyaratan di luar peran IAM untuk EMRFS yang disediakan, Anda dapat membuat penyedia kredensyal kustom sebagai gantinya. Untuk informasi selengkapnya, lihat [Mengotorisasi akses ke data EMRFS di Amazon S3](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-plan-credentialsprovider). 

Ketika Anda menggunakan konfigurasi keamanan untuk menentukan IAM role untuk EMRFS, Anda mengatur pemetaan peran. Setiap pemetaan peran menentukan IAM role yang sesuai dengan pengidentifikasi. Pengidentifikasi ini menentukan dasar untuk akses ke Amazon S3 melalui EMRFS. Pengidentifikasi dapat berupa pengguna, grup, atau prefiks Amazon S3 yang menunjukkan lokasi data. Ketika EMRFS membuat permintaan untuk Amazon S3, jika permintaan cocok dengan dasar untuk akses, EMRFS memiliki instans EC2 klaster menganggap IAM role sesuai untuk permintaan. Izin IAM yang terlampir pada peran yang berlaku bukan izin IAM yang terlampir pada peran layanan untuk instans EC2 klaster.

Para pengguna dan grup di pemetaan peran adalah pengguna Hadoop dan grup yang didefinisikan pada klaster. Pengguna dan grup dilewatkan ke EMRFS di konteks aplikasi yang menggunakannya (misalnya, peniruan pengguna YARN). Prefiks Amazon S3 bisa menjadi penspesifikasi bucket dari kedalaman apapun (misalnya, `s3://amzn-s3-demo-bucket` atau `s3://amzn-s3-demo-bucket/myproject/mydata`). Anda dapat menentukan beberapa pengidentifikasi di pemetaan peran tunggal, tetapi mereka semua harus dari tipe yang sama.

**penting**  
IAM role untuk EMRFS menyediakan isolasi tingkat aplikasi antara pengguna aplikasi. Ini tidak menyediakan isolasi tingkat host antara pengguna pada host. Setiap pengguna dengan akses ke klaster dapat melewati isolasi untuk mengambil salah satu peran.

Ketika aplikasi klaster membuat permintaan untuk Amazon S3 melalui EMRFS, EMRFS mengevaluasi pemetaan peran di urutan top-down yang mereka muncul di konfigurasi keamanan. Jika permintaan yang dibuat melalui EMRFS tidak cocok dengan pengidentifikasi apapun, EMRFS akan kembali menggunakan peran layanan untuk instans EC2 klaster. Untuk alasan ini, kami merekomendasikan bahwa kebijakan yang terlampir pada peran ini membatasi izin untuk Amazon S3. Untuk informasi selengkapnya, lihat [Peran layanan untuk instans EC2 klaster (profil instans EC2)](emr-iam-role-for-ec2.md).

## Konfigurasi peran
<a name="emr-emrfs-iam-roles-role-configuration"></a>

Sebelum Anda mengatur konfigurasi keamanan dengan IAM role untuk EMRFS, rencanakan dan buat kebijakan peran dan izin untuk dilampirkan ke peran. Untuk informasi selengkapnya, lihat [Cara kerja peran untuk instans EC2?](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html) di *Panduan Pengguna IAM*. Saat membuat kebijakan izin, sebaiknya Anda memulai dengan kebijakan terkelola yang dilampirkan ke peran EMR Amazon default untuk EC2, lalu mengedit kebijakan ini sesuai dengan kebutuhan Anda. Nama peran default adalah `EMR_EC2_DefaultRole`, dan kebijakan terkelola default untuk mengedit adalah `AmazonElasticMapReduceforEC2Role`. Untuk informasi selengkapnya, lihat [Peran layanan untuk instans EC2 klaster (profil instans EC2)](emr-iam-role-for-ec2.md).

### Memperbarui kebijakan kepercayaan untuk mengambil izin peran
<a name="emr-emrfs-iam-role-trust-policy"></a>

Setiap peran yang digunakan EMRFS harus memiliki kebijakan kepercayaan yang memungkinkan peran Amazon EMR klaster untuk EC2 untuk mengambilnya. Demikian pula, peran Amazon EMR cluster untuk EC2 harus memiliki kebijakan kepercayaan yang memungkinkan peran EMRFS untuk mengambilnya.

Kebijakan contoh kepercayaan berikut dilampirkan ke peran untuk EMRFS. Pernyataan tersebut memungkinkan peran EMR Amazon default untuk EC2 untuk mengambil peran tersebut. Misalnya, jika Anda memiliki dua peran EMRFS fiktif, `EMRFSRole_First` dan `EMRFSRole_Second`, pernyataan kebijakan ini ditambahkan ke setiap kebijakan kepercayaan.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/EMR_EC2_DefaultRole",
      "Sid": "AllowSTSAssumerole"
    }
  ]
}
```

------

Selain itu, contoh pernyataan kebijakan kepercayaan ditambahkan ke `EMR_EC2_DefaultRole` untuk mengizinkan dua peran EMRFS fiktif untuk mengambilnya.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": [
        "arn:aws:iam::123456789012:role/EMRFSRole_First",
        "arn:aws:iam::123456789012:role/EMRFSRole_Second"
      ],
      "Sid": "AllowSTSAssumerole"
    }
  ]
}
```

------

**Untuk memperbarui kebijakan kepercayaan IAM role**

Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Memilih **Peran**, memasukkan nama peran di **Cari**, dan lalu pilih **Nama peran**.

1. Memilih **Hubungan kepercayaan**, **Sunting hubungan kepercayaan**.

1. Tambahkan pernyataan kepercayaan sesuai dengan **dokumen Kebijakan** sesuai dengan pedoman di atas, lalu pilih **Perbarui kebijakan kepercayaan**.

### Menentukan peran sebagai pengguna kunci
<a name="emr-emrfs-iam-role-key-user"></a>

Jika peran memungkinkan akses ke lokasi di Amazon S3 yang dienkripsi menggunakan AWS KMS key, pastikan peran tersebut ditentukan sebagai pengguna kunci. Ini memberikan izin peran untuk menggunakan kunci KMS. Untuk informasi selengkapnya, lihat [Kebijakan kunci di AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html#key-policy-default-allow-users) di *Panduan Developer AWS Key Management Service *.

## Mengatur konfigurasi keamanan dengan IAM role untuk EMRFS
<a name="emr-emrfs-iam-roles-setup"></a>

**penting**  
Jika tidak ada peran IAM untuk EMRFS yang Anda tentukan berlaku, EMRFS kembali ke peran EMR Amazon untuk EC2. Pertimbangkan untuk menyesuaikan peran ini untuk membatasi izin ke Amazon S3 yang sesuai untuk aplikasi Anda dan kemudian menentukan peran kustom ini alih-alih `EMR_EC2_DefaultRole` saat Anda membuat klaster. Untuk informasi lebih lanjut, lihat [Sesuaikan peran IAM dengan Amazon EMR](emr-iam-roles-custom.md) dan [Menentukan IAM role kustom ketika Anda membuat sebuah klaster](emr-iam-roles-custom.md#emr-iam-roles-launch-jobflow).

**Untuk menentukan IAM role untuk permintaan EMRFS ke Amazon S3 menggunakan konsol**

1. Membuat konfigurasi keamanan yang menentukan pemetaan peran:

   1. Di konsol Amazon EMR memilih **Konfigurasi keamanan**, **Buat**.

   1. Ketik **Nama** untuk konfigurasi keamanan. Anda menggunakan nama ini untuk menentukan konfigurasi keamanan ketika Anda membuat sebuah klaster.

   1. Memilih **Gunakan IAM role untuk permintaan EMRFS ke Amazon S3**.

   1. Pilih **IAM role** untuk meminta, dan di bawah **Dasar untuk mengakses** memilih tipe pengidentifikasi (**Pengguna**, **Grup**, atau **prefiks S3**) dari daftar dan memasukkan pengidentifikasi yang sesuai. Jika Anda menggunakan beberapa pengidentifikasi, pisahkan dengan koma dan jangan ada spasi. Untuk informasi lebih lanjut tentang setiap tipe pengidentifikasi, lihat [JSON configuration reference](#emrfs-seccfg-json) berikut ini.

   1. Memilih **Menambah peran** untuk mengatur pemetaan peran tambahan seperti yang dijelaskan di langkah sebelumnya.

   1. Mengatur opsi konfigurasi keamanan lain yang sesuai dan memilih **Buat**. Untuk informasi selengkapnya, lihat [Buat konfigurasi keamanan dengan konsol EMR Amazon atau dengan AWS CLI](emr-create-security-configuration.md).

1. Tentukan konfigurasi keamanan yang Anda buat di atas saat Anda membuat sebuah klaster. Untuk informasi selengkapnya, lihat [Menentukan konfigurasi keamanan untuk klaster EMR Amazon](emr-specify-security-configuration.md).

**Untuk menentukan peran IAM untuk permintaan EMRFS ke Amazon S3 menggunakan AWS CLI**

1. Penggunaan perintah `aws emr create-security-configuration`, menentukan nama untuk konfigurasi keamanan, dan detail konfigurasi keamanan dalam format JSON.

   Contoh perintah yang ditunjukkan di bawah ini menciptakan konfigurasi keamanan dengan nama `EMRFS_Roles_Security_Configuration`. Hal ini didasarkan pada struktur JSON di file `MyEmrfsSecConfig.json`, yang disimpan di direktori yang sama dimana perintah dijalankan.

   ```
   aws emr create-security-configuration --name EMRFS_Roles_Security_Configuration --security-configuration file://MyEmrFsSecConfig.json.
   ```

   Gunakan pedoman berikut untuk struktur file `MyEmrFsSecConfig.json`. Anda dapat menentukan struktur ini bersama dengan struktur untuk opsi konfigurasi keamanan lainnya. Untuk informasi selengkapnya, lihat [Buat konfigurasi keamanan dengan konsol EMR Amazon atau dengan AWS CLI](emr-create-security-configuration.md).

   Berikut ini adalah contoh potongan JSON untuk menentukan IAM role kustom untuk EMRFS di konfigurasi keamanan. Ini menunjukkan pemetaan peran untuk tiga tipe pengidentifikasi yang berbeda, diikuti dengan referensi parameter. 

   ```
   {
     "AuthorizationConfiguration": {
       "EmrFsConfiguration": {
         "RoleMappings": [{
           "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_user1",
           "IdentifierType": "User",
           "Identifiers": [ "user1" ]
         },{
           "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_to_demo_s3_buckets",
           "IdentifierType": "Prefix",
           "Identifiers": [ "s3://amzn-s3-demo-bucket1/","s3://amzn-s3-demo-bucket2/" ]
         },{
           "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_AdminGroup",
           "IdentifierType": "Group",
           "Identifiers": [ "AdminGroup" ]
         }]
       }
     }
   }
   ```    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/emr/latest/ManagementGuide/emr-emrfs-iam-roles.html)

1. Menggunakan perintah `aws emr create-cluster` untuk membuat sebuah klaster dan menentukan konfigurasi keamanan yang Anda buat di langkah sebelumnya. 

   Contoh berikut membuat klaster dengan memasang aplikasi Hadoop inti default. Cluster menggunakan konfigurasi keamanan yang dibuat di atas sebagai `EMRFS_Roles_Security_Configuration` dan juga menggunakan peran EMR Amazon khusus untuk EC2`EC2_Role_EMR_Restrict_S3`, yang ditentukan menggunakan `InstanceProfile` argumen parameter. `--ec2-attributes`
**catatan**  
Karakter lanjutan baris Linux (\$1) disertakan agar mudah dibaca Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).

   ```
   aws emr create-cluster --name MyEmrFsS3RolesCluster \
   --release-label emr-7.12.0 --ec2-attributes InstanceProfile=EC2_Role_EMR_Restrict_S3,KeyName=MyKey \
   --instance-type m5.xlarge --instance-count 3 \
   --security-configuration EMRFS_Roles_Security_Configuration
   ```

# Menggunakan kebijakan berbasis sumber daya untuk akses Amazon EMR ke Glue Data Catalog AWS
<a name="emr-iam-roles-glue"></a>

Jika Anda menggunakan AWS Glue bersama dengan Hive, Spark, atau Presto di Amazon EMR AWS , Glue mendukung kebijakan berbasis sumber daya untuk mengontrol akses ke sumber daya Katalog Data. Sumber daya ini termasuk database, tabel, koneksi, dan fungsi yang ditetapkan pengguna. Untuk informasi lebih lanjut, lihat [AWS Kebijakan sumber daya Glue](https://docs.aws.amazon.com/glue/latest/dg/glue-resource-policies.html) di *AWS Panduan Developer Glue*.

Saat menggunakan kebijakan berbasis sumber daya untuk membatasi akses ke Glue AWS dari dalam Amazon EMR, prinsip yang Anda tentukan dalam kebijakan izin harus berupa ARN peran yang terkait dengan profil instans EC2 yang ditentukan saat kluster dibuat. Misalnya, untuk kebijakan berbasis sumber daya yang dilampirkan ke katalog, Anda dapat menentukan peran ARN untuk peran layanan default untuk instance EC2 klaster, *EMR\$1EC2\$1DefaultRole* seperti`Principal`, menggunakan format yang ditampilkan dalam contoh berikut:

```
arn:aws:iam::acct-id:role/EMR_EC2_DefaultRole
```

*acct-id*Bisa berbeda dari ID akun AWS Glue. Hal ini memungkinkan akses dari cluster EMR di account yang berbeda. Anda dapat menentukan beberapa kepala sekolah, masing-masing dari akun yang berbeda.

# Gunakan peran IAM dengan aplikasi yang memanggil AWS layanan secara langsung
<a name="emr-iam-roles-calling"></a>

Aplikasi yang berjalan pada instans EC2 dari sebuah cluster dapat menggunakan profil instans EC2 untuk mendapatkan kredensyal keamanan sementara saat memanggil layanan. AWS 

Versi Hadoop tersedia dengan Amazon EMR rilis 2.3.0 dan versi terbaru telah diperbarui untuk memanfaatkan IAM role. Jika aplikasi Anda berjalan ketat di atas arsitektur Hadoop, dan tidak langsung memanggil layanan apa pun AWS, itu harus bekerja dengan peran IAM tanpa modifikasi.

Jika aplikasi Anda memanggil layanan secara AWS langsung, Anda perlu memperbaruinya untuk memanfaatkan peran IAM. Ini berarti bahwa alih-alih mendapatkan kredensial akun dari `/etc/hadoop/conf/core-site.xml` di instans EC2 di klaster, aplikasi Anda menggunakan SDK untuk mengakses sumber daya yang menggunakan IAM role, atau memanggil metadata instans EC2 untuk mendapatkan kredensial sementara.

**Untuk mengakses AWS sumber daya dengan peran IAM menggunakan SDK**
+ Topik berikut menunjukkan cara menggunakan beberapa AWS SDKs untuk mengakses kredensyal sementara menggunakan peran IAM. Setiap topik dimulai dengan versi aplikasi yang tidak menggunakan IAM role dan membawa Anda melalui proses mengubah aplikasi untuk menggunakan IAM role. 
  +  [Menggunakan IAM role untuk instans Amazon EC2 dengan SDK for Java ](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/java-dg-roles.html) di *AWS SDK untuk Java Panduan Developer* 
  +  [Menggunakan IAM role untuk instans Amazon EC2 dengan SDK for .NET ](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-roles.html) di *AWS SDK untuk .NET Panduan Developer* 
  +  [Menggunakan IAM role untuk instans Amazon EC2 dengan SDK for PHP ](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/php-dg-roles.html) di *AWS SDK untuk PHP Panduan Developer* 
  +  [Menggunakan IAM role untuk instans Amazon EC2 dengan SDK for Ruby ](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/ruby-dg-roles.html) di *AWS SDK untuk Ruby Panduan Developer* 

**Untuk mendapatkan kredensial sementara dari metadata instans EC2**
+ Panggil URL berikut dari instans EC2 yang berjalan dengan peran IAM yang ditentukan, yang mengembalikan kredensyal keamanan sementara terkait (,AccessKeyId, SecretAccessKey SessionToken, dan Kedaluwarsa). Contoh berikut menggunakan profil instans default untuk Amazon EMR, `EMR_EC2_DefaultRole`. 

  ```
  GET http://169.254.169.254/latest/meta-data/iam/security-credentials/EMR_EC2_DefaultRole
  ```

Untuk informasi selengkapnya tentang menulis aplikasi yang menggunakan peran IAM, lihat [Memberikan aplikasi yang berjalan di instans Amazon EC2 akses](https://docs.aws.amazon.com/IAM/latest/UserGuide/role-usecase-ec2app.html) ke sumber daya. AWS 

Untuk informasi lebih lanjut tentang kredensial keamanan sementara, lihat [Menggunakan kredensial keamanan sementara](https://docs.aws.amazon.com/STS/latest/UsingSTS/using-temp-creds.html) di panduan *Menggunakan Kredensial Keamanan Sementara*. 

# Mengizinkan pengguna dan grup untuk membuat dan memodifikasi peran
<a name="emr-iam-roles-create-permissions"></a>

Utama IAM (pengguna dan grup) yang membuat, memodifikasi, dan menentukan peran untuk sebuah klaster, termasuk peran default, harus diizinkan untuk melakukan tindakan berikut. Untuk detail tentang setiap tindakan, lihat [Tindakan](https://docs.aws.amazon.com/IAM/latest/APIReference/API_Operations.html) di *Referensi API IAM*.
+ `iam:CreateRole`
+ `iam:PutRolePolicy`
+ `iam:CreateInstanceProfile`
+ `iam:AddRoleToInstanceProfile`
+ `iam:ListRoles`
+ `iam:GetPolicy`
+ `iam:GetInstanceProfile`
+ `iam:GetPolicyVersion`
+ `iam:AttachRolePolicy`
+ `iam:PassRole`

Izin `iam:PassRole` mengizinkan pembuatan klaster. Izin yang tersisa mengizinkan pembuatan peran default.

Untuk informasi tentang menetapkan izin ke pengguna, lihat [Mengubah izin untuk pengguna di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html) *IAM*.

# Kebijakan contoh berbasis identitas Amazon EMR.
<a name="security_iam_id-based-policy-examples"></a>

Secara default, pengguna dan peran tidak memiliki izin untuk membuat atau memodifikasi sumber daya EMR Amazon. Mereka juga tidak dapat melakukan tugas menggunakan Konsol Manajemen AWS, AWS CLI, atau AWS API. Administrator IAM harus membuat kebijakan IAM yang memberikan izin kepada pengguna dan peran untuk melakukan operasi API tertentu pada sumber daya yang diperlukan. Administrator kemudian harus melampirkan kebijakan tersebut ke pengguna atau grup yang memerlukan izin tersebut.

Untuk mempelajari cara membuat kebijakan berbasis identitas IAM menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat kebijakan di tab JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) di *Panduan Pengguna IAM*.

**Topics**
+ [Praktik terbaik kebijakan untuk Amazon EMR](security_iam_service-with-iam-policy-best-practices.md)
+ [Izinkan pengguna untuk melihat izin mereka sendiri](security_iam_id-based-policy-examples-view-own-permissions.md)
+ [Kebijakan terkelola Amazon EMR.](emr-managed-iam-policies.md)
+ [Kebijakan IAM untuk akses berbasis tanda ke klaster dan EMR Notebooks](emr-fine-grained-cluster-access.md)
+ [Menyangkal ModifyInstanceGroup tindakan di Amazon EMR](emr-cluster-deny-modifyinstancegroup.md)
+ [Memecahkan masalah identitas dan akses EMR Amazon](security_iam_troubleshoot.md)

# Praktik terbaik kebijakan untuk Amazon EMR
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Kebijakan berbasis identitas sangat kuat. Kebijakan-kebijakan ini menentukan apakah seseorang dapat membuat, mengakses, atau menghapus sumber daya Amazon EMR di akun Anda. Tindakan ini dapat menimbulkan biaya untuk AWS akun Anda. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:
+ **Memulai Menggunakan Kebijakan AWS Terkelola** — Untuk mulai menggunakan Amazon EMR dengan cepat, gunakan kebijakan AWS terkelola untuk memberi karyawan Anda izin yang mereka butuhkan. Kebijakan ini sudah tersedia di akun Anda dan dikelola, serta diperbarui oleh AWS. Untuk informasi selengkapnya, lihat [Memulai menggunakan izin dengan kebijakan AWS terkelola](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-use-aws-defined-policies) di *Panduan Pengguna IAM* dan. [Kebijakan terkelola Amazon EMR.](emr-managed-iam-policies.md)
+ **Berikan hak akses terkecil** – Saat Anda membuat kebijakan khusus, berikan izin yang diperlukan untuk melaksanakan tugas saja. Mulai dengan satu set izin minimum dan berikan izin tambahan sesuai kebutuhan. Melakukan hal tersebut lebih aman daripada memulai dengan izin yang terlalu fleksibel, lalu mencoba memperketatnya nanti. Untuk informasi selengkapnya, lihat [Pemberian hak istimewa terendah](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) dalam *Panduan Pengguna IAM*.
+ **Aktifkan MFA untuk Operasi Sensitif** — Untuk keamanan ekstra, pengguna harus menggunakan otentikasi multi-faktor (MFA) untuk mengakses sumber daya sensitif atau operasi API. Untuk informasi selengkapnya, lihat [Menggunakan autentikasi multifaktor (MFA) dalam AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan Kondisi Kebijakan untuk Keamanan Tambahan** – Selama praktis, tentukan ketentuan di mana kebijakan berbasis identitas Anda memungkinkan akses ke sumber daya. Misalnya, Anda dapat menulis persyaratan untuk menentukan jangkauan alamat IP yang diizinkan untuk mengajukan permintaan. Anda juga dapat menulis persyaratan untuk mengizinkan permintaan hanya dalam rentang tanggal atau waktu tertentu, atau untuk mewajibkan penggunaan SSL atau autentikasi multifaktor (MFA). Untuk informasi lebih lanjut, lihat [Elemen kebijakan IAM JSON: Syarat](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) di *Panduan Pengguna IAM*.

# Izinkan pengguna untuk melihat izin mereka sendiri
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Contoh ini menunjukkan cara Anda membuat kebijakan yang memungkinkan pengguna melihat kebijakan sebaris dan terkelola yang dilampirkan pada identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau menggunakan API atau secara terprogram. AWS CLI AWS 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ViewOwnUserInfo",
      "Effect": "Allow",
      "Action": [
        "iam:GetUser",
        "iam:GetUserPolicy",
        "iam:ListAttachedUserPolicies",
        "iam:ListGroupsForUser",
        "iam:ListUserPolicies"
      ],
      "Resource": [
        "arn:aws:iam::*:user/${aws:username}"
      ]
    },
    {
      "Sid": "NavigateInConsole",
      "Effect": "Allow",
      "Action": [
        "iam:GetGroupPolicy",
        "iam:GetPolicy",
        "iam:GetPolicyVersion",
        "iam:ListAttachedGroupPolicies",
        "iam:ListGroupPolicies",
        "iam:ListGroups",
        "iam:ListPolicies",
        "iam:ListPolicyVersions",
        "iam:ListUsers"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

# Kebijakan terkelola Amazon EMR.
<a name="emr-managed-iam-policies"></a>

Cara termudah untuk memberikan akses penuh atau akses hanya-baca untuk tindakan Amazon EMR yang diperlukan adalah dengan menggunakan kebijakan terkelola IAM untuk Amazon EMR. Kebijakan terkelola menawarkan manfaat pemutakhiran secara otomatis jika persyaratan izin berubah. Jika Anda menggunakan kebijakan inline, perubahan layanan dapat terjadi yang menyebabkan kesalahan izin muncul. 

Amazon EMR akan menghentikan kebijakan terkelola yang ada (kebijakan v1) demi kebijakan terkelola baru (kebijakan v2). Kebijakan terkelola baru telah dicakupkan untuk menyelaraskan dengan praktik terbaik. AWS Setelah kebijakan terkelola v1 yang ada tidak digunakan lagi, Anda tidak akan dapat melampirkan kebijakan ini ke peran atau pengguna IAM baru. Peran dan pengguna yang ada yang menggunakan kebijakan yang tidak lagi digunakan dapat terus menggunakannya. Kebijakan terkelola v2 membatasi akses menggunakan tag. Mereka hanya mengizinkan tindakan EMR Amazon yang ditentukan dan memerlukan sumber daya cluster yang ditandai dengan kunci khusus EMR. Kami merekomendasikan bahwa Anda hati-hati meninjau dokumentasi sebelum menggunakan kebijakan v2 baru.

Kebijakan v1 tidak lagi digunakan dengan ikon pemberitahuan di sebelahnya di daftar **Kebijakan** di konsol IAM. Kebijakan yang tidak lagi digunakan akan memiliki karakteristik sebagai berikut:
+ Kebijakan terus berfungsi untuk semua pengguna, grup, dan peran yang dilampirkan saat ini. Tidak ada yang rusak.
+ Kebijakan tidak dapat dilampirkan pada pengguna, grup, atau peran baru. Jika Anda melepas salah satu kebijakan dari entitas yang ada, Anda tidak dapat melampirkannya kembali.
+ Setelah Anda melepaskan kebijakan v1 dari semua entitas saat ini, kebijakan tidak lagi akan terlihat dan tidak lagi dapat digunakan.

Tabel berikut merangkum perubahan antara kebijakan saat ini (v1) dan kebijakan v2.


**Amazon EMR mengelola perubahan kebijakan**  

| Tipe kebijakan | Nama kebijakan | Tujuan kebijakan | Perubahan kebijakan v2 | 
| --- | --- | --- | --- | 
|  Peran layanan EMR default dan kebijakan terkelola terlampir  |   Nama peran: **EMR\$1 DefaultRole** Kebijakan V1 (tidak digunakan lagi): (Peran Layanan **AmazonElasticMapReduceRole**EMR)  Nama kebijakan (dicakup) V2: [`AmazonEMRServicePolicy_v2`](emr-iam-role.md)  |  Memungkinkan Amazon EMR memanggil AWS layanan lain atas nama Anda saat menyediakan sumber daya dan melakukan tindakan tingkat layanan. Peran ini diperlukan untuk semua klaster.  |  Kebijakan menambahkan izin baru`"ec2:DescribeInstanceTypeOfferings"`. Operasi API ini menampilkan daftar tipe instance yang didukung oleh daftar Availability Zone yang diberikan.  | 
|  Kebijakan terkelola IAM untuk akses EMR Amazon penuh oleh pengguna, peran, atau grup terlampir  |   Nama kebijakan V2 (cakupan): [`AmazonEMRServicePolicy_v2`](emr-managed-policy-fullaccess-v2.md)  |  Mengizinkan izin penuh pengguna untuk tindakan EMR. Termasuk iam: PassRole izin untuk sumber daya.  |  Kebijakan menambahkan prasyarat bahwa pengguna harus menambahkan tanda pengguna ke sumber daya sebelum mereka dapat menggunakan kebijakan ini. Lihat [Penandaan sumber daya untuk menggunakan kebijakan terkelola](#manually-tagged-resources). iam: PassRole tindakan membutuhkan iam: PassedToService kondisi disetel ke layanan tertentu. Akses ke Amazon EC2, Amazon S3, dan layanan lainnya tidak diizinkan secara default. Lihat [Kebijakan Terkelola IAM untuk Akses Penuh (Kebijakan Default Terkelola v2)](emr-managed-policy-fullaccess-v2.md).  | 
|  Kebijakan terkelola IAM untuk akses hanya-baca oleh pengguna, peran, atau grup terlampir  |  Kebijakan V1 (tidak digunakan lagi): [`AmazonElasticMapReduceReadOnlyAccess`](emr-managed-policy-readonly.md)  Nama kebijakan V2 (cakupan): [`AmazonEMRReadOnlyAccessPolicy_v2`](emr-managed-policy-readonly-v2.md)  |  Mengizinkan izin hanya-baca pengguna untuk tindakan Amazon EMR.  |  Izin hanya mengizinkan tindakan hanya-baca elasticmapreduce yang ditentukan. Akses ke Amazon S3 adalah akses yang tidak diizinkan secara default. Lihat [Kebijakan Terkelola IAM untuk Akses Hanya-Baca (Kebijakan Default Terkelola v2)](emr-managed-policy-readonly-v2.md).  | 
|  Peran layanan EMR default dan kebijakan terkelola terlampir  |   Nama peran: **EMR\$1 DefaultRole** Kebijakan V1 (tidak digunakan lagi): (Peran Layanan **AmazonElasticMapReduceRole**EMR)  Nama kebijakan (dicakup) V2: [`AmazonEMRServicePolicy_v2`](emr-iam-role.md)  |  Memungkinkan Amazon EMR memanggil AWS layanan lain atas nama Anda saat menyediakan sumber daya dan melakukan tindakan tingkat layanan. Peran ini diperlukan untuk semua klaster.  |  Peran layanan v2 dan kebijakan default v2 menggantikan peran dan kebijakan yang tidak lagi digunakan. Kebijakan menambahkan prasyarat bahwa pengguna harus menambahkan tanda pengguna ke sumber daya sebelum mereka dapat menggunakan kebijakan ini. Lihat [Penandaan sumber daya untuk menggunakan kebijakan terkelola](#manually-tagged-resources). Lihat [Peran layanan untuk Amazon EMR (peran EMR)](emr-iam-role.md).  | 
|  Peran layanan untuk instans EC2 klaster (profil instans EC2)  |  Nama peran: **EMR\$1 \$1 EC2 DefaultRole** **Nama kebijakan usang: Peran AmazonElasticMapReducefor EC2**  |  Mengizinkan aplikasi yang berjalan pada klaster EMR untuk mengakses sumber daya AWS lain, seperti Amazon S3. Misalnya, jika Anda menjalankan tugas Apache Spark yang memproses data dari Amazon S3, kebijakan perlu mengizinkan akses ke sumber daya tersebut.  |  Peran default dan kebijakan default berada di jalur yang tidak lagi digunakan. Tidak ada peran atau kebijakan terkelola AWS default pengganti. Anda harus memberikan kebijakan berbasis sumber daya atau kebijakan berbasis identitas. Ini berarti bahwa, secara default, aplikasi yang berjalan pada klaster EMR tidak memiliki akses ke Amazon S3 atau sumber daya lain kecuali Anda secara manual menambahkan ini ke kebijakan. Lihat [Peran default dan kebijakan terkelola](emr-iam-role-for-ec2.md#emr-ec2-role-default).  | 
|  Kebijakan peran layanan EC2 lainnya  |  Nama kebijakan saat ini: **AmazonElasticMapReduceforAutoScalingRole, AmazonElasticMapReduceEditorsRole, EMRCleanup Kebijakan Amazon**  |  Memberikan izin yang diperlukan Amazon EMR untuk mengakses sumber daya AWS lain dan melakukan tindakan jika menggunakan penskalaan otomatis, buku catatan, atau untuk membersihkan sumber daya EC2.  |  Tidak ada perubahan untuk v2.  | 

## Mengamankan iam: PassRole
<a name="securing-iampassrole"></a>

Kebijakan terkelola default izin penuh Amazon EMR menggabungkan konfigurasi `iam:PassRole` keamanan, termasuk yang berikut ini:
+ Izin `iam:PassRole` hanya untuk peran Amazon EMR default tertentu.
+ `iam:PassedToService`kondisi yang memungkinkan Anda untuk menggunakan kebijakan hanya dengan AWS layanan tertentu, seperti `elasticmapreduce.amazonaws.com` dan`ec2.amazonaws.com`.

Anda dapat melihat versi JSON dari kebijakan [Amazon EMRFull AccessPolicy \$1v2 dan [Amazon EMRService Policy\$1v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRServicePolicy_v2)](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRFullAccessPolicy_v2) di konsol IAM. Kami menyarankan Anda membuat cluster baru dengan kebijakan terkelola v2.

Untuk membuat kebijakan khusus, kami merekomendasikan sebaiknya Anda mulai dengan kebijakan terkelola dan mengeditnya sesuai dengan kebutuhan Anda.

Untuk informasi tentang cara melampirkan kebijakan ke pengguna (prinsipal), lihat [Bekerja dengan kebijakan terkelola menggunakan Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html#policies_using-managed-console) Pengguna *IAM*. Konsol Manajemen AWS

## Penandaan sumber daya untuk menggunakan kebijakan terkelola
<a name="manually-tagged-resources"></a>

**Amazon EMRService Policy\$1v2 dan** **Amazon EMRFull AccessPolicy \$1v2** bergantung pada akses tercakup ke sumber daya yang disediakan atau digunakan Amazon EMR. Cakupan ke bawah dicapai dengan membatasi akses hanya ke sumber daya yang memiliki tag pengguna yang telah ditentukan sebelumnya yang terkait dengannya. Bila Anda menggunakan salah satu dari dua kebijakan ini, Anda harus meneruskan tag pengguna yang telah ditentukan `for-use-with-amazon-emr-managed-policies = true` saat Anda menyediakan klaster. Amazon EMR kemudian akan secara otomatis menyebarkan tanda itu. Selain itu, Anda harus menambahkan tag pengguna ke sumber daya yang tercantum di bagian berikut. Jika Anda menggunakan konsol EMR Amazon untuk meluncurkan cluster Anda, lihat. [Pertimbangan untuk menggunakan konsol EMR Amazon untuk meluncurkan cluster dengan kebijakan terkelola v2](#emr-cluster-v2policy-awsconsole-launch)

Untuk menggunakan kebijakan terkelola, teruskan tag pengguna `for-use-with-amazon-emr-managed-policies = true` saat Anda menyediakan klaster dengan CLI, SDK, atau metode lain.

Ketika Anda melewatkan tanda, Amazon EMR menyebarkan tanda untuk ENI subnet privat, instans EC2, dan volume EBS yang dibuatnya. Amazon EMR juga secara otomatis memberi tanda grup keamanan yang dibuat. Namun, jika Anda ingin Amazon EMR untuk diluncurkan dengan grup keamanan tertentu, Anda harus memberinya tanda. Untuk sumber daya yang tidak dibuat oleh Amazon EMR, Anda harus menambahkan tag ke sumber daya tersebut. Misalnya, Anda harus menandai subnet Amazon EC2, grup keamanan EC2 (jika tidak dibuat oleh Amazon EMR), dan (jika VPCs Anda ingin Amazon EMR membuat grup keamanan). Untuk meluncurkan cluster dengan kebijakan terkelola v2 VPCs, Anda harus menandai klaster tersebut VPCs dengan tag pengguna yang telah ditentukan sebelumnya. Lihat, [Pertimbangan untuk menggunakan konsol EMR Amazon untuk meluncurkan cluster dengan kebijakan terkelola v2](#emr-cluster-v2policy-awsconsole-launch).

**Penyebaran penandaan yang ditentukan pengguna**  
Sumber daya tanda Amazon EMR yang dibuat menggunakan tanda Amazon EMR yang Anda tentukan saat membuat klaster. Amazon EMR membuat tanda untuk sumber daya yang dibuat selama masa klaster.

Amazon EMR menyebarkan tanda pengguna untuk sumber daya berikut:
+ ENI Subnet Privat (antarmuka jaringan elastis akses layanan)
+ Instans EC2
+ Volume EBS
+ Templat Peluncuran EC2

**Grup keamanan bertanda otomatis**  
Amazon EMR menandai grup keamanan EC2 yang menciptakan dengan tanda yang diperlukan untuk kebijakan terkelola v2 untuk Amazon EMR, `for-use-with-amazon-emr-managed-policies`, terlepas dari tanda yang Anda tentukan di perintah buat klaster. Untuk grup keamanan yang dibuat sebelum pengidentifikasian kebijakan terkelola v2, Amazon EMR tidak secara otomatis memberi tanda pada grup keamanan. Jika Anda ingin menggunakan kebijakan terkelola v2 dengan grup keamanan default yang sudah ada di akun, Anda perlu memberi tanda pada grup keamanan secara manual dengan `for-use-with-amazon-emr-managed-policies = true`.

**Sumber daya klaster yang beri tanda secara manual**  
Anda harus secara manual memberi tanda pada beberapa sumber klaster sehingga mereka dapat diakses oleh peran default Amazon EMR.
+ Anda harus secara manual memberi tanda pada grup keamanan EC2 dan subnet EC2 dengan tanda kebijakan terkelola Amazon EMR `for-use-with-amazon-emr-managed-policies`.
+ Anda harus secara manual memberi tanda pada VPC jika Anda ingin Amazon EMR untuk membuat grup keamanan default. EMR akan mencoba membuat grup keamanan dengan tanda tertentu jika grup keamanan default belum ada.

Amazon EMR secara otomatis memberi tanda pada sumber daya berikut:
+ Grup Keamanan EC2 yang dibuat oleh EMR

Anda harus secara manual memberi tanda pada sumber daya berikut:
+ Subnet EC2
+ Grup Keamanan EC2

Opsional, Anda dapat secara manual memberi tanda pada sumber daya berikut:
+ VPC - hanya bila Anda ingin Amazon EMR untuk membuat grup keamanan

## Pertimbangan untuk menggunakan konsol EMR Amazon untuk meluncurkan cluster dengan kebijakan terkelola v2
<a name="emr-cluster-v2policy-awsconsole-launch"></a>

Anda dapat menyediakan kluster dengan kebijakan terkelola v2 menggunakan konsol EMR Amazon. Berikut adalah beberapa pertimbangan saat Anda menggunakan konsol untuk meluncurkan kluster EMR Amazon.
+ Anda tidak perlu melewati tag yang telah ditentukan. Amazon EMR secara otomatis menambahkan tag dan menyebarkannya ke komponen yang sesuai.
+ Untuk komponen yang perlu diberi tag secara manual, konsol EMR Amazon lama mencoba memberi tag secara otomatis jika Anda memiliki izin yang diperlukan untuk menandai sumber daya. Jika Anda tidak memiliki izin untuk menandai sumber daya atau jika Anda ingin menggunakan konsol, minta administrator untuk menandai sumber daya tersebut. 
+ Anda tidak dapat meluncurkan cluster dengan kebijakan terkelola v2 kecuali semua prasyarat terpenuhi.
+ Konsol EMR Amazon lama menunjukkan sumber daya (VPC/subnet) mana yang perlu diberi tag.

# Kebijakan terkelola IAM untuk akses penuh (kebijakan default terkelola v2) untuk Amazon EMR
<a name="emr-managed-policy-fullaccess-v2"></a>

Kebijakan terkelola default EMR yang dicakup v2 memberikan hak istimewa akses khusus kepada pengguna. Mereka membutuhkan tanda sumber daya Amazon EMR yang telah ditetapkan dan kunci syarat `iam:PassRole` untuk sumber daya yang digunakan oleh Amazon EMR, seperti `Subnet` dan `SecurityGroup` yang Anda gunakan untuk meluncurkan klaster Anda.

Untuk memberikan cakupan tindakan yang diperlukan untuk Amazon EMR, melampirkan `AmazonEMRFullAccessPolicy_v2` kebijakan terkelola. Kebijakan terkelola default yang diperbarui ini menggantikan [`AmazonElasticMapReduceFullAccess`](emr-managed-policy-fullaccess.md) kebijakan terkelola.

`AmazonEMRFullAccessPolicy_v2` tergantung pada akses yang dicakup ke sumber daya yang disediakan atau digunakan Amazon EMR. Bila menggunakan kebijakan ini, Anda harus melewati tanda pengguna `for-use-with-amazon-emr-managed-policies = true` saat menyediakan klaster. Amazon EMR secara otomatis akan menyebarkan tanda. Selain itu, Anda mungkin perlu secara manual menambahkan tanda pengguna untuk tipe sumber daya tertentu, seperti grup keamanan EC2 yang tidak dibuat oleh Amazon EMR. Untuk informasi selengkapnya, lihat [Penandaan sumber daya untuk menggunakan kebijakan terkelola](emr-managed-iam-policies.md#manually-tagged-resources).

[https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonEMRFullAccessPolicy_v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonEMRFullAccessPolicy_v2)Kebijakan mengamankan sumber daya dengan melakukan hal berikut:
+ Memerlukan sumber daya yang akan ditandai dengan tanda kebijakan terkelola Amazon EMR yang telah ditetapkan `for-use-with-amazon-emr-managed-policies` untuk pembuatan klaster dan akses Amazon EMR.
+ Membatasi tindakan `iam:PassRole` untuk peran default tertentu dan akses `iam:PassedToService` ke layanan tertentu.
+ Tidak lagi menyediakan akses ke Amazon EC2, Amazon S3, dan layanan lainnya secara default.

Berikut ini adalah isi dari kebijakan ini.

**catatan**  
Anda juga dapat menggunakan tautan konsol [https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonEMRFullAccessPolicy_v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonEMRFullAccessPolicy_v2) untuk melihat kebijakan.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "RunJobFlowExplicitlyWithEMRManagedTag",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:RunJobFlow"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "ElasticMapReduceActions",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:AddInstanceFleet",
        "elasticmapreduce:AddInstanceGroups",
        "elasticmapreduce:AddJobFlowSteps",
        "elasticmapreduce:AddTags",
        "elasticmapreduce:CancelSteps",
        "elasticmapreduce:CreateEditor",
        "elasticmapreduce:CreatePersistentAppUI",
        "elasticmapreduce:CreateSecurityConfiguration",
        "elasticmapreduce:DeleteEditor",
        "elasticmapreduce:DeleteSecurityConfiguration",
        "elasticmapreduce:DescribeCluster",
        "elasticmapreduce:DescribeEditor",
        "elasticmapreduce:DescribeJobFlows",
        "elasticmapreduce:DescribePersistentAppUI",
        "elasticmapreduce:DescribeSecurityConfiguration",
        "elasticmapreduce:DescribeStep",
        "elasticmapreduce:DescribeReleaseLabel",
        "elasticmapreduce:GetBlockPublicAccessConfiguration",
        "elasticmapreduce:GetManagedScalingPolicy",
        "elasticmapreduce:GetPersistentAppUIPresignedURL",
        "elasticmapreduce:GetAutoTerminationPolicy",
        "elasticmapreduce:ListBootstrapActions",
        "elasticmapreduce:ListClusters",
        "elasticmapreduce:ListEditors",
        "elasticmapreduce:ListInstanceFleets",
        "elasticmapreduce:ListInstanceGroups",
        "elasticmapreduce:ListInstances",
        "elasticmapreduce:ListSecurityConfigurations",
        "elasticmapreduce:ListSteps",
        "elasticmapreduce:ListSupportedInstanceTypes",
        "elasticmapreduce:ModifyCluster",
        "elasticmapreduce:ModifyInstanceFleet",
        "elasticmapreduce:ModifyInstanceGroups",
        "elasticmapreduce:OpenEditorInConsole",
        "elasticmapreduce:PutAutoScalingPolicy",
        "elasticmapreduce:PutBlockPublicAccessConfiguration",
        "elasticmapreduce:PutManagedScalingPolicy",
        "elasticmapreduce:RemoveAutoScalingPolicy",
        "elasticmapreduce:RemoveManagedScalingPolicy",
        "elasticmapreduce:RemoveTags",
        "elasticmapreduce:SetTerminationProtection",
        "elasticmapreduce:StartEditor",
        "elasticmapreduce:StopEditor",
        "elasticmapreduce:TerminateJobFlows",
        "elasticmapreduce:ViewEventsFromAllClustersInConsole"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "ViewMetricsInEMRConsole",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:GetMetricStatistics"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "PassRoleForElasticMapReduce",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/EMR_DefaultRole",
        "arn:aws:iam::*:role/EMR_DefaultRole_V2"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": "elasticmapreduce.amazonaws.com*"
        }
      }
    },
    {
      "Sid": "PassRoleForEC2",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/EMR_EC2_DefaultRole"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": "ec2.amazonaws.com*"
        }
      }
    },
    {
      "Sid": "PassRoleForAutoScaling",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/EMR_AutoScaling_DefaultRole"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": "application-autoscaling.amazonaws.com*"
        }
      }
    },
    {
      "Sid": "ElasticMapReduceServiceLinkedRole",
      "Effect": "Allow",
      "Action": [
        "iam:CreateServiceLinkedRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/aws-service-role/elasticmapreduce.amazonaws.com*/AWSServiceRoleForEMRCleanup*"
      ],
      "Condition": {
        "StringEquals": {
          "iam:AWSServiceName": [
            "elasticmapreduce.amazonaws.com",
            "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
          ]
        }
      }
    },
    {
      "Sid": "ConsoleUIActions",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeAccountAttributes",
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeImages",
        "ec2:DescribeKeyPairs",
        "ec2:DescribeNatGateways",
        "ec2:DescribeRouteTables",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:DescribeVpcs",
        "ec2:DescribeVpcEndpoints",
        "s3:ListAllMyBuckets",
        "iam:ListRoles"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

# Kebijakan terkelola IAM untuk akses penuh (pada jalur yang tidak lagi digunakan)
<a name="emr-managed-policy-fullaccess"></a>

Kebijakan terkelola `AmazonElasticMapReduceFullAccess` dan `AmazonEMRFullAccessPolicy_v2` AWS Identity and Access Management (IAM) memberikan semua tindakan yang diperlukan untuk Amazon EMR dan layanan lainnya.

**penting**  
Kebijakan `AmazonElasticMapReduceFullAccess` terkelola berada di jalur menuju penghentian, dan tidak lagi direkomendasikan untuk digunakan dengan Amazon EMR. Sebaliknya, gunakan [`AmazonEMRFullAccessPolicy_v2`](emr-managed-policy-fullaccess-v2.md). Ketika layanan IAM akhirnya menghentikan kebijakan v1, Anda tidak akan dapat melampirkannya ke peran. Namun, Anda dapat melampirkan peran yang ada ke klaster meskipun peran tersebut menggunakan kebijakan yang tidak digunakan lagi.

Kebijakan terkelola default izin penuh Amazon EMR menggabungkan konfigurasi `iam:PassRole` keamanan, termasuk yang berikut ini:
+ Izin `iam:PassRole` hanya untuk peran Amazon EMR default tertentu.
+ `iam:PassedToService`kondisi yang memungkinkan Anda untuk menggunakan kebijakan hanya dengan AWS layanan tertentu, seperti `elasticmapreduce.amazonaws.com` dan`ec2.amazonaws.com`.

Anda dapat melihat versi JSON dari kebijakan [Amazon EMRFull AccessPolicy \$1v2 dan [Amazon EMRService Policy\$1v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRServicePolicy_v2)](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRFullAccessPolicy_v2) di konsol IAM. Kami menyarankan Anda membuat cluster baru dengan kebijakan terkelola v2.

Anda dapat melihat konten kebijakan v1 yang tidak digunakan lagi di at. Konsol Manajemen AWS [https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonElasticMapReduceFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonElasticMapReduceFullAccess) `ec2:TerminateInstances`Tindakan dalam kebijakan memberikan izin kepada pengguna atau peran untuk menghentikan instans Amazon EC2 yang terkait dengan akun IAM. Ini termasuk contoh yang bukan bagian dari cluster EMR.

# Kebijakan terkelola IAM untuk akses hanya-baca (kebijakan default terkelola v2) untuk Amazon EMR
<a name="emr-managed-policy-readonly-v2"></a>

**Untuk memberikan hak istimewa hanya-baca ke Amazon EMR, lampirkan kebijakan terkelola Amazon \$1v2. EMRRead OnlyAccessPolicy** Kebijakan terkelola default ini menggantikan kebijakan terkelola [`AmazonElasticMapReduceReadOnlyAccess`](emr-managed-policy-readonly.md). Isi dari pernyataan kebijakan ini ditampilkan di potongan berikut. Dibandingkan dengan kebijakan `AmazonElasticMapReduceReadOnlyAccess`, kebijakan `AmazonEMRReadOnlyAccessPolicy_v2` tidak menggunakan karakter wildcard untuk elemen `elasticmapreduce`. Sebagai gantinya, kebijakan v2 default mencakup tindakan yang diizinkan`elasticmapreduce`.

**catatan**  
Anda juga dapat menggunakan Konsol Manajemen AWS tautan [https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonEMRReadOnlyAccessPolicy_v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonEMRReadOnlyAccessPolicy_v2)untuk melihat kebijakan.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ElasticMapReduceActions",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:DescribeCluster",
        "elasticmapreduce:DescribeEditor",
        "elasticmapreduce:DescribeJobFlows",
        "elasticmapreduce:DescribeSecurityConfiguration",
        "elasticmapreduce:DescribeStep",
        "elasticmapreduce:DescribeReleaseLabel",
        "elasticmapreduce:GetBlockPublicAccessConfiguration",
        "elasticmapreduce:GetManagedScalingPolicy",
        "elasticmapreduce:GetAutoTerminationPolicy",
        "elasticmapreduce:ListBootstrapActions",
        "elasticmapreduce:ListClusters",
        "elasticmapreduce:ListEditors",
        "elasticmapreduce:ListInstanceFleets",
        "elasticmapreduce:ListInstanceGroups",
        "elasticmapreduce:ListInstances",
        "elasticmapreduce:ListSecurityConfigurations",
        "elasticmapreduce:ListSteps",
        "elasticmapreduce:ListSupportedInstanceTypes",
        "elasticmapreduce:ViewEventsFromAllClustersInConsole"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "ViewMetricsInEMRConsole",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:GetMetricStatistics"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

# Kebijakan terkelola IAM untuk akses hanya-baca (di jalur yang tidak lagi digunakan)
<a name="emr-managed-policy-readonly"></a>

Kebijakan terkelola `AmazonElasticMapReduceReadOnlyAccess` berada di jalur yang tidak lagi digunakan. Anda tidak dapat melampirkan kebijakan ini ketika meluncurkan klaster baru. `AmazonElasticMapReduceReadOnlyAccess` telah diganti dengan [`AmazonEMRReadOnlyAccessPolicy_v2`](emr-managed-policy-readonly-v2.md) sebagai kebijakan terkelola default Amazon EMR. Isi dari pernyataan kebijakan ini ditampilkan di potongan berikut. Karakter wildcard untuk elemen `elasticmapreduce` menentukan bahwa hanya tindakan yang dimulai dengan string tertentu diizinkan. Perlu diingat bahwa karena kebijakan ini tidak secara eksplisit menolak tindakan, pernyataan kebijakan yang berbeda masih dapat digunakan untuk memberikan akses ke tindakan tertentu.

**catatan**  
Anda juga dapat menggunakan Konsol Manajemen AWS untuk melihat kebijakan.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:Describe*",
        "elasticmapreduce:List*",
        "elasticmapreduce:ViewEventsFromAllClustersInConsole",
        "s3:GetObject",
        "s3:ListAllMyBuckets",
        "s3:ListBucket",
        "sdb:Select",
        "cloudwatch:GetMetricStatistics"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowELASTICMAPREDUCEDescribe"
    }
  ]
}
```

------

# AWS kebijakan terkelola: EMRDescribe ClusterPolicyFor EMRWAL
<a name="EMRDescribeClusterPolicyForEMRWAL"></a>

Anda tidak dapat melampirkan `EMRDescribeClusterPolicyForEMRWAL` ke entitas IAM Anda. Kebijakan ini dilampirkan pada peran terkait layanan yang memungkinkan Amazon EMR melakukan tindakan atas nama Anda. Untuk informasi selengkapnya tentang peran terkait layanan ini, lihat. [Menggunakan peran terkait layanan dengan Amazon EMR untuk pencatatan tertulis](using-service-linked-roles-wal.md) 

Kebijakan ini memberikan izin hanya-baca yang memungkinkan layanan WAL untuk Amazon EMR menemukan dan mengembalikan status klaster. Untuk informasi selengkapnya tentang Amazon EMR WAL, lihat [Write-ahead logs (WAL) untuk Amazon](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hbase-wal.html) EMR.

**Detail izin**

Kebijakan ini mencakup izin berikut:
+ `emr`— Memungkinkan kepala sekolah untuk menggambarkan status cluster dari Amazon EMR. Ini diperlukan agar Amazon EMR dapat mengonfirmasi kapan cluster telah dihentikan dan kemudian, setelah tiga puluh hari, membersihkan log WAL yang ditinggalkan oleh cluster.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:DescribeCluster"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowELASTICMAPREDUCEDescribecluster"
    }
  ]
}
```

------

## AWS kebijakan terkelola untuk Amazon EMR
<a name="security-iam-awsmanpol"></a>

Kebijakan AWS terkelola adalah kebijakan mandiri yang dibuat dan dikelola oleh AWS. AWS Kebijakan terkelola dirancang untuk memberikan izin bagi banyak kasus penggunaan umum sehingga Anda dapat mulai menetapkan izin kepada pengguna, grup, dan peran.

Perlu diingat bahwa kebijakan AWS terkelola mungkin tidak memberikan izin hak istimewa paling sedikit untuk kasus penggunaan spesifik Anda karena tersedia untuk digunakan semua pelanggan. AWS Kami menyarankan Anda untuk mengurangi izin lebih lanjut dengan menentukan [kebijakan yang dikelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) yang khusus untuk kasus penggunaan Anda.

Anda tidak dapat mengubah izin yang ditentukan dalam kebijakan AWS terkelola. Jika AWS memperbarui izin yang ditentukan dalam kebijakan AWS terkelola, pembaruan akan memengaruhi semua identitas utama (pengguna, grup, dan peran) yang dilampirkan kebijakan tersebut. AWS kemungkinan besar akan memperbarui kebijakan AWS terkelola saat baru Layanan AWS diluncurkan atau operasi API baru tersedia untuk layanan yang ada.

Untuk informasi selengkapnya, lihat [Kebijakan terkelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dalam *Panduan Pengguna IAM*.

# Amazon EMR memperbarui kebijakan terkelola AWS
<a name="security-iam-awsmanpol-updates"></a>

Lihat detail tentang pembaruan kebijakan AWS terkelola untuk Amazon EMR sejak layanan ini mulai melacak perubahan ini. 




| Ubah | Deskripsi | Tanggal | 
| --- | --- | --- | 
| [`AmazonEMRServicePolicy_v2`](emr-iam-role.md) — Permbaruan ke kebijakan yang sudah ada | Ditambahkanec2:CreateVpcEndpoint,ec2:ModifyVpcEndpoint, dan ec2:CreateTags diperlukan untuk pengalaman optimal, dimulai dengan Amazon EMR rilis 7.5.0. | Maret 4, 2025 | 
| [`AmazonEMRServicePolicy_v2`](emr-iam-role.md) – Pembaruan ke kebijakan yang ada | Ditambahkanelasticmapreduce:CreatePersistentAppUI,elasticmapreduce:DescribePersistentAppUI, danelasticmapreduce:GetPersistentAppUIPresignedURL. | Februari 28, 2025 | 
| [`EMRDescribeClusterPolicyForEMRWAL`](EMRDescribeClusterPolicyForEMRWAL.md) – Kebijakan baru | Menambahkan kebijakan baru sehingga Amazon EMR dapat menentukan status klaster untuk pembersihan WAL tiga puluh hari setelah penghentian klaster. | 10 Agustus 2023 | 
| [`AmazonEMRFullAccessPolicy_v2`](emr-managed-policy-fullaccess-v2.md)dan [`AmazonEMRReadOnlyAccessPolicy_v2`](emr-managed-policy-readonly-v2.md)— Perbarui ke kebijakan yang ada | Ditambahkan elasticmapreduce:DescribeReleaseLabel danelasticmapreduce:GetAutoTerminationPolicy. | 21 April 2022 | 
| [`AmazonEMRFullAccessPolicy_v2`](emr-managed-policy-fullaccess-v2.md) – Pembaruan ke kebijakan yang ada | Ditambahkan ec2:DescribeImages untuk[Menggunakan AMI khusus untuk memberikan lebih banyak fleksibilitas untuk konfigurasi kluster Amazon EMR](emr-custom-ami.md). | Februari 15, 2022 | 
|  [**Kebijakan terkelola Amazon EMR**](emr-managed-iam-policies.md)  |  Diperbarui untuk memperjelas penggunaan tag pengguna yang telah ditentukan. Menambahkan bagian tentang penggunaan AWS konsol untuk meluncurkan clsuter dengan kebijakan terkelola v2.  | 29 September 2021 | 
|  [`AmazonEMRFullAccessPolicy_v2`](emr-managed-policy-fullaccess-v2.md) – Pembaruan ke kebijakan yang ada  | Mengubah PassRoleForAutoScaling dan PassRoleForEC2 tindakan untuk menggunakan operator StringLike kondisi untuk mencocokkan "iam:PassedToService":"application-autoscaling.amazonaws.com\$1" dan"iam:PassedToService":"ec2.amazonaws.com\$1", masing-masing. | 20 Mei 2021 | 
|  [`AmazonEMRFullAccessPolicy_v2`](emr-managed-policy-fullaccess-v2.md) – Pembaruan ke kebijakan yang ada  |  Menghapus tindakan tidak valid `s3:ListBuckets` dan diganti dengan `s3:ListAllMyBuckets` tindakan. Pembuatan peran tertaut layanan (SLR) yang diperbarui akan dicakup secara eksplisit ke satu-satunya SLR yang Amazon EMR miliki dengan utama Layanan eksplisit. SLRs Yang dapat dibuat persis sama seperti sebelum perubahan ini.  | 23 Maret 2021 | 
|  [`AmazonEMRFullAccessPolicy_v2`](emr-managed-policy-fullaccess-v2.md) – Kebijakan baru  |  Amazon EMR menambahkan izin baru untuk mencakup akses ke sumber daya dan untuk menambahkan prasyarat bahwa pengguna harus menambahkan tanda pengguna yang telah ditetapkan untuk sumber daya sebelum mereka dapat menggunakan kebijakan terkelola Amazon EMR. `iam:PassRole`tindakan memerlukan `iam:PassedToService` kondisi yang disetel ke layanan tertentu. Akses ke Amazon EC2, Amazon S3, dan layanan lainnya tidak diizinkan secara default.   | 11 Maret 2021 | 
| [`AmazonEMRServicePolicy_v2`](emr-iam-role.md) – Kebijakan baru |  Menambahkan prasyarat bahwa pengguna harus menambahkan tanda pengguna ke sumber daya sebelum mereka dapat menggunakan kebijakan ini.  | 11 Maret 2021 | 
| [`AmazonEMRReadOnlyAccessPolicy_v2`](emr-managed-policy-readonly-v2.md) – Kebijakan baru |  Izin hanya mengizinkan tindakan hanya-baca ElasticMapReduce yang ditentukan. Akses ke Amazon S3 adalah akses yang tidak diizinkan secara default.  | 11 Maret 2021 | 
|  Amazon EMR mulai melacak perubahan  |  Amazon EMR mulai melacak perubahan untuk kebijakan yang AWS dikelola.  | 11 Maret 2021 | 

# Kebijakan IAM untuk akses berbasis tanda ke klaster dan EMR Notebooks
<a name="emr-fine-grained-cluster-access"></a>

Anda dapat menggunakan syarat di kebijakan berbasis identitas Anda untuk mengontrol akses ke klaster dan EMR Notebooks berdasarkan tanda.

Untuk informasi lebih lanjut tentang penambahan tanda ke klaster, lihat [Klaster EMR penandaan](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 

Contoh berikut menunjukkan skenario yang berbeda dan cara untuk menggunakan operator syarat dengan kunci syarat Amazon EMR. Pernyataan kebijakan IAM ini dimaksudkan untuk tujuan demonstrasi saja dan tidak boleh digunakan di lingkungan produksi. Ada beberapa cara untuk menggabungkan pernyataan kebijakan untuk memberikan dan menolak izin sesuai dengan kebutuhan Anda. Untuk informasi selengkapnya tentang perencanaan dan pengujian kebijakan IAM, lihat [Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/).

**penting**  
Secara eksplisit menolak izin untuk tindakan penandaan adalah pertimbangan penting. Hal ini mencegah pengguna dari penandaan sumber daya dan dengan demikian memberikan sendiri izin yang tidak ingin Anda berikan. Jika Anda tidak menolak tindakan penandaan untuk sumber daya, pengguna dapat memodifikasi tag dan menghindari maksud kebijakan berbasis tag.

## Contoh pernyataan kebijakan berbasis identitas untuk klaster
<a name="emr-cluster-access-resourcetag"></a>

Contoh berikut menunjukkan kebijakan izin berbasis identitas yang digunakan untuk mengontrol tindakan yang diizinkan dengan klaster EMR.

**penting**  
Tindakan `ModifyInstanceGroup` di Amazon EMR tidak mengharuskan Anda menentukan ID klaster. Untuk alasan itu, menolak tindakan ini berdasarkan tanda klaster memerlukan pertimbangan tambahan. Untuk informasi selengkapnya, lihat [Menyangkal ModifyInstanceGroup tindakan di Amazon EMR](emr-cluster-deny-modifyinstancegroup.md).

**Topics**
+ [Izinkan tindakan hanya pada klaster dengan nilai tanda tertentu](#emr-cluster-access-example-tagvalue)
+ [Memerlukan penandaan klaster ketika sebuah klaster dibuat](#emr-cluster-access-example-require-tagging)
+ [Izinkan tindakan pada klaster dengan tanda tertentu, terlepas dari nilai tanda](#emr-cluster-access-example-tag)

### Izinkan tindakan hanya pada klaster dengan nilai tanda tertentu
<a name="emr-cluster-access-example-tagvalue"></a>

Contoh berikut menunjukkan kebijakan yang mengizinkan pengguna melakukan tindakan berdasarkan tanda klaster `department` dengan nilai `dev` dan juga mengizinkan pengguna untuk memberi tanda klaster dengan tanda yang sama. Kebijakan contoh akhir menunjukkan cara menolak keistimewaan untuk memberi tanda pada klaster EMR dengan apa saja tetapi harus dengan tanda yang sama.

Di kebijakan contoh berikut, syarat operator `StringEquals` mencoba untuk mencocokkan `dev` dengan nilai untuk tanda `department`. Jika tanda `department` belum ditambahkan ke klaster, atau tidak mengandung nilai `dev`, kebijakan tersebut tidak berlaku, dan tindakan tersebut tidak diizinkan oleh kebijakan ini. Jika tidak ada pernyataan kebijakan lain mengizinkan tindakan, pengguna hanya dapat bekerja dengan klaster yang memiliki tanda ini dengan nilai ini.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Stmt12345678901234",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:DescribeCluster",
        "elasticmapreduce:ListSteps",
        "elasticmapreduce:TerminateJobFlows",
        "elasticmapreduce:SetTerminationProtection",
        "elasticmapreduce:ListInstances",
        "elasticmapreduce:ListInstanceGroups",
        "elasticmapreduce:ListBootstrapActions",
        "elasticmapreduce:DescribeStep"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/department": "dev"
        }
      }
    }
  ]
}
```

------

Anda juga dapat menentukan beberapa nilai tanda menggunakan operator syarat. Misalnya, untuk mengizinkan semua tindakan pada grup di mana tanda `department` berisi nilai `dev` atau `test`, Anda bisa mengganti blok syarat di contoh sebelumnya dengan berikut ini. 

```
            "Condition": {
              "StringEquals": {
                "elasticmapreduce:ResourceTag/department":["dev", "test"]
              }
            }
```

### Memerlukan penandaan klaster ketika sebuah klaster dibuat
<a name="emr-cluster-access-example-require-tagging"></a>

Seperti pada contoh sebelumnya, contoh kebijakan berikut mencari tag pencocokan yang sama: nilai `dev` untuk `department` tag. Namun dalam contoh ini, kunci `RequestTag` kondisi menetapkan bahwa kebijakan berlaku selama pembuatan tag. Jadi, Anda harus membuat cluster dengan tag yang cocok dengan nilai yang ditentukan. 

Untuk membuat cluster dengan tag, Anda juga harus memiliki izin untuk `elasticmapredue:AddTags` tindakan tersebut. Untuk pernyataan ini, kunci `elasticmapreduce:ResourceTag` kondisi memastikan bahwa IAM hanya memberikan akses ke sumber daya tag dengan nilai `dev` pada `department` tag. `Resource`Elemen ini digunakan untuk membatasi izin ini ke sumber daya cluster.

Untuk `PassRole` sumber daya, Anda harus memberikan ID AWS akun atau alias, nama peran layanan dalam `PassRoleForEMR` pernyataan, dan nama profil instance dalam `PassRoleForEC2` pernyataan. Untuk informasi selengkapnya tentang format IAM ARN, [lihat ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) IAM di Panduan Pengguna IAM*.* 

Untuk informasi selengkapnya tentang pencocokan nilai tag-key, lihat [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag)di Panduan Pengguna *IAM*.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "RunJobFlowExplicitlyWithTag",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:RunJobFlow"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/department": "dev"
        }
      }
    },
    {
      "Sid": "AddTagsForDevClusters",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:AddTags"
      ],
      "Resource": [
        "arn:aws:elasticmapreduce:*:*:cluster/*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/department": "dev"
        }
      }
    },
    {
      "Sid": "PassRoleForEMR",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::123456789012:role/Role-Name-With-Path"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": "elasticmapreduce.amazonaws.com*"
        }
      }
    },
    {
      "Sid": "PassRoleForEC2",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::123456789012:role/Role-Name-With-Path"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": "ec2.amazonaws.com*"
        }
      }
    }
  ]
}
```

------

### Izinkan tindakan pada klaster dengan tanda tertentu, terlepas dari nilai tanda
<a name="emr-cluster-access-example-tag"></a>

Anda juga dapat mengizinkan tindakan hanya pada klaster yang memiliki tanda tertentu, terlepas dari nilai tanda. Untuk melakukannya, Anda dapat menggunakan operator `Null`. Untuk informasi selengkapnya, lihat [Operator syarat untuk memeriksa keberadaan kunci syarat](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Conditions_Null) di *Panduan Pengguna IAM*. Misalnya, untuk mengizinkan tindakan hanya pada klaster EMR yang memiliki `department` tanda, terlepas dari nilai yang dikandungnya, Anda bisa mengganti blok syarat di contoh sebelumnya dengan yang berikut. Operator `Null` mencari kehadiran tanda `department` pada klaster EMR. Jika tanda ada, pernyataan `Null` mengevaluasi ke SALAH, cocok dengan syarat yang ditentukan di pernyataan kebijakan ini, dan tindakan yang tepat diizinkan. 

```
1. "Condition": {
2.   "Null": {
3.     "elasticmapreduce:ResourceTag/department":"false"
4.   }
5. }
```

Pernyataan kebijakan berikut mengizinkan pengguna untuk membuat klaster EMR hanya jika klaster akan memiliki tanda `department`, yang dapat berisi nilai apapun. Untuk `PassRole` sumber daya, Anda perlu memberikan ID AWS akun atau alias, dan nama peran layanan. Untuk informasi selengkapnya tentang format IAM ARN, [lihat ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) IAM di Panduan Pengguna IAM*.*

Untuk informasi selengkapnya yang menentukan operator kondisi null (“false”), lihat [Operator kondisi untuk memeriksa keberadaan kunci kondisi di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_Null) Pengguna *IAM*.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CreateClusterTagNullCondition",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:RunJobFlow"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "Null": {
          "aws:RequestTag/department": "false"
        }
      }
    },
    {
      "Sid": "AddTagsNullCondition",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:AddTags"
      ],
      "Resource": [
        "arn:aws:elasticmapreduce:*:*:cluster/*"
      ],
      "Condition": {
        "Null": {
          "elasticmapreduce:ResourceTag/department": "false"
        }
      }
    },
    {
      "Sid": "PassRoleForElasticMapReduce",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::123456789012:role/Role-Name-With-Path"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": "elasticmapreduce.amazonaws.com*"
        }
      }
    },
    {
      "Sid": "PassRoleForEC2",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::123456789012:role/Role-Name-With-Path"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": "ec2.amazonaws.com*"
        }
      }
    }
  ]
}
```

------

## Contoh pernyataan kebijakan berbasis identitas untuk EMR Notebooks
<a name="emr-managed-notebooks-tags-examples"></a>

Contoh pernyataan kebijakan IAM di bagian ini menunjukkan skenario umum untuk menggunakan kunci untuk membatasi tindakan yang diizinkan menggunakan EMR Notebooks. Selama tidak ada kebijakan lain yang terkait dengan (pengguna) utama mengizinkan tindakan, kunci konteks syarat membatasi tindakan yang diizinkan seperti yang ditunjukkan.

**Example — Izinkan akses hanya ke EMR Notebooks yang dibuat pengguna berdasarkan penandaan**  
Contoh pernyataan kebijakan berikut, ketika dilampirkan ke peran atau pengguna, memungkinkan pengguna untuk bekerja hanya dengan buku catatan yang telah mereka buat. Pernyataan kebijakan ini menggunakan tanda default yang diterapkan ketika notebook dibuat.  
Dalam contoh, operator `StringEquals` kondisi mencoba mencocokkan variabel yang mewakili pengguna saat ini ID pengguna (`{aws:userId}`) dengan nilai tag`creatorUserID`. Jika tanda `creatorUserID` belum ditambahkan ke notebook, atau tidak berisi nilai ID pengguna saat ini, kebijakan tidak berlaku, dan tindakan tersebut tidak diizinkan oleh kebijakan ini. Jika tidak ada pernyataan kebijakan lain mengizinkan tindakan, pengguna hanya dapat bekerja dengan notebook yang memiliki tanda ini dengan nilai ini.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:DescribeEditor",
        "elasticmapreduce:StartEditor",
        "elasticmapreduce:StopEditor",
        "elasticmapreduce:DeleteEditor",
        "elasticmapreduce:OpenEditorInConsole"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/creatorUserId": "${aws:userId}"
        }
      },
      "Sid": "AllowELASTICMAPREDUCEDescribeeditor"
    }
  ]
}
```

**Example –Memerlukan penandaan notebook saat notebook dibuat**  
di contoh ini, kunci konteks `RequestTag` digunakan. Tindakan `CreateEditor` diperbolehkan hanya jika pengguna tidak mengubah atau menghapus tanda `creatorUserID` yang ditambahkan secara default. Variabel \$1\$1aws:userId\$1, menentukan ID Pengguna dari pengguna aktif saat ini, yang merupakan nilai default dari tanda.  
Pernyataan kebijakan dapat digunakan untuk membantu memastikan bahwa pengguna tidak menghapus tanda `createUserId` atau mengubah nilainya.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:CreateEditor"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:RequestTag/creatorUserId": "${aws:userid}"
        }
      },
      "Sid": "AllowELASTICMAPREDUCECreateeditor"
    }
  ]
}
```
Contoh ini mengharuskan pengguna membuat klaster dengan tanda yang membuat string kunci `dept` dan nilai diatur ke salah satu langkah berikut: `datascience`, `analytics`, `operations`.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:CreateEditor"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:RequestTag/dept": [
            "datascience",
            "analytics",
            "operations"
          ]
        }
      },
      "Sid": "AllowELASTICMAPREDUCECreateeditor"
    }
  ]
}
```

**Example –Batasi pembuatan notebook ke klaster yang ditandai, dan memerlukan tanda notebook**  
Contoh ini mengizinkan pembuatan notebook hanya jika notebook dibuat dengan tanda yang memiliki string kunci `owner` yang diatur ke salah satu nilai yang ditentukan. Selain itu, notebook hanya bisa dibuat jika klaster memiliki tanda dengan string kunci `department` yang diatur ke salah satu nilai yang ditentukan.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:CreateEditor"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:RequestTag/owner": [
            "owner1",
            "owner2",
            "owner3"
          ],
          "elasticmapreduce:ResourceTag/department": [
            "dep1",
            "dep3"
          ]
        }
      },
      "Sid": "AllowELASTICMAPREDUCECreateeditor"
    }
  ]
}
```

**Example –Batasi kemampuan mulai notebook berdasarkan tanda**  
Contoh ini membatasi kemampuan untuk memulai notebook hanya untuk notebook yang memiliki tanda dengan string kunci `owner` yang diatur ke salah satu nilai yang ditentukan. Karena elemen `Resource` digunakan hanya untuk menentukan `editor`, syarat tidak berlaku untuk klaster, dan tidak perlu ditandai.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:StartEditor"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:elasticmapreduce:*:123456789012:editor/*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/owner": [
            "owner1",
            "owner2"
          ]
        }
      },
      "Sid": "AllowELASTICMAPREDUCEStarteditor"
    }
  ]
}
```
Contoh ini mirip dengan yang di atas. Namun, batas hanya berlaku untuk grup yang ditandai, bukan notebook.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:StartEditor"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:elasticmapreduce:*:123456789012:cluster/*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/department": [
            "dep1",
            "dep3"
          ]
        }
      },
      "Sid": "AllowELASTICMAPREDUCEStarteditor"
    }
  ]
}
```
Contoh ini menggunakan seperangkat notebook dan tanda klaster yang berbeda. Hal ini mengizinkan notebook untuk dimulai hanya jika:  
+ Notebook ini memiliki tanda dengan string kunci `owner` yang diatur ke salah satu nilai yang ditentukan

  —dan—
+ Klaster memiliki tanda dengan string kunci `department` yang diatur ke salah satu nilai yang ditentukan  
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:StartEditor"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:elasticmapreduce:*:123456789012:editor/*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/owner": [
            "user1",
            "user2"
          ]
        }
      },
      "Sid": "AllowELASTICMAPREDUCEStarteditorByOwner"
    },
    {
      "Action": [
        "elasticmapreduce:StartEditor"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:elasticmapreduce:*:123456789012:cluster/*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/department": [
            "datascience",
            "analytics"
          ]
        }
      },
      "Sid": "AllowELASTICMAPREDUCEStarteditorByDepartment"
    }
  ]
}
```

**Example –Batasi kemampuan untuk membuka editor notebook berdasarkan tanda**  
Contoh ini mengizinkan editor notebook dibuka hanya jika:  
+ Notebook ini memiliki tanda dengan string kunci `owner` yang diatur ke salah satu nilai yang ditentukan.

  —dan—
+ Klaster memiliki tanda dengan string kunci `department` yang diatur ke salah satu nilai yang ditentukan.  
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:OpenEditorInConsole"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:elasticmapreduce:*:123456789012:editor/*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/owner": [
            "user1",
            "user2"
          ]
        }
      },
      "Sid": "AllowELASTICMAPREDUCEOpeneditorconsoleByOwner"
    },
    {
      "Action": [
        "elasticmapreduce:OpenEditorInConsole"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:elasticmapreduce:*:123456789012:cluster/*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/department": [
            "datascience",
            "analytics"
          ]
        }
      },
      "Sid": "AllowELASTICMAPREDUCEOpeneditorconsoleByDepartment"
    }
  ]
}
```

# Menyangkal ModifyInstanceGroup tindakan di Amazon EMR
<a name="emr-cluster-deny-modifyinstancegroup"></a>

[ModifyInstanceGroups](https://docs.aws.amazon.com/emr/latest/APIReference/API_ModifyInstanceGroups.html)Tindakan di Amazon EMR tidak mengharuskan Anda memberikan ID cluster dengan tindakan tersebut. Sebaliknya, Anda dapat hanya menentukan ID grup instans. Untuk alasan ini, langsung tolak kebijakan untuk tindakan ini berdasarkan ID klaster atau tanda klaster mungkin tidak memiliki efek yang dimaksudkan. Pertimbangkan kebijakan contoh berikut.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Sid": "AllowELASTICMAPREDUCEModifyinstancegroups"
    },
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Deny",
      "Resource": [
        "arn:aws:elasticmapreduce:us-east-1:123456789012:cluster/j-12345ABCDEFG67"
      ],
      "Sid": "DenyELASTICMAPREDUCEModifyinstancegroups"
    }
  ]
}
```

------

Jika pengguna dengan kebijakan terlampir ini melakukan tindakan `ModifyInstanceGroup` dan menentukan hanya ID grup instans, kebijakan tidak berlaku. Karena tindakan diizinkan pada semua sumber daya lainnya, tindakan tersebut berhasil.

Solusi untuk masalah ini adalah melampirkan pernyataan kebijakan ke identitas yang menggunakan [NotResource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notresource.html)elemen untuk menolak `ModifyInstanceGroup` tindakan apa pun yang dikeluarkan tanpa ID klaster. Kebijakan contoh berikut menambahkan pernyataan tolak sehingga setiap permintaan `ModifyInstanceGroups` gagal kecuali ID klaster ditentukan. Karena identitas harus menentukan ID klaster dengan tindakan, tolak pernyataan berdasarkan ID klaster karena efektif.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Sid": "AllowELASTICMAPREDUCEModifyinstancegroups"
    },
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Deny",
      "Resource": [
        "arn:aws:elasticmapreduce:us-east-1:123456789012:cluster/j-12345ABCDEFG67"
      ],
      "Sid": "DenyELASTICMAPREDUCEModifyinstancegroupsSpecificCluster"
    },
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Deny",
      "NotResource": "arn:*:elasticmapreduce:*:*:cluster/*",
      "Sid": "DenyELASTICMAPREDUCEModifyinstancegroupsNonCluster"
    }
  ]
}
```

------

Masalah serupa ada saat Anda ingin tolak tindakan `ModifyInstanceGroups` berdasarkan nilai yang terkait dengan tanda klaster. Solusinya serupa. Selain tolak pernyataan yang menentukan nilai tanda, Anda dapat menambahkan pernyataan kebijakan yang menolak tindakan `ModifyInstanceGroup` tanda yang Anda tentukan tidak ada, terlepas dari nilai.

Contoh berikut menunjukkan kebijakan yang, saat dilampirkan ke identitas, menolak identitas tindakan `ModifyInstanceGroups` klaster apapun dengan tanda `department` yang diatur ke `dev`. Pernyataan ini hanya efektif karena pernyataan tolak menggunakan syarat `StringNotLike` untuk menolak tindakan kecuali tanda `department` ada.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Sid": "AllowELASTICMAPREDUCEModifyinstancegroups"
    },
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/department": "dev"
        }
      },
      "Effect": "Deny",
      "Resource": [
        "*"
      ],
      "Sid": "DenyELASTICMAPREDUCEModifyinstancegroupsDevDepartment"
    },
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Condition": {
        "StringNotLike": {
          "aws:ResourceTag/department": "?*"
        }
      },
      "Effect": "Deny",
      "Resource": [
        "*"
      ],
      "Sid": "DenyELASTICMAPREDUCEModifyinstancegroupsNoDepartmentTag"
    }
  ]
}
```

------

# Memecahkan masalah identitas dan akses EMR Amazon
<a name="security_iam_troubleshoot"></a>

Gunakan informasi berikut untuk membantu Anda mendiagnosis dan memperbaiki masalah umum yang mungkin Anda temui saat bekerja dengan Amazon EMR dan IAM.

**Topics**
+ [Saya tidak berwenang untuk melakukan tindakan di Amazon EMR](#security_iam_troubleshoot-no-permissions)
+ [Saya tidak berwenang untuk melakukan iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Saya ingin mengizinkan orang di luar AWS akun saya untuk mengakses sumber daya EMR Amazon saya](#security_iam_troubleshoot-cross-account-access)

## Saya tidak berwenang untuk melakukan tindakan di Amazon EMR
<a name="security_iam_troubleshoot-no-permissions"></a>

Jika Konsol Manajemen AWS memberitahu Anda bahwa Anda tidak berwenang untuk melakukan suatu tindakan, maka Anda harus menghubungi administrator Anda untuk bantuan. Administrator Anda adalah orang yang memberikan nama pengguna dan kata sandi Anda.

Contoh kesalahan berikut terjadi ketika pengguna `mateojackson` mencoba menggunakan konsol untuk melihat detail tentang suatu sumber daya `my-example-widget` fiktif, tetapi tidak memiliki izin `EMR:GetWidget` fiktif.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: EMR:GetWidget on resource: my-example-widget
```

Dalam hal ini, Mateo meminta administratornya untuk memperbarui kebijakannya untuk mengizinkan dia mengakses sumber daya `my-example-widget` menggunakan tindakan `EMR:GetWidget`.

## Saya tidak berwenang untuk melakukan iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Jika Anda menerima kesalahan bahwa Anda tidak diizinkan untuk melakukan `iam:PassRole` tindakan, kebijakan Anda harus diperbarui agar Anda dapat meneruskan peran ke Amazon EMR.

Beberapa Layanan AWS memungkinkan Anda untuk meneruskan peran yang ada ke layanan tersebut alih-alih membuat peran layanan baru atau peran terkait layanan. Untuk melakukannya, Anda harus memiliki izin untuk meneruskan peran ke layanan.

Contoh kesalahan berikut terjadi ketika pengguna IAM bernama `marymajor` mencoba menggunakan konsol untuk melakukan tindakan di Amazon EMR. Namun, tindakan tersebut memerlukan layanan untuk mendapatkan izin yang diberikan oleh peran layanan. Mary tidak memiliki izin untuk meneruskan peran tersebut pada layanan.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Dalam kasus ini, kebijakan Mary harus diperbarui agar dia mendapatkan izin untuk melakukan tindakan `iam:PassRole` tersebut.

Jika Anda memerlukan bantuan, hubungi AWS administrator Anda. Administrator Anda adalah orang yang memberi Anda kredensial masuk.

## Saya ingin mengizinkan orang di luar AWS akun saya untuk mengakses sumber daya EMR Amazon saya
<a name="security_iam_troubleshoot-cross-account-access"></a>

Anda dapat membuat peran yang dapat digunakan pengguna di akun lain atau orang-orang di luar organisasi Anda untuk mengakses sumber daya Anda. Anda dapat menentukan siapa saja yang dipercaya untuk mengambil peran tersebut. Untuk layanan yang mendukung kebijakan berbasis sumber daya atau daftar kontrol akses (ACLs), Anda dapat menggunakan kebijakan tersebut untuk memberi orang akses ke sumber daya Anda.

Untuk mempelajari selengkapnya, periksa referensi berikut:
+ Untuk mengetahui apakah Amazon EMR mendukung fitur-fitur ini, lihat. [Cara kerja Amazon EMR dengan IAM](security_iam_service-with-iam.md)
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda di seluruh sumber daya Akun AWS yang Anda miliki, lihat [Menyediakan akses ke pengguna IAM di pengguna lain Akun AWS yang Anda miliki](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) di *Panduan Pengguna IAM*.
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda kepada pihak ketiga Akun AWS, lihat [Menyediakan akses yang Akun AWS dimiliki oleh pihak ketiga](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dalam *Panduan Pengguna IAM*.
+ Untuk mempelajari cara memberikan akses melalui federasi identitas, lihat [Menyediakan akses ke pengguna terautentikasi eksternal (federasi identitas)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) dalam *Panduan Pengguna IAM*.
+ *Untuk mempelajari perbedaan antara menggunakan peran dan kebijakan berbasis sumber daya untuk akses lintas akun, lihat [Akses sumber daya lintas akun di IAM di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html).*