Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh kebijakan Amazon EC2 Auto Scaling berbasis identitas
Secara default, pengguna baru di Anda tidak Akun AWS memiliki izin untuk melakukan apa pun. Administrator IAM harus membuat dan menetapkan kebijakan IAM yang memberikan izin identitas IAM (seperti pengguna atau peran) untuk melakukan tindakan API Auto Scaling Amazon EC2.
Untuk mempelajari cara membuat kebijakan IAM dengan menggunakan contoh dokumen kebijakan JSON ini, lihat Membuat kebijakan di tab JSON dalam Panduan Pengguna IAM.
Berikut adalah contoh kebijakan izin.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup", "autoscaling:DeleteAutoScalingGroup" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
purpose
": "testing
" } } }, { "Effect": "Allow", "Action": "autoscaling:Describe*", "Resource": "*" }] }
Kebijakan contoh ini memberikan izin untuk membuat, memperbarui, dan menghapus grup Auto Scaling, tetapi hanya jika grup menggunakan tag.
Karena purpose=testing
Describe
tindakan tidak mendukung izin tingkat sumber daya, Anda harus menentukannya dalam pernyataan terpisah tanpa kondisi. Untuk meluncurkan instance dengan template peluncuran, pengguna juga harus memiliki ec2:RunInstances
izin. Untuk informasi selengkapnya, lihat Kontrol penggunaan template peluncuran Amazon EC2 di grup Auto Scaling.
catatan
Anda dapat membuat kebijakan IAM kustom Anda sendiri untuk mengizinkan atau menolak izin identitas IAM (pengguna atau peran) untuk melakukan tindakan Auto Scaling Amazon EC2. Anda dapat melampirkan kebijakan kustom ini ke identitas IAM yang memerlukan izin yang ditentukan. Contoh berikut menunjukkan izin untuk beberapa kasus penggunaan umum.
Beberapa tindakan Amazon EC2 Auto Scaling API memungkinkan Anda untuk menyertakan grup Auto Scaling tertentu dalam kebijakan Anda yang dapat dibuat atau dimodifikasi oleh tindakan tersebut. Anda dapat membatasi sumber daya target untuk tindakan ini dengan menentukan masing-masing ARN grup Auto Scaling. Namun, sebagai praktik terbaik, kami menyarankan Anda menggunakan kebijakan berbasis tag yang mengizinkan (atau menolak) tindakan pada grup Auto Scaling dengan tag tertentu.
Contoh
- Kontrol ukuran grup Auto Scaling yang dapat dibuat
- Kontrol kunci tag dan nilai tag mana yang dapat digunakan
- Kontrol grup Auto Scaling mana yang dapat dihapus
- Kontrol kebijakan penskalaan yang dapat dihapus
- Kontrol akses ke tindakan penyegaran instans
- Buat peran tertaut layanan
- Kontrol peran terkait layanan mana yang dapat diteruskan (menggunakan) PassRole
Kontrol ukuran grup Auto Scaling yang dapat dibuat
Kebijakan berikut memberikan izin untuk membuat dan memperbarui semua grup Auto Scaling dengan
tag, selama pemohon tidak menentukan ukuran minimum kurang environment=development
1
dari atau ukuran maksimum yang lebih besar. 10
Jika memungkinkan, gunakan tag untuk membantu Anda mengontrol akses ke grup Auto Scaling di akun Anda.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "development
" }, "NumericGreaterThanEqualsIfExists": { "autoscaling:MinSize":1
}, "NumericLessThanEqualsIfExists": { "autoscaling:MaxSize":10
} } }] }
Atau, jika Anda tidak menggunakan tag untuk mengontrol akses ke grup Auto Scaling, Anda dapat menggunakan ARN untuk mengidentifikasi grup Auto Scaling yang berlaku untuk kebijakan IAM.
Grup Auto Scaling memiliki ARN berikut.
"Resource": "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:*:autoScalingGroupName/my-asg
"
Anda juga dapat menentukan beberapa ARN dengan melampirkannya dalam daftar. Untuk informasi selengkapnya tentang menentukan ARN sumber daya Resource
Auto Scaling Amazon EC2 di elemen, lihat. Sumber daya kebijakan untuk EC2 Auto Scaling Amazon
Kontrol kunci tag dan nilai tag mana yang dapat digunakan
Anda juga dapat menggunakan kondisi dalam kebijakan IAM untuk mengontrol kunci tag dan nilai tag yang dapat diterapkan ke grup Auto Scaling. Untuk memberikan izin untuk membuat atau menandai grup Auto Scaling hanya jika pemohon menentukan tag tertentu, gunakan kunci kondisi. aws:RequestTag
Agar hanya memperbolehkan kunci tag tertentu, gunakan kunci ketentuan aws:TagKeys
dengan modifier ForAllValues
.
Kebijakan berikut mengharuskan pemohon untuk menentukan tag dengan kunci
dalam permintaan. Nilai environment
akan mendorong adanya beberapa nilai untuk kunci tag. Untuk menggunakan wildcard, Anda harus menggunakan operator ketentuan "?*"
StringLike
.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "StringLike": { "aws:RequestTag/
environment
": "?*
" } } }] }
Kebijakan berikut menetapkan bahwa pemohon hanya dapat menandai grup Auto Scaling dengan tag
dan, dan hanya cost-center=cc123
mengizinkan purpose
tag dan (tidak ada tag lain yang dapat ditentukan). purpose=webserver
cost-center
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/
purpose
": "webserver
", "aws:RequestTag/cost-center
": "cc123
" }, "ForAllValues:StringEquals": { "aws:TagKeys": ["purpose
", "cost-center
"] } } }] }
Kebijakan berikut mengharuskan pemohon untuk menentukan setidaknya satu tag dalam permintaan, dan hanya mengizinkan
dan cost-center
kunci.owner
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": ["
cost-center
", "owner
"] } } }] }
catatan
Untuk syarat, kunci syarat tidak bersifat peka terhadap huruf besar dan kecil dan nilai syarat bersifat peka huruf besar dan kecil. Oleh karena itu, untuk memaksakan sifat peka terhadap huruf besar atau kecil dari kunci tanda, gunakan kunci syarat aws:TagKeys
, di mana kunci tanda ditetapkan sebagai nilai dalam syarat tersebut.
Kontrol grup Auto Scaling mana yang dapat dihapus
Kebijakan berikut memungkinkan penghapusan grup Auto Scaling hanya jika grup memiliki tag. environment=development
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeleteAutoScalingGroup", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/
environment
": "development
" } } }] }
Atau, jika Anda tidak menggunakan tombol kondisi untuk mengontrol akses ke grup Auto Scaling, Anda dapat menentukan ARN sumber daya dalam Resource
elemen untuk mengontrol akses.
Kebijakan berikut memberikan izin kepada pengguna untuk menggunakan tindakan DeleteAutoScalingGroup
API, tetapi hanya untuk grup Auto Scaling yang namanya dimulai. devteam-
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeleteAutoScalingGroup", "Resource": "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:*:autoScalingGroupName/devteam-
*" }] }
Anda juga dapat menentukan beberapa ARN dengan melampirkannya dalam daftar. Menyertakan UUID memastikan bahwa akses diberikan ke grup Auto Scaling tertentu. UUID untuk grup baru berbeda dari UUID untuk grup yang dihapus dengan nama yang sama.
"Resource": [ "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-1
", "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-2
", "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-3
" ]
Kontrol kebijakan penskalaan yang dapat dihapus
Kebijakan berikut memberikan izin untuk menggunakan DeletePolicy
tindakan tersebut guna menghapus kebijakan penskalaan. Namun, ini juga menggantikan tindakan jika grup Auto Scaling yang ditindaklanjuti memiliki tanda
. Jika memungkinkan, gunakan tag untuk membantu Anda mengontrol akses ke grup Auto Scaling di akun Anda.environment=production
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeletePolicy", "Resource": "*" }, { "Effect": "Deny", "Action": "autoscaling:DeletePolicy", "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "production
" } } }] }
Kontrol akses ke tindakan penyegaran instans
Kebijakan berikut memberikan izin untuk memulai, memutar kembali, dan membatalkan penyegaran instance hanya jika grup Auto Scaling yang ditindaklanjuti memiliki tag.
Karena environment=testing
Describe
tindakan tidak mendukung izin tingkat sumber daya, Anda harus menentukannya dalam pernyataan terpisah tanpa kondisi.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:StartInstanceRefresh", "autoscaling:CancelInstanceRefresh", "autoscaling:RollbackInstanceRefresh" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "testing
" } } }, { "Effect": "Allow", "Action": "autoscaling:DescribeInstanceRefreshes", "Resource": "*" }] }
Untuk menentukan konfigurasi yang diinginkan dalam StartInstanceRefresh
panggilan, pengguna mungkin memerlukan beberapa izin terkait, seperti:
-
ec2: RunInstances — Untuk meluncurkan instans EC2 menggunakan template peluncuran, pengguna harus memiliki
ec2:RunInstances
izin dalam kebijakan IAM. Untuk informasi selengkapnya, lihat Kontrol penggunaan template peluncuran Amazon EC2 di grup Auto Scaling. -
ec2: CreateTags — Untuk meluncurkan instans EC2 dari template peluncuran yang menambahkan tag ke instance dan volume pada pembuatan, pengguna harus memiliki
ec2:CreateTags
izin dalam kebijakan IAM. Untuk informasi selengkapnya, lihat Izin diperlukan untuk menandai instance dan volume. -
iam: PassRole — Untuk meluncurkan instance EC2 dari template peluncuran yang berisi profil instance (wadah untuk peran IAM), pengguna juga harus memiliki
iam:PassRole
izin dalam kebijakan IAM. Untuk informasi selengkapnya dan contoh kebijakan IAM, lihatPeran IAM untuk aplikasi yang berjalan di instance Amazon EC2. -
ssm: GetParameters — Untuk meluncurkan instans EC2 dari template peluncuran yang menggunakan AWS Systems Manager parameter, pengguna juga harus memiliki
ssm:GetParameters
izin dalam kebijakan IAM. Untuk informasi selengkapnya, lihat Gunakan AWS Systems Manager parameter alih-alih AMI IDs di templat peluncuran.
Buat peran tertaut layanan
Auto Scaling Amazon EC2 memerlukan izin untuk membuat peran terkait layanan saat pertama kali pengguna mana pun dalam panggilan Anda melakukan tindakan API Auto Scaling Akun AWS Amazon EC2. Jika peran terhubung layanan tidak ada, Amazon EC2 Auto Scaling akan membuatnya di akun Anda. Peran terkait layanan memberikan izin ke Auto Scaling Amazon EC2 sehingga dapat memanggil orang lain atas nama Anda. Layanan AWS
Agar pembuatan peran otomatis berhasil, pengguna harus memiliki izin untuk tindakan iam:CreateServiceLinkedRole
nyata.
"Action": "iam:CreateServiceLinkedRole"
Berikut ini adalah contoh kebijakan izin yang memungkinkan pengguna untuk membuat peran Amazon EC2 Auto Scaling service-linked untuk Amazon EC2 Auto Scaling.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/autoscaling.amazonaws.com/
AWSServiceRoleForAutoScaling
", "Condition": { "StringLike": { "iam:AWSServiceName":"autoscaling.amazonaws.com
" } } }] }
Kontrol peran terkait layanan mana yang dapat diteruskan (menggunakan) PassRole
Pengguna yang membuat atau memperbarui grup Auto Scaling dan menentukan peran terkait layanan akhiran kustom dalam permintaan memerlukan izin. iam:PassRole
Anda dapat menggunakan iam:PassRole
izin untuk melindungi keamanan kunci yang dikelola AWS KMS pelanggan jika Anda memberikan akses peran terkait layanan yang berbeda ke kunci yang berbeda. Tergantung pada kebutuhan organisasi Anda, Anda mungkin memiliki kunci untuk tim pengembangan, satu lagi untuk tim QA, dan satu lagi untuk tim keuangan. Pertama, buat peran terkait layanan yang memiliki akses ke kunci yang diperlukan, misalnya, peran terkait layanan bernama. AWSServiceRoleForAutoScaling_devteamkeyaccess Kemudian, lampirkan kebijakan ke identitas IAM, seperti pengguna atau peran.
Kebijakan berikut memberikan izin untuk meneruskan AWSServiceRoleForAutoScaling_devteamkeyaccess
peran ke grup Auto Scaling mana pun yang namanya dimulai.
Jika identitas IAM yang membuat grup Auto Scaling mencoba menentukan peran terkait layanan yang berbeda, mereka akan menerima kesalahan. Jika mereka memilih untuk tidak menentukan peran terkait layanan, AWSServiceRoleForAutoScalingperan default akan digunakan sebagai gantinya.devteam-
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::
account-id
:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling_devteamkeyaccess
", "Condition": { "StringEquals": { "iam:PassedToService": [ "autoscaling.amazonaws.com" ] }, "StringLike": { "iam:AssociatedResourceARN": [ "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:*:autoScalingGroupName/devteam-
*" ] } } }] }
Untuk informasi lebih lanjut tentang peran layanan terkait akhiran yang disesuaikan, lihat Peran terkait layanan untuk Amazon EC2 Auto Scaling.