Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan peran IAM untuk memberikan izin ke aplikasi yang berjalan di instans Amazon EC2
Aplikasi yang berjalan pada EC2 instans Amazon harus menyertakan AWS kredensional dalam permintaan AWS API. Anda dapat meminta pengembang Anda menyimpan AWS kredensil langsung dalam EC2 instans Amazon dan mengizinkan aplikasi dalam hal itu untuk menggunakan kredensil tersebut. Tetapi pengembang kemudian harus mengelola kredensil dan memastikan bahwa mereka meneruskan kredensil dengan aman ke setiap EC2 instance dan memperbarui setiap instans Amazon ketika saatnya memperbarui kredensil. Banyak pekerjaan tambahan.
Sebagai gantinya, Anda dapat dan harus menggunakan peran IAM untuk mengelola kredenal sementara untuk aplikasi yang berjalan di instans Amazon. EC2 Saat Anda menggunakan peran, Anda tidak perlu mendistribusikan kredenal jangka panjang (seperti kredenal masuk atau kunci akses) ke instans Amazon. EC2 Sebagai gantinya, peran menyediakan izin sementara yang dapat digunakan aplikasi saat mereka melakukan panggilan ke AWS sumber daya lain. Saat meluncurkan EC2 instans Amazon, Anda menentukan peran IAM untuk diasosiasikan dengan instance tersebut. Aplikasi yang berjalan pada instans kemudian dapat menggunakan kredensial sementara yang diberikan oleh peran untuk menandatangani permintaan API.
Menggunakan peran untuk memberikan izin ke aplikasi yang berjalan di EC2 instans Amazon memerlukan sedikit konfigurasi tambahan. Aplikasi yang berjalan pada EC2 instance Amazon diabstraksikan AWS oleh sistem operasi tervirtualisasi. Karena pemisahan ekstra ini, Anda memerlukan langkah tambahan untuk menetapkan AWS peran dan izin terkait ke EC2 instans Amazon dan membuatnya tersedia untuk aplikasinya. Langkah ekstra ini adalah pembuatan profil instance yang dilampirkan ke instance. Profil instans berisi peran dan dapat memberikan kredensial sementara peran ke aplikasi yang berjalan pada instans. Kredensial sementara tersebut kemudian dapat digunakan dalam panggilan API aplikasi untuk mengakses sumber daya dan membatasi akses ke sumber daya yang ditentukan oleh peran tersebut saja.
catatan
Hanya satu peran yang dapat ditetapkan ke EC2 instans Amazon pada satu waktu, dan semua aplikasi pada instance berbagi peran dan izin yang sama. Saat memanfaatkan Amazon ECS untuk mengelola EC2 instans Amazon, Anda dapat menetapkan peran ke tugas Amazon ECS yang dapat dibedakan dari peran EC2 instans Amazon yang sedang dijalankan. Menetapkan setiap tugas peran selaras dengan prinsip akses yang paling tidak memiliki hak istimewa dan memungkinkan kontrol terperinci yang lebih besar atas tindakan dan sumber daya.
Untuk informasi selengkapnya, lihat Menggunakan peran IAM dengan tugas Amazon ECS di Panduan Praktik Terbaik Amazon Elastic Container Service.
Penggunaan peran dengan cara ini memiliki beberapa keuntungan. Karena kredensi peran bersifat sementara dan diperbarui secara otomatis, Anda tidak perlu mengelola kredensi, dan Anda tidak perlu khawatir tentang risiko keamanan jangka panjang. Selain itu, jika Anda menggunakan satu peran untuk beberapa instance, Anda dapat membuat perubahan pada satu peran tersebut dan perubahan tersebut menyebar secara otomatis ke semua instance.
catatan
Meskipun peran biasanya ditetapkan ke EC2 instans Amazon saat Anda meluncurkannya, peran juga dapat dilampirkan ke EC2 instans Amazon yang sedang berjalan. Untuk mempelajari cara melampirkan peran ke instance yang sedang berjalan, lihat Peran IAM untuk Amazon EC2.
Topik
Bagaimana cara kerja peran untuk EC2 instans Amazon?
Pada gambar berikut, pengembang menjalankan aplikasi pada EC2 instance Amazon yang memerlukan akses ke bucket S3 bernamaamzn-s3-demo-bucket-photos
. Administrator membuat peran Get-pics
layanan dan melampirkan peran tersebut ke EC2 instans Amazon. Peran ini mencakup kebijakan izin yang memberikan akses hanya-baca ke bucket S3 tertentu. Ini juga mencakup kebijakan kepercayaan yang memungkinkan EC2 instans Amazon untuk mengambil peran dan mengambil kredensi sementara. Saat aplikasi berjalan pada instans, itu menggunakan kredensial sementara peran untuk mengakses bucket foto. Administrator tidak perlu memberikan izin kepada developer untuk mengakses bucket foto, dan developer tidak perlu membagikan atau mengelola kredensial.

