

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

# 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
   ```