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.
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.SERVICE-NAME
.amazonaws.com
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
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
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)
Masuk ke AWS Management Console dan buka IAM konsol di https://console.aws.amazon.com/iam/
. -
Di panel navigasi IAM konsol, pilih Peran, lalu pilih Buat peran.
-
Untuk jenis entitas Tepercaya, pilih AWS layanan.
-
Untuk kasus Layanan atau penggunaan, pilih layanan, lalu pilih kasus penggunaan. Kasus penggunaan ditentukan oleh layanan untuk menyertakan kebijakan kepercayaan yang diperlukan layanan.
-
Pilih Berikutnya.
-
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.
-
-
(Opsional) Tetapkan batas izin. Ini adalah fitur lanjutan yang tersedia untuk peran layanan, tetapi bukan peran tertaut layanan.
-
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.
Pilih kebijakan yang akan digunakan untuk batas izin.
-
-
Pilih Berikutnya.
-
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.
-
-
-
(Opsional) Untuk Deskripsi, masukkan deskripsi untuk peran tersebut.
-
(Opsional) Untuk mengedit kasus penggunaan dan izin untuk peran, di Langkah 1: Pilih entitas tepercaya atau Langkah 2: Tambahkan izin, pilih Edit.
-
(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.
-
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
-
create-role
Perintah 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
-
Lampirkan kebijakan izin terkelola ke peran: aws attach-role-policy iam.
Misalnya,
attach-role-policy
perintah berikut melampirkan kebijakan AWS terkelola bernamaReadOnlyAccess
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
-
(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).
-
(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)
-
Buat profil instance: aws iam create-instance-profile
-
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)
-
Buat peran: CreateRole
Untuk kebijakan kepercayaan peran, Anda dapat menentukan lokasi file.
-
Lampirkan kebijakan izin terkelola ke peran: AttachRolePolicy
atau
Membuat kebijakan izin inline untuk peran: PutRolePolicy
-
(Opsional) Tambahkan atribut khusus ke pengguna dengan melampirkan tag: TagRole
Untuk informasi selengkapnya, lihat Mengelola tag pada pengguna IAM (AWS CLI atau AWS API).
-
(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)
-
Buat profil instans: CreateInstanceProfile
-
Tambahkan peran ke profil instance: AddRoleToInstanceProfile