Membuat peran untuk mendelegasikan izin ke layanan AWS - 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.

Membuat peran untuk mendelegasikan izin ke layanan AWS

Banyak AWS layanan mengharuskan Anda menggunakan peran untuk memungkinkan layanan mengakses sumber daya di layanan lain atas nama Anda. Peran yang diasumsikan layanan untuk melakukan tindakan atas nama Anda disebut peran layanan. Ketika peran melayani tujuan khusus untuk layanan, itu dikategorikan sebagai peran layanan untuk EC2 instance (misalnya), atau peran terkait layanan. Untuk melihat apa yang didukung layanan dengan menggunakan peran yang terkait dengan layanan, atau apakah layanan mendukung segala bentuk kredensial sementara, lihat AWS layanan yang bekerja dengan IAM. Untuk mempelajari bagaimana layanan individu menggunakan peran, pilih nama layanan dalam tabel untuk melihat dokumentasi untuk layanan tersebut.

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.

Untuk informasi tentang cara peran membantu Anda untuk mendelegasikan izin, lihat Istilah dan konsep peran.

Izin peran layanan

Anda harus mengonfigurasi izin untuk mengizinkan IAM entitas (pengguna atau peran) membuat atau mengedit peran layanan.

catatan

ARNUntuk peran terkait layanan mencakup prinsip layanan, yang ditunjukkan dalam kebijakan berikut sebagai. SERVICE-NAME.amazonaws.com Jangan mencoba menebak prinsip layanan, karena peka huruf besar/kecil dan formatnya dapat bervariasi antar AWS layanan. Untuk melihat prinsipal layanan untuk suatu layanan, lihat dokumentasi peran yang terkait dengan layanan.

Untuk memungkinkan IAM entitas membuat peran layanan tertentu

Tambahkan kebijakan berikut ke IAM entitas yang perlu membuat peran layanan. Kebijakan ini memungkinkan Anda untuk membuat peran layanan untuk layanan tertentu dan dengan nama yang spesifik. Anda dapat melampirkan kebijakan terkelola atau inline pada peran tersebut.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME" } ] }

Untuk memungkinkan IAM entitas membuat peran layanan apa pun

AWS merekomendasikan bahwa Anda hanya mengizinkan pengguna administratif untuk membuat peran layanan apa pun. Seseorang dengan izin untuk membuat peran dan melampirkan kebijakan apa pun dapat meningkatkan izin mereka sendiri. Sebagai gantinya, buat kebijakan yang memungkinkan mereka hanya membuat peran yang mereka butuhkan atau minta administrator membuat peran layanan atas nama mereka.

Untuk melampirkan kebijakan yang memungkinkan administrator mengakses seluruh kebijakan Anda Akun AWS, gunakan kebijakan AdministratorAccess AWS terkelola.

Untuk mengizinkan IAM entitas mengedit peran layanan

Tambahkan kebijakan berikut ke IAM entitas yang perlu mengedit peran layanan.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EditSpecificServiceRole", "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRolePolicies", "iam:PutRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME" }, { "Sid": "ViewRolesAndPolicies", "Effect": "Allow", "Action": [ "iam:GetPolicy", "iam:ListRoles" ], "Resource": "*" } ] }

Untuk mengizinkan IAM entitas menghapus peran layanan tertentu

Tambahkan pernyataan berikut ke kebijakan izin untuk IAM entitas yang perlu menghapus peran layanan yang ditentukan.

{ "Effect": "Allow", "Action": "iam:DeleteRole", "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME" }

Untuk mengizinkan IAM entitas menghapus peran layanan apa pun

AWS merekomendasikan bahwa Anda hanya mengizinkan pengguna administratif untuk menghapus peran layanan apa pun. Sebagai gantinya, buat kebijakan yang memungkinkan mereka menghapus hanya peran yang mereka butuhkan atau minta administrator menghapus peran layanan atas nama mereka.

Untuk melampirkan kebijakan yang memungkinkan administrator mengakses seluruh kebijakan Anda Akun AWS, gunakan kebijakan AdministratorAccess AWS terkelola.

Membuat peran untuk AWS layanan (konsol)

