

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

# Mengotorisasi akses ke data EMRFS di Amazon S3
<a name="emr-plan-credentialsprovider"></a>

Secara default, peran EMR dalam EC2 menentukan izin untuk mengakses data EMRFS di Amazon S3. Kebijakan IAM yang dilampirkan ke peran ini berlaku terlepas dari pengguna atau grup yang membuat permintaan melalui EMRFS. Nilai default-nya `EMR_EC2_DefaultRole`. Untuk informasi selengkapnya, lihat [Peran layanan untuk instans EC2 cluster (profil instans EC2](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role-for-ec2.html)).

Mulai dari rilis Amazon EMR versi 5.10.0, Anda dapat menggunakan konfigurasi keamanan untuk menentukan IAM role untuk EMRFS. Ini memungkinkan Anda dalam menyesuaikan izin permintaan EMRFS ke Amazon S3 untuk klaster yang memiliki banyak pengguna. Anda dapat menentukan IAM role yang berbeda untuk pengguna dan grup yang berbeda, dan untuk lokasi bucket Amazon S3 yang berbeda berdasarkan prefiks di Amazon S3. Saat EMRFS membuat permintaan ke Amazon S3 yang cocok dengan pengguna, grup, atau lokasi yang Anda tentukan, klaster akan menggunakan peran terkait yang Anda tentukan, bukan peran EMR untuk EC2. Untuk informasi selengkapnya, lihat [Mengonfigurasi peran IAM untuk permintaan EMRFS ke Amazon S3](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-emrfs-iam-roles).

Atau, jika solusi Amazon EMR Anda memiliki tuntutan di luar apa yang disediakan oleh IAM role untuk EMRFS, Anda dapat menentukan kelas penyedia kredensial khusus, yang memungkinkan Anda untuk menyesuaikan akses terhadap data EMRFS di Amazon S3.

## Membuat penyedia kredensial khusus untuk data EMRFS di Amazon S3
<a name="emr-create-credentialsprovider"></a>

[Untuk membuat penyedia kredensial kustom, Anda menerapkan kelas [AWSCredentialsProvider](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html) dan Hadoop Configurable.](https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/conf/Configurable.html)

Untuk penjelasan rinci tentang pendekatan ini, lihat [Menganalisis data secara aman dari AWS akun lain dengan EMRFS di blog](https://aws.amazon.com/blogs/big-data/securely-analyze-data-from-another-aws-account-with-emrfs) AWS Big Data. Posting blog mencakup tutorial yang memandu Anda melalui prosesend-to-end, mulai dari membuat peran IAM hingga meluncurkan cluster. Hal ini juga menyediakan contoh kode Java yang mengimplementasikan kelas penyedia kredensial khusus.

Langkah-langkah dasarnya adalah sebagai berikut:

**Untuk menentukan penyedia kredensial khusus**

1. Buat kelas penyedia kredensial khusus yang dikompilasi sebagai file JAR.

1. Jalankan skrip sebagai tindakan bootstrap untuk menyalin file JAR penyedia kredensial khusus ke lokasi `/usr/share/aws/emr/emrfs/auxlib` di simpul utama klaster. Untuk informasi selengkapnya tentang tindakan bootstrap, lihat [ (Opsional) Membuat tindakan bootstrap untuk menginstal perangkat lunak tambahan](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-bootstrap.html).

1. Sesuaikan klasifikasi `emrfs-site` untuk menentukan kelas yang Anda terapkan dalam file JAR. Untuk informasi selengkapnya tentang menentukan objek konfigurasi untuk menyesuaikan aplikasi, lihat [Mengkonfigurasi aplikasi](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html) di *Panduan Rilis Amazon EMR*.

   Contoh berikut menunjukkan perintah `create-cluster` yang meluncurkan klaster Hive menggunakan parameter konfigurasi umum, dan juga mencakup:
   + Tindakan bootstrap yang menjalankan skrip, `copy_jar_file.sh`, yang mana disimpan ke `amzn-s3-demo-bucket` dalam Amazon S3.
   + Klasifikasi `emrfs-site` yang menentukan penyedia kredensial khusus yang ditentukan dalam file JAR sebagai `MyCustomCredentialsProvider`
**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 --applications Name=Hive \
   --bootstrap-actions '[{"Path":"s3://amzn-s3-demo-bucket/copy_jar_file.sh","Name":"Custom action"}]' \
   --ec2-attributes '{"KeyName":"MyKeyPair","InstanceProfile":"EMR_EC2_DefaultRole",\
   "SubnetId":"subnet-xxxxxxxx","EmrManagedSlaveSecurityGroup":"sg-xxxxxxxx",\
   "EmrManagedMasterSecurityGroup":"sg-xxxxxxxx"}' \
   --service-role EMR_DefaultRole_V2 --enable-debugging --release-label emr-7.12.0 \
   --log-uri 's3n://amzn-s3-demo-bucket/' --name 'test-awscredentialsprovider-emrfs' \
   --instance-type=m5.xlarge --instance-count 3  \
   --configurations '[{"Classification":"emrfs-site",\
   "Properties":{"fs.s3.customAWSCredentialsProvider":"MyAWSCredentialsProviderWithUri"},\
   "Configurations":[]}]'
   ```