Membuat peran untuk mendelegasikan izin ke pengguna IAM - 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 pengguna IAM

Anda dapat menggunakan IAM peran untuk mendelegasikan akses ke AWS sumber daya. Dengan IAM peran, Anda dapat membangun hubungan kepercayaan antara akun kepercayaan Anda dan lainnya AWS akun tepercaya. Akun trusting memiliki sumber daya yang akan diakses dan akun terpercaya berisi pengguna yang membutuhkan akses ke sumber daya. Namun, akun lain bisa saja memiliki sumber daya di akun Anda. Misalnya, akun kepercayaan mungkin mengizinkan akun tepercaya untuk membuat sumber daya baru, seperti membuat objek baru di bucket Amazon S3. Dalam hal ini, akun yang menciptakan sumber daya memiliki sumber daya dan mengendalikan siapa yang dapat mengakses sumber daya tersebut.

Setelah Anda membuat hubungan kepercayaan, IAM pengguna atau aplikasi dari akun tepercaya dapat menggunakan AWS Security Token Service (AWS STS) AssumeRoleAPIoperasi. Operasi ini menyediakan kredensi keamanan sementara yang memungkinkan akses ke AWS sumber daya di akun Anda.

Akun-akun tersebut dapat dikendalikan oleh Anda, atau akun dengan pengguna-pengguna dapat dikendalikan oleh pihak ketiga. Jika akun lain dengan pengguna adalah Akun AWS bahwa Anda tidak mengontrol, maka Anda dapat menggunakan externalId atribut. ID eksternal dapat berupa kata atau nomor apa pun yang disepakati antara Anda dan administrator akun pihak ketiga. Opsi ini secara otomatis menambahkan persyaratan kepada kebijakan kepercayaan yang memperbolehkan pengguna untuk mengasumsikan peran hanya jika permintaan mencakup sts:ExternalID yang benar. Untuk informasi selengkapnya, lihat Akses ke Akun AWS yang dimiliki oleh pihak ketiga.

Untuk informasi tentang cara menggunakan peran untuk mendelegasikan izin, lihat Istilah dan konsep peran. Untuk informasi tentang menggunakan peran layanan untuk memperbolehkan layanan mengakses sumber daya di akun Anda, lihat Membuat peran untuk mendelegasikan izin ke layanan AWS.

Membuat peran IAM (konsol)

Anda dapat menggunakan AWS Management Console untuk membuat peran yang dapat diasumsikan oleh IAM pengguna. Misalnya, asumsikan bahwa organisasi Anda memiliki beberapa Akun AWS untuk mengisolasi lingkungan pembangunan dari lingkungan produksi. Untuk informasi tingkat tinggi tentang membuat peran yang memungkinkan pengguna di akun pengembangan mengakses sumber daya di akun produksi, lihatContoh skenario menggunakan akun pengembangan dan produksi terpisah.

Izin minimum