Anda dapat menggunakan AWS Management Console untuk membuat peran untuk layanan. Karena beberapa layanan mendukung lebih dari satu peran layanan, lihat dokumentasi AWS agar layanan Anda dapat melihat kasus penggunaan mana yang dapat dipilih. Anda dapat mempelajari cara menetapkan kebijakan kepercayaan dan izin yang diperlukan untuk peran tersebut sehingga layanan dapat mengasumsikan peran tersebut atas nama Anda. Langkah-langkah yang dapat Anda gunakan untuk mengontrol izin untuk peran Anda dapat bervariasi, tergantung pada bagaimana layanan mendefinisikan kasus penggunaan, dan apakah Anda membuat peran terkait layanan atau tidak.

Untuk membuat peran untuk AWS layanan (IAMkonsol)
  1. Masuk ke AWS Management Console dan buka IAM konsol di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi IAM konsol, pilih Peran, lalu pilih Buat peran.

  3. Untuk jenis entitas Tepercaya, pilih AWS layanan.

  4. Untuk kasus Layanan atau penggunaan, pilih layanan, lalu pilih kasus penggunaan. Kasus penggunaan ditentukan oleh layanan untuk menyertakan kebijakan kepercayaan yang diperlukan layanan.

  5. Pilih Berikutnya.

  6. Untuk kebijakan Izin, opsi bergantung pada kasus penggunaan yang Anda pilih:

    • Jika layanan menentukan izin untuk peran tersebut, Anda tidak dapat memilih kebijakan izin.

    • Pilih dari serangkaian kebijakan izin terbatas.

    • Pilih dari semua kebijakan izin.

    • Pilih kebijakan tanpa izin, buat kebijakan setelah peran dibuat, lalu lampirkan kebijakan ke peran.

  7. (Opsional) Tetapkan batas izin. Ini adalah fitur lanjutan yang tersedia untuk peran layanan, tetapi bukan peran tertaut layanan.

    1. Buka bagian Setel batas izin, lalu pilih Gunakan batas izin untuk mengontrol izin peran maksimum.

      IAMmenyertakan daftar kebijakan yang AWS dikelola dan dikelola pelanggan di akun Anda.

    2. Pilih kebijakan yang akan digunakan untuk batas izin.

  8. Pilih Berikutnya.

  9. Untuk nama Peran, opsi bergantung pada layanan:

    • Jika layanan menentukan nama peran, Anda tidak dapat mengedit nama peran.

    • Jika layanan mendefinisikan awalan untuk nama peran, Anda dapat memasukkan akhiran opsional.

    • Jika layanan tidak menentukan nama peran, Anda dapat memberi nama peran.

      penting

      Saat Anda memberi nama peran, perhatikan hal berikut:

      • Nama peran harus unik di dalam diri Anda Akun AWS, dan tidak dapat dibuat unik berdasarkan kasus.

        Misalnya, jangan membuat peran bernama keduanya PRODROLE danprodrole. Ketika nama peran digunakan dalam kebijakan atau sebagai bagian dariARN, nama peran akan peka huruf besar/kecil, namun ketika nama peran muncul kepada pelanggan di konsol, seperti selama proses login, nama peran tersebut tidak peka huruf besar/kecil.

      • Anda tidak dapat mengedit nama peran setelah dibuat karena entitas lain mungkin mereferensikan peran tersebut.

  10. (Opsional) Untuk Deskripsi, masukkan deskripsi untuk peran tersebut.

  11. (Opsional) Untuk mengedit kasus penggunaan dan izin untuk peran, di Langkah 1: Pilih entitas tepercaya atau Langkah 2: Tambahkan izin, pilih Edit.

  12. (Opsional) Untuk membantu mengidentifikasi, mengatur, atau mencari peran, tambahkan tag sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang penggunaan tag diIAM, lihat Menandai IAM sumber daya di Panduan IAM Pengguna.

  13. Tinjau peran lalu pilih Buat peran.

Membuat peran untuk layanan (AWS CLI)

