Buat peran untuk memberikan izin kepada 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.

Buat peran untuk memberikan izin kepada pengguna IAM

Anda dapat menggunakan peran IAM untuk menyediakan akses ke AWS sumber daya Anda. Dengan peran IAM, Anda dapat membangun hubungan kepercayaan antara akun kepercayaan Anda dan akun AWS tepercaya lainnya. 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, pengguna IAM atau aplikasi dari akun tepercaya dapat menggunakan operasi AssumeRoleAPI AWS Security Token Service (AWS STS). 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 yang tidak Anda kendalikan, maka Anda dapat menggunakan externalId atribut tersebut. 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 pengguna IAM. Misalnya, asumsikan bahwa organisasi Anda memiliki banyak Akun AWS untuk mengisolasi lingkungan pengembangan 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 izin IAM 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

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

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

  3. Pilih tipe Akun AWSperan.

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

    Administrator akun yang ditentukan dapat memberikan izin untuk mengasumsikan peran ini kepada setiap pengguna IAM dalam akun tersebut. Untuk melakukannya, administrator melampirkan kebijakan kepada pengguna atau grup yang memberikan izin untuk tindakan sts:AssumeRole. Kebijakan tersebut harus menentukan ARN peran sebagai Resource.

  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. Ini karena Anda tidak dapat menggunakan AWS konsol untuk beralih ke peran yang memiliki externalId kondisi dalam kebijakan kepercayaannya. Namun, Anda dapat membuat jenis akses ini secara terprogram dengan menulis skrip atau aplikasi menggunakan SDK yang relevan. Untuk informasi lebih lanjut dan contoh skrip, lihat Cara Mengaktifkan Akses Lintas Akun ke AWS Management Console dalam Blog Keamanan AWS .

  6. Jika Anda ingin membatasi peran bagi pengguna yang masuk ke multi-factor authentication (MFA) (MFA), pilih Memerlukan MFA. Ini menambahkan persyaratan ke kebijakan kepercayaan peran yang memeriksa masuk MFA. Seorang pengguna yang ingin mengasumsikan peran tersebut harus masuk dengan kata sandi satu kali sementara dari perangkat MFA yang dikonfigurasi. Pengguna tanpa otentikasi MFA tidak dapat mengasumsikan peran tersebut. Untuk informasi lebih lanjut tentang MFA, lihat AWS Otentikasi multi-faktor di IAM

  7. Pilih Berikutnya.

  8. IAM menyertakan daftar kebijakan yang AWS dikelola dan dikelola 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. Pilih kotak centang di samping kebijakan izin yang Anda inginkan bagi siapa saja yang mengambil 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 di dalam diri Anda Akun AWS. Bila nama peran digunakan dalam kebijakan atau sebagai bagian dari ARN, 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 peran dengan melampirkan tag sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang menggunakan tag di IAM, lihat Tag 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.

Membuat peran IAM ()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. Atau, Anda juga dapat mengatur batas izin untuk peran Anda.

Untuk membuat peran bagi 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 AWS fitur lanjutan.

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 Antarmuka Baris AWS Perintah.

Dalam contoh ini, sertakan kebijakan kepercayaan berikut pada perintah pertama ketika Anda membuat peran tersebut. Kebijakan kepercayaan ini memperbolehkan pengguna dalam akun 123456789012 untuk mengasumsikan peran dengan menggunakan operasi AssumeRole, tetapi hanya jika pengguna memberikan otentikasi MFA dengan menggunakan parameter SerialNumber dan TokenCode. Untuk informasi lebih lanjut tentang MFA, lihat AWS 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 elemen Principal Anda memuat ARN untuk peran atau pengguna IAM tertentu, kemudian ARN diubah menjadi ID prinsipal 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 dalam konsol karena terdapat transformasi balik kembali ke ARN ketika kebijakan kepercayaan ditampilkan. Namun, jika Anda menghapus peran atau pengguna, maka ID utama muncul di konsol karena tidak AWS dapat lagi memetakannya kembali ke ARN. Oleh karena itu, jika Anda menghapus dan membuat ulang pengguna atau peran yang dirujuk di dalam elemen Principal kebijakan kepercayaan, Anda harus mengubah peran untuk mengganti 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 nama PolicyForRole Anda Akun AWS . 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 memberinya izin untuk melakukan AWS tugas atau mengakses AWS sumber daya, setiap pengguna di 123456789012 akun dapat mengambil peran tersebut. Untuk informasi selengkapnya, lihat Beralih ke IAM peran (AWS CLI).

Membuat peran IAM (AWS API)

Membuat peran dari AWS API melibatkan beberapa langkah. Saat Anda menggunakan konsol untuk membuat peran, banyak langkah yang dilakukan untuk Anda, tetapi dengan API Anda harus melakukan setiap langkah sendiri secara eksplisit. 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 pada peran: AttachRolePolicy

    atau

    Buat kebijakan izin inline untuk peran: 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 tersebut: PutRolePermissionsBoundary

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

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

Membuat peran IAM ()AWS CloudFormation

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

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