Menggunakan IAM role dengan aplikasi yang memanggil layanan AWS secara langsung - Amazon EMR

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

Menggunakan IAM role dengan aplikasi yang memanggil layanan AWS secara langsung

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
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 ke sumber daya. AWS

Untuk informasi lebih lanjut tentang kredensial keamanan sementara, lihat Menggunakan kredensial keamanan sementara di panduan Menggunakan Kredensial Keamanan Sementara.