Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Berikan izin pengguna untuk meneruskan peran ke layanan AWS
Untuk mengkonfigurasi banyak AWS layanan, Anda harus memberikan IAM peran ke layanan. Ini memungkinkan layanan untuk mengambil peran nanti dan melakukan tindakan atas nama Anda. Untuk sebagian besar layanan, Anda hanya perlu meneruskan peran ke layanan satu kali selama penyiapan, dan tidak setiap kali layanan mengambil peran tersebut. Misalnya, asumsikan bahwa Anda memiliki aplikasi yang berjalan pada EC2 instance Amazon. Aplikasi tersebut memerlukan kredensial sementara untuk autentikasi, dan izin untuk mengotorisasi aplikasi guna melakukan tindakan di AWS. Saat menyiapkan aplikasi, Anda harus meneruskan peran ke Amazon EC2 untuk digunakan dengan instance yang menyediakan kredensi tersebut. Anda menentukan izin untuk aplikasi yang berjalan pada instance dengan melampirkan IAM kebijakan ke peran. Aplikasi ini mengasumsikan peran setiap kali diperlukan untuk melakukan tindakan yang diizinkan oleh peran tersebut.
Untuk meneruskan peran (dan izinnya) ke AWS layanan, pengguna harus memiliki izin untuk meneruskan peran tersebut ke layanan. Ini membantu administrator untuk memastikan bahwa hanya pengguna yang disetujui yang dapat mengonfigurasi layanan dengan peran yang memberikan izin. Untuk mengizinkan pengguna meneruskan peran ke AWS layanan, Anda harus memberikan PassRole
izin kepada IAM pengguna, peran, atau grup pengguna.
Awas
-
Anda hanya dapat menggunakan
PassRole
izin untuk meneruskan IAM peran ke layanan yang berbagi AWS akun yang sama. Untuk meneruskan peran di Akun A ke layanan di Akun B, Anda harus terlebih dahulu membuat IAM peran di Akun B yang dapat mengambil peran dari Akun A, dan kemudian peran dalam Akun B dapat diteruskan ke layanan. Untuk detailnya, lihat Akses sumber daya lintas akun di IAM. -
Jangan mencoba mengontrol siapa yang dapat melewati peran dengan menandai peran dan kemudian menggunakan kunci
ResourceTag
kondisi dalam kebijakan denganiam:PassRole
tindakan tersebut. Pendekatan ini tidak memiliki hasil yang dapat diandalkan.
Saat menyetel PassRole
izin, Anda harus memastikan bahwa pengguna tidak melewati peran di mana peran tersebut memiliki lebih banyak izin daripada yang Anda inginkan untuk dimiliki pengguna. Misalnya, Alice mungkin tidak diizinkan untuk melakukan tindakan Amazon S3 apa pun. Jika Alice dapat meneruskan peran ke layanan yang memungkinkan tindakan Amazon S3, layanan dapat melakukan tindakan Amazon S3 atas nama Alice saat menjalankan pekerjaan.
Saat menentukan peran terkait layanan, Anda juga harus memiliki izin untuk meneruskan peran tersebut ke layanan. Beberapa layanan secara otomatis membuat peran yang terkait dengan layanan di akun Anda ketika Anda melakukan tindakan di layanan tersebut. Misalnya, Amazon EC2 Auto Scaling membuat peran AWSServiceRoleForAutoScaling
terkait layanan untuk Anda saat Anda membuat grup Auto Scaling untuk pertama kalinya. Jika Anda mencoba menentukan peran terkait layanan saat membuat grup Auto Scaling dan Anda tidak memiliki iam:PassRole
izin, Anda akan menerima kesalahan. Jika Anda tidak menentukan peran secara eksplisit, iam:PassRole
izin tidak diperlukan, dan defaultnya adalah menggunakan AWSServiceRoleForAutoScaling
peran untuk semua operasi yang dilakukan pada grup tersebut. Untuk mempelajari layanan yang mendukung peran yang terkait dengan layanan, lihat AWS layanan yang bekerja dengan IAM. Untuk mempelajari layanan mana yang secara otomatis membuat peran yang terkait dengan layanan saat Anda melakukan tindakan dalam layanan tersebut, pilih tautan Ya dan lihat dokumentasi peran yang terkait dengan layanan untuk layanan tersebut.
Pengguna dapat meneruskan peran ARN sebagai parameter dalam API operasi apa pun yang menggunakan peran tersebut untuk menetapkan izin ke layanan. Layanan kemudian memeriksa apakah pengguna memiliki izin iam:PassRole
. Untuk membatasi pengguna agar hanya meneruskan peran yang disetujui, Anda dapat memfilter iam:PassRole
izin dengan Resources
elemen pernyataan IAM kebijakan.
Anda dapat menggunakan Condition
elemen dalam JSON kebijakan untuk menguji nilai kunci yang disertakan dalam konteks permintaan semua AWS permintaan. Untuk mempelajari penggunaan kunci syarat dalam kebijakan, lihat IAMJSONelemen kebijakan: Condition. Kunci syarat iam:PassedToService
dapat digunakan untuk menentukan ke prinsipal layanan mana sebuah peran dapat diberikan. Untuk mempelajari selengkapnya tentang menggunakan kunci iam:PassedToService
kondisi dalam kebijakan, lihat iam: PassedToService.
Contoh 1
Misalkan Anda ingin memberi pengguna kemampuan untuk meneruskan serangkaian peran yang disetujui ke EC2 layanan Amazon setelah meluncurkan instance. Anda memerlukan tiga elemen:
-
Kebijakan IAM izin yang dilampirkan pada peran yang menentukan apa yang dapat dilakukan peran tersebut. Cakupan diperbolehkan hanya untuk tindakan yang harus dilakukan peran, dan hanya untuk sumber daya yang diperlukan peran untuk tindakan tersebut. Anda dapat menggunakan kebijakan IAM izin AWS terkelola atau dibuat pelanggan.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "
A list of the permissions the role is allowed to use
" ], "Resource": [ "A list of the resources the role is allowed to access
" ] } } -
Kebijakan kepercayaan untuk peran yang memungkinkan layanan untuk mengasumsikan peran. Misalnya, Anda dapat melampirkan kebijakan kepercayaan berikut pada peran dengan tindakan
UpdateAssumeRolePolicy
. Kebijakan kepercayaan ini memungkinkan Amazon EC2 untuk menggunakan peran dan izin yang dilampirkan pada peran tersebut.{ "Version": "2012-10-17", "Statement": { "Sid": "TrustPolicyStatementThatAllowsEC2ServiceToAssumeTheAttachedRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } }
-
Kebijakan IAM izin yang dilampirkan pada IAM pengguna yang memungkinkan pengguna untuk hanya meneruskan peran yang disetujui tersebut. Anda biasanya
iam:GetRole
menambahkaniam:PassRole
sehingga pengguna bisa mendapatkan detail peran yang akan diteruskan. Dalam contoh ini, pengguna hanya dapat meneruskan peran yang ada di akun yang ditentukan dengan nama yang diawali denganEC2-roles-for-XYZ-
:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "arn:aws:iam::
account-id
:role/EC2-roles-for-XYZ-*" }] }
Sekarang pengguna dapat memulai EC2 instance Amazon dengan peran yang ditetapkan. Aplikasi yang berjalan pada instans dapat mengakses kredensial sementara untuk peran tersebut melalui metadata profil instans. Kebijakan izin IAM yang dilamprkan ke peran yang menentukan apa yang dapat dilakukan oleh instans tersebut.
Contoh 2
Amazon Relational Database Service (RDSAmazon) mendukung fitur yang disebut Enhanced Monitoring. Fitur ini memungkinkan Amazon RDS untuk memantau instance database menggunakan agen. Ini juga memungkinkan Amazon RDS untuk mencatat metrik ke Amazon CloudWatch Logs. Untuk mengaktifkan fitur ini, Anda harus membuat peran layanan untuk memberikan RDS izin Amazon untuk memantau dan menulis metrik ke log Anda.
Untuk membuat peran bagi pemantauan Amazon yang RDS disempurnakan
Masuk ke AWS Management Console dan buka IAM konsol di https://console.aws.amazon.com/iam/
. -
Pilih Peran, lalu pilih Buat peran.
-
Pilih jenis peran AWS Layanan, lalu untuk kasus Penggunaan untuk lainnya Layanan AWS, pilih RDSlayanan. Pilih RDS— Pemantauan yang Ditingkatkan, lalu pilih Berikutnya.
-
Pilih kebijakan mazonRDSEnhanced MonitoringRole izin A.
-
Pilih Berikutnya.
-
Untuk nama Peran, masukkan nama peran yang membantu Anda mengidentifikasi tujuan peran ini. Nama peran harus unik dalam diri Anda Akun AWS. Ketika nama peran digunakan dalam kebijakan atau sebagai bagian dari sebuahARN, nama peran tersebut peka huruf besar/kecil. Saat nama peran muncul ke pelanggan di konsol, seperti selama proses masuk, nama peran tidak peka huruf besar/kecil. Karena berbagai entitas mungkin mereferensikan peran, Anda tidak dapat mengedit nama peran setelah dibuat.
-
(Opsional) Untuk Deskripsi, masukkan deskripsi untuk peran baru ini.
-
(Opsional) Tambahkan metadata ke pengguna dengan cara melampirkan tanda sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang penggunaan tag diIAM, lihatTag untuk AWS Identity and Access Management sumber daya.
-
Tinjau peran dan kemudian pilih Buat peran.
Peran tersebut secara otomatis mendapatkan kebijakan kepercayaan yang memberikan izin layanan monitoring.rds.amazonaws.com
untuk memegang peran tersebut. Setelah itu, Amazon RDS dapat melakukan semua tindakan yang diizinkan oleh AmazonRDSEnhancedMonitoringRole
kebijakan tersebut.
Pengguna yang ingin Anda akses Enhanced Monitoring memerlukan kebijakan yang menyertakan pernyataan yang memungkinkan pengguna untuk membuat daftar RDS peran dan pernyataan yang memungkinkan pengguna untuk meneruskan peran, seperti berikut ini. Gunakan nomor akun Anda dan ganti nama peran dengan nama yang Anda berikan di langkah 6.
{ "Sid": "PolicyStatementToAllowUserToListRoles", "Effect": "Allow", "Action": ["iam:ListRoles"], "Resource": "*" }, { "Sid": "PolicyStatementToAllowUserToPassOneSpecificRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::
account-id
:role/RDS-Monitoring-Role
" }
Anda dapat menggabungkan pernyataan ini dengan pernyataan dalam kebijakan lain atau menempatkannya ke dalam kebijakannya sendiri. Sebagai gantinya, untuk menentukan bahwa pengguna dapat meneruskan peran apa pun yang dimulaiRDS-
, Anda dapat mengganti nama peran di sumber daya ARN dengan wildcard, sebagai berikut.
"Resource": "arn:aws:iam::
account-id
:role/RDS-*"
iam:PassRole
tindakan dalam AWS CloudTrail
log
PassRole
Bukan API panggilan. PassRole
adalah izin, artinya tidak ada CloudTrail log yang dihasilkan untuk IAMPassRole
. Untuk meninjau peran apa yang diteruskan ke mana Layanan AWS CloudTrail, Anda harus meninjau CloudTrail log yang membuat atau memodifikasi AWS
sumber daya yang menerima peran tersebut. Misalnya, peran diteruskan ke AWS Lambda fungsi saat dibuat. Log untuk CreateFunction
tindakan menunjukkan catatan peran yang diteruskan ke fungsi.