Membuat peran dari AWS CLI melibatkan beberapa langkah. Saat Anda menggunakan konsol untuk membuat peran, banyak langkah dilakukan untuk Anda, tetapi dengan itu AWS CLI Anda harus secara eksplisit melakukan setiap langkah sendiri. Anda harus membuat peran dan kemudian menetapkan kebijakan izin untuk peran tersebut. Jika layanan yang Anda kerjakan adalah AmazonEC2, maka Anda juga harus membuat profil instance dan menambahkan peran ke dalamnya. Atau, Anda juga dapat mengatur batas izin untuk peran Anda.

Untuk membuat peran untuk AWS layanan dari AWS CLI
  1. create-rolePerintah berikut membuat peran bernama Test-Role dan melampirkan kebijakan kepercayaan padanya:

    aws iam create-role --role-name Test-Role --assume-role-policy-document file://Test-Role-Trust-Policy.json

  2. Lampirkan kebijakan izin terkelola ke peran: aws attach-role-policy iam.

    Misalnya, attach-role-policy perintah berikut melampirkan kebijakan AWS terkelola bernama ReadOnlyAccess ke IAM peran bernamaReadOnlyRole:

    aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess --role-name ReadOnlyRole

    atau

    Buat kebijakan izin sebaris untuk peran tersebut: aws iam put-role-policy

    Untuk menambahkan kebijakan izin sebaris, lihat contoh berikut:

    aws iam put-role-policy --role-name Test-Role --policy-name ExamplePolicy --policy-document file://AdminPolicy.json

  3. (Opsional) Tambahkan atribut khusus ke peran tersebut dengan melampirkan tag: aws iam tag-role

    Untuk informasi selengkapnya, lihat Mengelola tag pada peran IAM (AWS CLI atau AWS API).

  4. (Opsional) Tetapkan batas izin untuk peran: aws iam put-role-permissions-boundary

    Batas izin mengontrol izin maksimum yang dapat dimiliki sebuah peran. Batas izin adalah AWS fitur lanjutan.

Jika Anda akan menggunakan peran dengan Amazon EC2 atau AWS layanan lain yang menggunakan AmazonEC2, Anda harus menyimpan peran tersebut dalam profil instance. Profil instance adalah wadah untuk peran yang dapat dilampirkan ke EC2 instance Amazon saat diluncurkan. Profil instans hanya dapat berisi satu , dan batas tersebut tidak dapat ditingkatkan. Jika Anda membuat peran menggunakan AWS Management Console, profil instance dibuat untuk Anda dengan nama yang sama dengan peran. Untuk informasi selengkapnya tentang profil instans, lihat Gunakan profil contoh. Untuk informasi tentang cara meluncurkan EC2 instance dengan peran, lihat Mengontrol Akses ke EC2 Sumber Daya Amazon di Panduan EC2 Pengguna Amazon.

Untuk membuat profil instans dan menyimpan peran di dalamnya (AWS CLI)
  1. Buat profil instance: aws iam create-instance-profile

  2. Tambahkan peran ke profil instance: aws iam add-role-to-instance -profile

AWS CLI Contoh perintah yang ditetapkan di bawah ini menunjukkan dua langkah pertama untuk membuat peran dan melampirkan izin. Itu juga menunjukkan dua langkah untuk membuat profil instans dan menambahkan peran ke profil. Contoh kebijakan kepercayaan ini memungkinkan EC2 layanan Amazon untuk mengambil peran dan melihat bucket example_bucket Amazon S3. Contoh ini juga mengasumsikan bahwa Anda sedang bekerja di komputer klien yang menjalankan Windows dan telah mengonfigurasi antarmuka baris perintah Anda dengan kredensial akun dan Wilayah Anda. Untuk informasi selengkapnya, lihat Mengkonfigurasi Antarmuka Baris AWS Perintah.

Dalam contoh ini, sertakan kebijakan kepercayaan berikut pada perintah pertama ketika Anda membuat peran tersebut. Kebijakan kepercayaan ini memungkinkan EC2 layanan Amazon untuk mengambil peran.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": "ec2.amazonaws.com"}, "Action": "sts:AssumeRole" } }

