View a markdown version of this page

Memberikan izin pengguna untuk meneruskan peran ke AWS layanan - AWS Identity and Access Management

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

Memberikan izin pengguna untuk meneruskan peran ke AWS layanan

Untuk mengkonfigurasi banyak AWS layanan, Anda harus mener uskan peran IAM 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, anggap Anda memiliki aplikasi yang berjalan di instans Amazon EC2 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 instans yang menyediakan kredenSIAL tersebut. Anda menentukan izin untuk aplikasi yang berjalan pada instans dengan melampirkan kebijakan IAM pada peran tersebut. 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 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 pengguna, peran, atau grup IAM pengguna.

Awas
  • Anda hanya dapat menggunakan PassRole izin untuk meneruskan peran IAM ke layanan yang berbagi AWS akun yang sama. Untuk meneruskan peran dalam Akun A ke layanan di Akun B, Anda harus terlebih dahulu membuat peran IAM di Akun B yang dapat mengambil peran dari Akun A, dan kemudian peran di Akun B dapat diteruskan ke layanan. Lihat perinciannya di 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 dengan iam:PassRole tindakan tersebut. Pendekatan ini tidak memiliki hasil yang dapat diandalkan.

Saat menyet PassRole el 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 Anda 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 Penskalaan Otomatis untuk pertama kalinya. Jika Anda mencoba menentukan peran terkait layanan saat membuat grup Penskalaan Otomatis dan Anda tidak memiliki iam:PassRole izin, Anda menerima kesalahan. Jika Anda tidak secara eksplisit menentukan peran, 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 sebuah peran ARN sebagai sebuah parameter dalam setiap operasi API 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 menyaring izin iam:PassRole dengan elemen Resources pernyataan kebijakan IAM.

Anda dapat menggunakan Condition elemen dalam kebijakan JSON untuk menguji nilai kunci yang disertakan dalam konteks permintaan semua AWS permintaan. Untuk mempelajari penggunaan kunci syarat dalam kebijakan, lihat Elemen kebijakan IAM JSON: Kondisi. Kunci syarat iam:PassedToService dapat digunakan untuk menentukan ke prinsipal layanan mana sebuah peran dapat diberikan. Untuk mempelajari lebih lanjut tentang menggunakan kunci iam:PassedToService kondisi dalam kebijakan, lihat iam: PassedToService.

Contoh 1

Misalkan Anda ingin memberi pengguna kemampuan untuk meneruskan salah satu set peran yang disetujui ke layanan Amazon EC2 saat meluncurkan instance. Anda memerlukan tiga elemen:

  • Kebijakan izin IAM yang dilamprkan ke 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 izin IAM yang AWS dikelola atau dibuat pelanggan.

    JSON
    { "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.

    JSON
    { "Version":"2012-10-17", "Statement": { "Sid": "TrustPolicyStatementThatAllowsEC2ServiceToAssumeTheAttachedRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } }
  • Kebijakan izin IAM yang dil ampirkan ke pengguna IAM yang memungkinkan pengguna untuk hanya meneruskan peran yang disetujui. Anda biasanya iam:GetRole menambahkan iam:PassRole sehingga pengguna bisa mendapatkan detail peran yang akan dilewatkan. Dalam contoh ini, pengguna hanya dapat meneruskan peran yang ada di akun yang ditentukan dengan nama yang dimulai denganEC2-roles-for-XYZ-:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "arn:aws:iam::111122223333:role/EC2-roles-for-XYZ-*" } ] }

Sekarang pengguna dapat memulai instans Amazon EC2 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 (Amazon RDS) mendukung fitur yang disebut Enhanced Monitoring. Fitur ini memungkinkan Amazon RDS untuk memantau instans basis data dengan menggunakan agen. Ini juga memungkinkan Amazon RDS untuk mencatat metrik ke Amazon CloudWatch Logs. Untuk mengaktifkan fitur ini, Anda harus membuat peran layanan untuk memberi Amazon RDS izin untuk memantau dan menyusun metrik ke log Anda.

Untuk membuat peran untuk pemantauan yang ditingkatkan Amazon RDS.
  1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Pilih Peran, lalu pilih Buat peran.

  3. Pilih jenis peran AWS Layanan, lalu untuk Kas us penggunaan untuk lainnya Layanan AWS, pilih layanan RDS. Pilih RDS — Pemantauan yang Diting katkan, lalu pilih Ber ikutnya.

  4. Pilih kebijakan AmazonRDSEnhancedMonitoringRole izin.

  5. Pilih Berikutnya.

  6. Untuk Nama peran, masukkan nama peran yang membantu Anda mengidentifikasi tujuan peran ini. Nama peran harus unik di dalam Anda Akun AWS. Ketika nama peran digunakan dalam kebijakan atau sebagai bagian dari ARN, nama peran tersebut peka huruf besar/kecil. Ketika nama peran muncul kepada 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.

  7. (Opsional) Untuk Deskripsi, masukkan deskripsi untuk peran baru ini.

  8. (Opsional) Tambahkan metadata ke pengguna dengan cara melampirkan tanda sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang menggunakan tanda di IAM, lihat Tag untuk AWS Identity and Access Management sumber daya.

  9. 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 kebijakan AmazonRDSEnhancedMonitoringRole.

Pengguna yang ingin Anda akses Pemantauan yang Ditingkatkan memerlukan kebijakan yang menyertakan pernyataan yang memungkinkan pengguna untuk mencantumkan peran RDS dan pernyataan yang memungkinkan pengguna untuk meneruskan peran, seperti berikut ini. Gunakan nomor akun Anda dan ganti nama peran dengan nama yang Anda berikan pada 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 dimulai denganRDS-, Anda dapat mengganti nama peran dalam sumber daya ARN dengan wildcard, sebagai berikut.

"Resource": "arn:aws:iam::account-id:role/RDS-*"

iam: PassRole tindakan di AWS CloudTrail log

PassRolebukan panggilan API. PassRoleadalah 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 mengubah sumber AWS 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.