Untuk melakukan langkah-langkah berikut, Anda harus memiliki setidaknya IAM izin berikut:

  • access-analyzer:ValidatePolicy

  • iam:AttachRolePolicy

  • iam:CreatePolicy

  • iam:CreateRole

  • iam:GetAccountSummary

  • iam:GetPolicy

  • iam:GetPolicyVersion

  • iam:GetRole

  • iam:ListAccountAliases

  • iam:ListAttachedRolePolicies

  • iam:ListOpenIDConnectProviders

  • iam:ListPolicies

  • iam:ListRolePolicies

  • iam:ListRoles

  • iam:ListRoleTags

  • iam:ListSAMLProviders

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

  2. Di panel navigasi konsol, pilih Peran dan kemudian pilih Buat peran.

  3. Pilih Akun AWStipe peran.

  4. Untuk membuat peran untuk akun Anda, pilih Akun ini. Untuk membuat peran untuk akun lain, pilih Lainnya Akun AWSdan masukkan ID Akun yang ingin Anda berikan akses ke sumber daya Anda.

    Administrator akun yang ditentukan dapat memberikan izin untuk mengambil peran ini kepada IAM pengguna mana pun di akun itu. Untuk melakukannya, administrator melampirkan kebijakan kepada pengguna atau grup yang memberikan izin untuk tindakan sts:AssumeRole. Kebijakan itu harus menentukan peran ARN sebagaiResource.

  5. Jika Anda memberikan izin kepada pengguna dari akun yang tidak Anda kendalikan, dan pengguna akan mengambil peran ini secara terprogram, pilih Memerlukan ID eksternal. ID eksternal dapat berupa kata atau nomor apa pun yang disepakati antara Anda dan administrator akun pihak ketiga. Opsi ini secara otomatis menambahkan persyaratan kepada kebijakan kepercayaan yang memperbolehkan pengguna untuk mengasumsikan peran hanya jika permintaan mencakup sts:ExternalID yang benar. Untuk informasi selengkapnya, lihat Akses ke Akun AWS yang dimiliki oleh pihak ketiga.

    penting

    Memilih opsi ini membatasi akses ke peran hanya melalui AWS CLI, Alat untuk Windows PowerShell, atau AWS API. Hal ini karena Anda tidak dapat menggunakan AWS konsol untuk beralih ke peran yang memiliki externalId kondisi dalam kebijakan kepercayaannya. Namun, Anda dapat membuat akses semacam ini secara terprogram dengan menulis skrip atau aplikasi menggunakan yang relevan. SDK Untuk informasi selengkapnya dan contoh skrip, lihat Cara Mengaktifkan Akses Lintas Akun ke AWS Management Consoledi AWS Blog Keamanan.

  6. Jika Anda ingin membatasi peran untuk pengguna yang masuk dengan otentikasi multi-faktor (MFA), pilih Memerlukan. MFA Ini menambahkan kondisi pada kebijakan kepercayaan peran yang memeriksa MFA proses masuk. Pengguna yang ingin mengambil peran harus masuk dengan kata sandi satu kali sementara dari MFA perangkat yang dikonfigurasi. Pengguna tanpa MFA otentikasi tidak dapat mengambil peran. Untuk informasi selengkapnyaMFA, lihat AWS Otentikasi multi-faktor di IAM

  7. Pilih Berikutnya.

  8. IAMtermasuk daftar AWS kebijakan terkelola dan terkelola pelanggan di akun Anda. Pilih kebijakan yang akan digunakan untuk kebijakan izin atau pilih Buat kebijakan untuk membuka tab peramban baru dan membuat kebijakan baru dari awal. Untuk informasi selengkapnya, lihat Membuat IAM kebijakan. Setelah Anda membuat kebijakan, tutup tab tersebut dan kembali ke tab asli Anda. Centang kotak di samping kebijakan izin yang Anda inginkan untuk dimiliki oleh siapa pun yang memegang peran tersebut. Jika Anda lebih suka, Anda boleh tidak memilih kebijakan saat ini, kemudian melampirkan kebijakan kepada peran di lain waktu. Secara default, peran tidak memiliki izin.

  9. (Opsional) Tetapkan batas izin. Ini adalah fitur lanjutan.

    Buka bagian Atur batasan izin dan pilih Gunakan batas izin untuk mengontrol izin peran maksimum. Pilih kebijakan yang akan digunakan untuk batas izin.

  10. Pilih Berikutnya.

  11. Untuk Nama peran, masukkan nama peran Anda. 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 tersebut, Anda tidak dapat mengedit nama peran setelah peran tersebut dibuat.

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

  13. Pilih Edit di Langkah 1: Pilih entitas tepercaya atau Langkah 2: Tambahkan bagian izin untuk mengedit kasus penggunaan dan izin untuk peran tersebut. Anda akan dikembalikan ke halaman sebelumnya untuk melakukan pengeditan.

  14. (Opsional) Tambahkan metadata ke dalam peran dengan melampirkan tanda sebagai pasangan nilai-kunci. Untuk informasi selengkapnya tentang penggunaan tag diIAM, lihatTag untuk AWS Identity and Access Management sumber daya.

  15. Tinjau peran dan kemudian pilih Buat peran.

    penting

    Ingatlah bahwa ini hanya setengah bagian pertama dari konfigurasi yang diperlukan. Anda juga harus memberikan izin kepada pengguna individu dalam akun terpercaya untuk beralih ke peran dalam konsol, atau mengasumsikan peran tersebut secara terprogram. Untuk informasi selengkapnya tentang langkah ini, lihat Berikan izin pengguna untuk beralih peran.

Menciptakan IAM peran (AWS CLI)

Menciptakan peran dari AWS CLI melibatkan beberapa langkah. Saat Anda menggunakan konsol untuk membuat peran, banyak langkah dilakukan untuk Anda, tetapi dengan AWS CLI Anda harus secara eksplisit melakukan setiap langkah sendiri. Anda harus membuat peran dan kemudian menetapkan kebijakan izin untuk peran tersebut. Atau, Anda juga dapat mengatur batas izin untuk peran Anda.

Untuk membuat peran untuk akses lintas akun (AWS CLI)
  1. Buat peran: aws iam create-role

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

    atau

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

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

    Untuk informasi selengkapnya, lihat Mengelola tag pada IAM peran (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 lanjutan AWS fitur.

Contoh berikut menunjukkan dua langkah pertama, dan yang paling umum untuk membuat peran lintas akun dalam lingkungan sederhana. Contoh ini memungkinkan setiap pengguna dalam akun 123456789012 untuk mengasumsikan peran dan melihat example_bucket bucket Amazon S3. Contoh ini juga mengasumsikan bahwa Anda menggunakan komputer klien yang menjalankan Windows, dan telah mengonfigurasi antarmuka baris perintah Anda kredensial akun dan Wilayah Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi AWS Antarmuka Baris Perintah.

Dalam contoh ini, sertakan kebijakan kepercayaan berikut pada perintah pertama ketika Anda membuat peran tersebut. Kebijakan kepercayaan ini memungkinkan pengguna di 123456789012 akun untuk mengambil peran menggunakan AssumeRole operasi, tetapi hanya jika pengguna memberikan MFA otentikasi menggunakan TokenCode parameter SerialNumber dan. Untuk informasi lebih lanjut tentangMFA, lihatAWS Otentikasi multi-faktor di IAM.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "sts:AssumeRole", "Condition": { "Bool": { "aws:MultiFactorAuthPresent": "true" } } } ] }
penting