Saat Anda menggunakan perintah kedua, Anda harus melampirkan kebijakan izin pada peran tersebut. Contoh kebijakan izin berikut memungkinkan peran untuk hanya mengasumsikan tindakan ListBucket pada example_bucket bucket Amazon S3.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::example_bucket" } }

Untuk membuat peran ini Test-Role-for-EC2, Anda harus terlebih dahulu menyimpan kebijakan kepercayaan sebelumnya dengan nama trustpolicyforec2.json dan kebijakan izin sebelumnya dengan nama permissionspolicyforec2.json ke policies direktori di lokasi Anda C:. Anda dapat menggunakan perintah berikut untuk membuat peran, melampirkan kebijakan, membuat profil instans, dan menambahkan peran ke profil instans.

# Create the role and attach the trust policy that allows EC2 to assume this role. $ aws iam create-role --role-name Test-Role-for-EC2 --assume-role-policy-document file://C:\policies\trustpolicyforec2.json # Embed the permissions policy (in this example an inline policy) to the role to specify what it is allowed to do. $ aws iam put-role-policy --role-name Test-Role-for-EC2 --policy-name Permissions-Policy-For-Ec2 --policy-document file://C:\policies\permissionspolicyforec2.json # Create the instance profile required by EC2 to contain the role $ aws iam create-instance-profile --instance-profile-name EC2-ListBucket-S3 # Finally, add the role to the instance profile $ aws iam add-role-to-instance-profile --instance-profile-name EC2-ListBucket-S3 --role-name Test-Role-for-EC2

Saat meluncurkan EC2 instance, tentukan nama profil instance di halaman Konfigurasikan Detail Instance jika Anda menggunakan AWS konsol. Jika Anda menggunakan aws ec2 run-instances CLI perintah, tentukan --iam-instance-profile parameternya.

Membuat peran untuk layanan (AWS API)

Membuat peran dari AWS API melibatkan beberapa langkah. Saat Anda menggunakan konsol untuk membuat peran, banyak langkah dilakukan untuk Anda, tetapi dengan itu API Anda harus secara eksplisit melakukan setiap langkah sendiri. Anda harus membuat peran dan kemudian menetapkan kebijakan izin untuk peran tersebut. Jika layanan yang Anda kerjakan adalah AmazonEC2, maka Anda juga harus membuat profil instance dan menambahkan peran ke dalamnya. Atau, Anda juga dapat mengatur batas izin untuk peran Anda.

Untuk membuat peran untuk AWS layanan (AWS API)
  1. Buat peran: CreateRole

    Untuk kebijakan kepercayaan peran, Anda dapat menentukan lokasi file.

  2. Lampirkan kebijakan izin terkelola ke peran: AttachRolePolicy

    atau

    Membuat kebijakan izin inline untuk peran: PutRolePolicy

  3. (Opsional) Tambahkan atribut khusus ke pengguna dengan melampirkan tag: TagRole

    Untuk informasi selengkapnya, lihat Mengelola tag pada pengguna IAM (AWS CLI atau AWS API).

  4. (Opsional) Tetapkan batas izin untuk peran: PutRolePermissionsBoundary

    Batas izin mengontrol izin maksimum yang dapat dimiliki sebuah peran. Batas izin adalah AWS fitur lanjutan.

Jika Anda akan menggunakan peran dengan Amazon EC2 atau AWS layanan lain yang menggunakan AmazonEC2, Anda harus menyimpan peran tersebut dalam profil instance. Profil contoh adalah wadah untuk peran. Profil instans hanya dapat berisi satu peran, dan batas tersebut tidak dapat ditingkatkan. Jika Anda membuat peran di AWS Management Console, profil instance dibuat untuk Anda dengan nama yang sama dengan peran. Untuk informasi selengkapnya tentang profil instans, lihat Gunakan profil contoh. Untuk informasi tentang cara meluncurkan EC2 instans Amazon dengan peran, lihat Mengontrol Akses ke EC2 Sumber Daya Amazon di Panduan EC2 Pengguna Amazon.

Untuk membuat profil instance dan menyimpan peran di dalamnya (AWS API)
  1. Buat profil instans: CreateInstanceProfile

  2. Tambahkan peran ke profil instance: AddRoleToInstanceProfile