-
Administrator menggunakan IAM untuk membuat peran
Get-pics
. Dalam kebijakan kepercayaan peran, administrator menetapkan bahwa hanya EC2 instans Amazon yang dapat mengambil peran tersebut. Dalam kebijakan izin peran, administrator menentukan izin hanya-baca untuk bucketamzn-s3-demo-bucket-photos
. -
Pengembang meluncurkan EC2 instance Amazon dan menetapkan
Get-pics
peran tersebut ke instance tersebut.catatan
Jika Anda menggunakan konsol IAM, profil instans dikelola untuk Anda dan sebagian besar transparan bagi Anda. Namun, jika Anda menggunakan API AWS CLI atau untuk membuat dan mengelola peran dan EC2 instans Amazon, Anda harus membuat profil instance dan menetapkan peran tersebut sebagai langkah terpisah. Kemudian, saat Anda meluncurkan instans, Anda harus menentukan nama profil instans dan bukan nama peran.
-
Saat aplikasi berjalan, aplikasi memperoleh kredensil keamanan sementara dari metadata EC2 instans Amazon, seperti yang dijelaskan dalam Mengambil Kredensial Keamanan dari Metadata Instance. Ini adalah kredensial keamanan sementara yang mewakili peran tersebut dan berlaku untuk periode waktu yang terbatas.
Dengan beberapa AWS SDKs
, pengembang dapat menggunakan penyedia yang mengelola kredenal keamanan sementara secara transparan. (Dokumentasi untuk individu AWS SDKs menjelaskan fitur yang didukung oleh SDK tersebut untuk mengelola kredensional.) Atau, aplikasi bisa mendapatkan kredensi sementara langsung dari metadata instance dari instans Amazon. EC2 Kredensial dan nilai terkait tersedia dari kategori
iam/security-credentials/
(dalam hal ini,role-name
iam/security-credentials/Get-pics
) metadata. Jika aplikasi mendapatkan kredensial dari metadata instans, itu dapat menyimpan kredensial tersebut. -
Dengan menggunakan kredensial sementara yang diambil, aplikasi mengakses bucket foto. Karena kebijakan terlampir pada peran
Get-pics
, aplikasi memiliki izin hanya-baca.Kredensi keamanan sementara yang tersedia pada instans secara otomatis diperbarui sebelum kedaluwarsa sehingga set yang valid selalu tersedia. Aplikasi hanya perlu memastikan bahwa itu mendapatkan serangkaian kredensial baru dari metadata instans sebelum metadata yang sedang digunakan kedaluwarsa. Dimungkinkan untuk menggunakan AWS SDK untuk mengelola kredensional sehingga aplikasi tidak perlu menyertakan logika tambahan untuk menyegarkan kredensialnya. Misalnya, membuat instan klien dengan Penyedia Kredensial Profil Instans. Namun, jika aplikasi mendapatkan kredensial keamanan sementara dari metadata instans dan sudah menyimpannya, itu akan mendapatkan rangkaian kredensial yang diperbarui setiap jam, atau setidaknya 15 menit sebelum rangkaian yang sedang digunakan kedaluwarsa. Waktu kedaluwarsa termasuk dalam informasi yang dikembalikan dalam kategori.
iam/security-credentials/
role-name
Izin diperlukan untuk menggunakan peran dengan Amazon EC2
Untuk meluncurkan instance dengan peran, pengembang harus memiliki izin untuk meluncurkan EC2 instans Amazon dan izin untuk meneruskan peran IAM.
Kebijakan contoh berikut memungkinkan pengguna untuk menggunakan AWS Management Console untuk meluncurkan instance dengan peran. Kebijakan ini mencakup wildcard (*
) untuk memungkinkan pengguna meneruskan peran apa pun dan melakukan EC2 tindakan Amazon yang terdaftar. ListInstanceProfiles
Tindakan ini memungkinkan pengguna untuk melihat semua peran yang tersedia di Akun AWS.
contoh Contoh kebijakan yang memberikan izin kepada pengguna untuk menggunakan EC2 konsol Amazon untuk meluncurkan instance dengan peran apa pun
Membatasi peran mana yang dapat diteruskan ke EC2 instans Amazon (menggunakan) PassRole
Anda dapat menggunakan PassRole
izin untuk membatasi peran mana yang dapat diteruskan pengguna ke EC2 instans Amazon saat pengguna meluncurkan instance. Ini membantu mencegah pengguna menjalankan aplikasi yang memiliki izin lebih dari yang diberikan kepada pengguna—yaitu, agar dapat memperoleh hak istimewa yang ditingkatkan. Misalnya, bayangkan pengguna Alice hanya memiliki izin untuk meluncurkan EC2 instans Amazon dan bekerja dengan bucket Amazon S3, tetapi peran yang diteruskannya ke instans Amazon memiliki izin untuk bekerja dengan IAM dan Amazon EC2 DynamoDB. Dalam hal ini, Alice mungkin dapat meluncurkan instance, masuk ke dalamnya, mendapatkan kredensil keamanan sementara, dan kemudian melakukan tindakan IAM atau DynamoDB yang tidak dia otorisasi.
Untuk membatasi peran mana yang dapat diteruskan pengguna ke EC2 instans Amazon, Anda membuat kebijakan yang mengizinkan PassRole
tindakan tersebut. Anda kemudian melampirkan kebijakan ke pengguna (atau ke grup IAM milik pengguna) yang akan meluncurkan EC2 instans Amazon. Di Resource
elemen kebijakan, Anda mencantumkan peran atau peran yang diizinkan diteruskan pengguna ke EC2 instans Amazon. Saat pengguna meluncurkan instance dan mengaitkan peran dengannya, Amazon akan EC2 memeriksa apakah pengguna diizinkan untuk meneruskan peran tersebut. Tentu saja, Anda juga harus memastikan bahwa peran yang dapat diteruskan oleh pengguna tidak mencakup lebih banyak izin dari yang seharusnya dimiliki oleh pengguna.
catatan
PassRole
bukan merupakan tindakan API dengan cara yang sama seperti RunInstances
atau ListInstanceProfiles
. Sebagai gantinya, ini adalah izin yang AWS memeriksa setiap kali peran ARN diteruskan sebagai parameter ke API (atau konsol melakukan ini atas nama pengguna). Itu membantu administrator untuk mengontrol peran mana yang dapat diteruskan oleh pengguna yang mana. Dalam hal ini, ini memastikan bahwa pengguna diizinkan untuk melampirkan peran tertentu ke EC2 instance Amazon.
contoh Contoh kebijakan yang memberikan izin kepada pengguna untuk meluncurkan EC2 instans Amazon dengan peran tertentu
Kebijakan contoh berikut memungkinkan pengguna menggunakan Amazon EC2 API untuk meluncurkan instance dengan peran. Elemen Resource
menentukan Amazon Resource Name (ARN) dari peran. Dengan menentukan ARN, kebijakan memberi izin kepada pengguna untuk hanya meneruskan peran Get-pics
. Jika pengguna mencoba menentukan peran yang berbeda saat meluncurkan suatu instans, tindakan tersebut gagal. Pengguna memang memiliki izin untuk menjalankan setiap instans, terlepas dari apakah mereka meneruskan suatu peran.
Memungkinkan peran profil instans untuk beralih ke peran dalam akun lain
Anda dapat mengizinkan aplikasi yang berjalan pada EC2 instans Amazon untuk menjalankan perintah di akun lain. Untuk melakukan ini, Anda harus mengizinkan peran EC2 instans Amazon di akun pertama untuk beralih ke peran di akun kedua.
Bayangkan Anda menggunakan dua Akun AWS dan Anda ingin mengizinkan aplikasi yang berjalan pada EC2 instance Amazon untuk menjalankan AWS CLI111111111111
. Instance tersebut menyertakan peran profil abcd
instance yang memungkinkan aplikasi melakukan tugas Amazon S3 hanya-baca di bucket dalam akun amzn-s3-demo-bucket1
yang sama. 111111111111
Namun demikian, aplikasi tersebut juga harus diizinkan untuk menjalankan efgh
peran lintas akun untuk mengakses amzn-s3-demo-bucket2
bucket Amazon S3 dalam akun 222222222222
.