Jika Principal elemen Anda berisi ARN untuk IAM peran atau pengguna tertentu, maka elemen ARN tersebut akan diubah menjadi ID utama unik saat kebijakan disimpan. Hal ini membantu memitigasi risiko seseorang meningkatkan izin mereka dengan menghapus dan membuat kembali peran atau pengguna. Anda biasanya tidak melihat ID ini di konsol karena ada juga transformasi terbalik kembali ke ARN saat kebijakan kepercayaan ditampilkan. Namun, jika Anda menghapus peran atau pengguna, maka ID utama muncul di konsol karena AWS tidak bisa lagi memetakannya kembali ke fileARN. Oleh karena itu, jika Anda menghapus dan membuat ulang pengguna atau peran yang direferensikan dalam Principal elemen kebijakan kepercayaan, Anda harus mengedit peran tersebut untuk mengganti peran tersebut. ARN

Saat menggunakan perintah kedua, Anda harus melampirkan kebijakan terkelola yang ada pada peran tersebut. Kebijakan izin berikut ini memperbolehkan siapa pun yang mengasumsikan peran untuk hanya melaksanakan 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 Test-UserAccess-Role ini, Anda harus terlebih dahulu menyimpan kebijakan kepercayaan sebelumnya dengan nama trustpolicyforacct123456789012.json ke folder policies di drive lokal C: Anda. Kemudian simpan kebijakan izin sebelumnya sebagai kebijakan terkelola pelanggan di Akun AWS dengan namaPolicyForRole. Kemudian Anda dapat menggunakan perintah berikut untuk membuat peran dan melampirkan kebijakan terkelola.

# Create the role and attach the trust policy file that allows users in the specified account to assume the role. $ aws iam create-role --role-name Test-UserAccess-Role --assume-role-policy-document file://C:\policies\trustpolicyforacct123456789012.json # Attach the permissions policy (in this example a managed policy) to the role to specify what it is allowed to do. $ aws iam attach-role-policy --role-name Test-UserAccess-Role --policy-arn arn:aws:iam::123456789012:policy/PolicyForRole
penting

Ingatlah bahwa ini hanya setengah bagian pertama dari konfigurasi yang diperlukan. Anda juga harus memberikan izin kepada pengguna individu dalam akun terpercaya untuk beralih ke peran. Untuk informasi selengkapnya tentang langkah ini, lihat Berikan izin pengguna untuk beralih peran.

Setelah Anda membuat peran dan memberikan izin untuk melakukan AWS tugas atau akses AWS sumber daya, setiap pengguna di 123456789012 akun dapat mengambil peran. Untuk informasi selengkapnya, lihat Beralih ke IAM peran (AWS CLI).

Menciptakan IAM peran (AWS API)

Menciptakan peran dari AWS APImelibatkan 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. Atau, Anda juga dapat mengatur batas izin untuk peran Anda.

Untuk membuat peran dalam kode (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 tersebut: PutRolePolicy

    penting

    Ingatlah bahwa ini hanya setengah bagian pertama dari konfigurasi yang diperlukan. Anda juga harus memberikan izin kepada pengguna individu dalam akun terpercaya untuk beralih ke peran. Untuk informasi selengkapnya tentang langkah ini, lihat Berikan izin pengguna untuk beralih peran.

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

    Untuk informasi selengkapnya, lihat Mengelola tag pada IAM pengguna (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 lanjutan AWS fitur.

Setelah Anda membuat peran dan memberikan izin untuk melakukan AWS tugas atau akses AWS sumber daya, Anda harus memberikan izin kepada pengguna di akun untuk memungkinkan mereka mengambil peran. Untuk informasi lebih lanjut tentang mengambil peran, lihat Beralih ke IAM peran (AWS API).

Menciptakan IAM peran (AWS CloudFormation)

Untuk informasi tentang membuat IAM peran di AWS CloudFormation, lihat referensi sumber daya dan properti dan contoh di AWS CloudFormation Panduan Pengguna.

Untuk informasi lebih lanjut tentang IAM template di AWS CloudFormation, lihat AWS Identity and Access Management cuplikan template di AWS CloudFormation Panduan Pengguna.