Peran profil EC2 instans abcd
Amazon harus memiliki kebijakan izin berikut untuk mengizinkan aplikasi mengakses bucket amzn-s3-demo-bucket1
Amazon S3:
Akun 111111111111 Kebijakan abcd
Izin Peran
abcd
Peran tersebut harus mempercayai EC2 layanan Amazon untuk mengambil peran tersebut. Untuk melakukannya, peran abcd
harus memiliki kebijakan kepercayaan berikut:
Akun 111111111111 Kebijakan abcd
Kepercayaan Peran
Anggap bahwa peran lintas akun efgh
memungkinkan tugas Amazon S3 hanya baca di bucket amzn-s3-demo-bucket2
dalam akun 222222222222
yang sama. Untuk melakukannya, peran lintas akun efgh
harus memiliki kebijakan izin berikut:
Akun 222222222222 Kebijakan efgh
Izin Peran
Peran efgh
harus mempercayai profil instans abcd
untuk menjalankannya. Untuk melakukannya, peran efgh
harus memiliki kebijakan kepercayaan berikut:
Akun 222222222222 Kebijakan efgh
Kepercayaan Peran
Bagaimana saya memulainya?
Untuk memahami cara kerja peran dengan EC2 instans Amazon, Anda perlu menggunakan konsol IAM untuk membuat peran, meluncurkan EC2 instance Amazon yang menggunakan peran tersebut, lalu memeriksa instance yang sedang berjalan. Anda dapat menguji metadata instans untuk melihat bagaimana kredensial sementara peran tersedia untuk sebuah instans. Anda juga dapat melihat bagaimana aplikasi yang berjalan pada suatu instans dapat menggunakan peran tersebut. Gunakan sumber daya berikut ini untuk mempelajari lebih banyak.
-
Peran IAM di Tutorial EC2 Instans Amazon
. Video tertaut menunjukkan cara menggunakan peran IAM dengan EC2 instans Amazon untuk mengontrol apa yang dapat dilakukan aplikasi saat dijalankan pada instance. Video menunjukkan bagaimana aplikasi (ditulis dalam AWS SDK) bisa mendapatkan kredensi keamanan sementara melalui peran. -
Penelusuran SDK. Dokumentasi AWS SDK menyertakan penelusuran yang menunjukkan aplikasi yang berjalan pada EC2 instans Amazon yang menggunakan kredensi sementara untuk peran guna membaca bucket Amazon S3. Setiap penelusuran berikut menyajikan langkah serupa dengan bahasa pemrograman yang berbeda:
-
Konfigurasikan Peran IAM untuk Amazon EC2 dengan SDK for Java di AWS SDK untuk Java Panduan Pengembang
-
Meluncurkan EC2 Instans Amazon menggunakan SDK for .NET di Panduan AWS SDK untuk .NET Pengembang
-
Membuat EC2 Instans Amazon dengan SDK for Ruby AWS SDK untuk Ruby di Panduan Pengembang
-
Informasi terkait
Untuk informasi selengkapnya tentang membuat peran atau peran untuk EC2 instans Amazon, lihat informasi berikut:
-
Untuk informasi selengkapnya tentang penggunaan peran IAM dengan EC2 instans Amazon, buka EC2 Panduan Pengguna Amazon.
-
Untuk membuat peran, lihat Pembuatan peran IAM
-
Untuk informasi lebih lanjut tentang membuat kredensial keamanan sementara, lihat Kredensial keamanan sementara di IAM.
-
Jika Anda bekerja dengan IAM API atau CLI, Anda harus membuat dan mengelola profil instans IAM. Untuk informasi selengkapnya tentang profil instans, lihat Gunakan profil contoh.
-
Untuk informasi selengkapnya tentang kredensil keamanan sementara untuk peran dalam metadata instans, lihat Mengambil Kredensil Keamanan dari Metadata Instance di Panduan Pengguna Amazon. EC2