Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kontrol penggunaan template peluncuran Amazon EC2 di grup Auto Scaling
Amazon EC2 Auto Scaling mendukung penggunaan templat peluncuran Amazon EC2 dengan grup Auto Scaling Anda. Kami menyarankan Anda mengizinkan pengguna untuk membuat grup Auto Scaling dari template peluncuran, karena hal itu memungkinkan mereka untuk menggunakan fitur terbaru Amazon EC2 Auto Scaling dan Amazon EC2. Misalnya, pengguna harus menentukan template peluncuran untuk menggunakan kebijakan instance campuran.
Anda dapat menggunakan AmazonEC2FullAccess
kebijakan ini untuk memberi pengguna akses lengkap agar dapat bekerja dengan sumber daya Penskalaan Otomatis Amazon EC2, templat peluncuran, dan sumber daya EC2 lainnya di akun mereka. Atau, Anda dapat membuat kebijakan IAM kustom Anda sendiri untuk memberi pengguna izin halus untuk bekerja dengan templat peluncuran, seperti yang dijelaskan dalam topik ini.
Contoh kebijakan yang dapat Anda sesuaikan untuk penggunaan Anda sendiri
Berikut ini menunjukkan contoh kebijakan izin dasar yang dapat Anda sesuaikan untuk digunakan sendiri. Kebijakan ini memberikan izin untuk membuat, memperbarui, dan menghapus semua grup Auto Scaling, tetapi hanya jika grup menggunakan tag.
Kemudian memberikan izin untuk semua purpose=testing
Describe
tindakan. Karena Describe
tindakan tidak mendukung izin tingkat sumber daya, Anda harus menentukannya dalam pernyataan terpisah tanpa kondisi.
Identitas IAM (pengguna atau peran) dengan kebijakan ini memiliki izin untuk membuat atau memperbarui grup Auto Scaling menggunakan templat peluncuran karena mereka juga diberi izin untuk menggunakan tindakan. ec2:RunInstances
{ "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*", "ec2:RunInstances" ], "Resource": "*" } ] }
Pengguna yang membuat atau memperbarui grup Auto Scaling mungkin memerlukan beberapa izin terkait, seperti:
-
ec2: CreateTags — Untuk 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.
Izin untuk tindakan yang harus diselesaikan saat meluncurkan instance dicentang saat pengguna berinteraksi dengan grup Auto Scaling. Untuk informasi selengkapnya, lihat Validasi izin untuk dan ec2:RunInstancesiam:PassRole.
Contoh berikut menunjukkan pernyataan kebijakan yang dapat Anda gunakan untuk mengontrol akses yang pengguna IAM harus menggunakan template peluncuran.
Topik
- Memerlukan template peluncuran yang memiliki tag tertentu
- Memerlukan template peluncuran dan nomor versi
- Memerlukan penggunaan layanan metadata instance versi 2 (IMDSv2)
- Batasi akses ke sumber daya Amazon EC2
- Izin diperlukan untuk menandai instance dan volume
- Izin template peluncuran tambahan
- Validasi izin untuk dan ec2:RunInstances iam:PassRole
- Sumber daya terkait
Memerlukan template peluncuran yang memiliki tag tertentu
Saat memberikan ec2:RunInstances
izin, Anda dapat menentukan bahwa pengguna hanya dapat menggunakan templat peluncuran dengan tag tertentu atau ID tertentu untuk membatasi izin saat meluncurkan instance dengan templat peluncuran. Anda juga dapat mengontrol AMI dan sumber daya lain yang dapat direferensikan dan digunakan oleh siapa pun yang menggunakan templat peluncuran saat meluncurkan instance dengan menentukan izin tingkat sumber daya tambahan untuk panggilan tersebut. RunInstances
Contoh berikut membatasi izin untuk ec2:RunInstances
tindakan untuk meluncurkan template yang terletak di Wilayah tertentu dan yang memiliki tag.
Ini juga memberi pengguna akses ke sumber daya yang ditentukan dalam template peluncuran: AMI, jenis instance, volume, pasangan kunci, antarmuka jaringan, dan grup keamanan. purpose=testing
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:
region
:account-id
:launch-template/*", "Condition": { "StringEquals": { "aws:ResourceTag/purpose
": "testing
" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region
::image/ami-*", "arn:aws:ec2:region
:account-id
:instance/*", "arn:aws:ec2:region
:account-id
:subnet/*", "arn:aws:ec2:region
:account-id
:volume/*", "arn:aws:ec2:region
:account-id
:key-pair/*", "arn:aws:ec2:region
:account-id
:network-interface/*", "arn:aws:ec2:region
:account-id
:security-group/*" ] } ] }
Untuk informasi selengkapnya tentang penggunaan kebijakan berbasis tag dengan templat peluncuran, lihat Mengontrol akses untuk meluncurkan templat dengan izin IAM di Panduan Pengguna Amazon EC2.
Memerlukan template peluncuran dan nomor versi
Anda juga dapat menggunakan izin IAM untuk menegakkan bahwa template peluncuran dan nomor versi template peluncuran harus ditentukan saat membuat atau memperbarui grup Auto Scaling.
Contoh berikut memungkinkan pengguna untuk membuat dan memperbarui grup Auto Scaling hanya jika template peluncuran dan nomor versi template peluncuran ditentukan. Jika pengguna dengan kebijakan ini menghilangkan nomor versi untuk menentukan versi templat $Latest
atau $Default
peluncuran, atau mencoba menggunakan konfigurasi peluncuran, tindakan akan gagal.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup" ], "Resource": "*", "Condition": { "Bool": { "autoscaling:LaunchTemplateVersionSpecified": "true" } } }, { "Effect": "Deny", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup" ], "Resource": "*", "Condition": { "Null": { "autoscaling:LaunchConfigurationName": "false" } } } ] }
Memerlukan penggunaan layanan metadata instance versi 2 (IMDSv2)
Untuk keamanan ekstra, Anda dapat mengatur izin pengguna agar memerlukan penggunaan templat peluncuran yang memerlukan IMDSv2. Untuk informasi selengkapnya, lihat Mengonfigurasi layanan metadata instans di Panduan Pengguna Amazon EC2.
Contoh berikut menetapkan bahwa pengguna tidak dapat memanggil ec2:RunInstances
tindakan kecuali instance juga memilih untuk meminta penggunaan ImDSv2 (ditunjukkan oleh). "ec2:MetadataHttpTokens":"required"
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireImdsV2", "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringNotEquals": { "ec2:MetadataHttpTokens": "required" } } } ] }
Tip
Untuk memaksa instance Auto Scaling pengganti diluncurkan yang menggunakan template peluncuran baru atau versi baru template peluncuran dengan opsi metadata instans yang dikonfigurasi, Anda dapat memulai penyegaran instans. Untuk informasi selengkapnya, lihat Perbarui instans Auto Scaling.
Batasi akses ke sumber daya Amazon EC2
Contoh berikut mengontrol konfigurasi instans yang dapat diluncurkan pengguna dengan membatasi akses ke sumber daya Amazon EC2. Untuk menentukan izin tingkat sumber daya untuk sumber daya yang ditentukan dalam templat peluncuran, Anda harus menyertakan sumber daya dalam pernyataan tindakan. RunInstances
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:
region
:account-id
:launch-template/*", "arn:aws:ec2:region
::image/ami-04d5cc9b88example
", "arn:aws:ec2:region
:account-id
:subnet/subnet-1a2b3c4d
", "arn:aws:ec2:region
:account-id
:volume/*", "arn:aws:ec2:region
:account-id
:key-pair/*", "arn:aws:ec2:region
:account-id
:network-interface/*", "arn:aws:ec2:region
:account-id
:security-group/sg-903004f88example
" ] }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:region
:account-id
:instance/*", "Condition": { "StringEquals": { "ec2:InstanceType": ["t2.micro", "t2.small"] } } } ] }
Dalam contoh ini, ada dua pernyataan:
-
Pernyataan pertama mengharuskan pengguna meluncurkan instance ke subnet (
) tertentu, menggunakan grup keamanan tertentu (subnet-1a2b3c4d
), dan menggunakan AMI (sg-903004f88example
) tertentu. Ini juga memberi pengguna akses ke sumber daya yang ditentukan dalam template peluncuran: antarmuka jaringan, pasangan kunci, dan volume.ami-04d5cc9b88example
-
Pernyataan kedua memungkinkan pengguna untuk meluncurkan instance hanya menggunakan tipe
dant2.micro
instance, yang mungkin Anda lakukan untuk mengontrol biaya.t2.small
Namun, perhatikan bahwa saat ini tidak ada cara yang efektif untuk sepenuhnya mencegah pengguna yang memiliki izin untuk meluncurkan instance dengan template peluncuran meluncurkan jenis instance lainnya. Ini karena jenis instance yang ditentukan dalam template peluncuran dapat diganti untuk menggunakan tipe instance yang didefinisikan menggunakan pemilihan tipe instance berbasis atribut.
Untuk daftar lengkap izin tingkat sumber daya yang dapat Anda gunakan untuk mengontrol konfigurasi instans yang dapat diluncurkan pengguna, lihat Kunci tindakan, sumber daya, dan kondisi untuk Amazon EC2 di Referensi Otorisasi Layanan.
Izin diperlukan untuk menandai instance dan volume
Contoh berikut memungkinkan pengguna untuk menandai instance dan volume pada pembuatan. Kebijakan ini diperlukan jika ada tag yang ditentukan dalam template peluncuran. Untuk informasi selengkapnya, lihat Memberikan izin untuk menandai sumber daya selama pembuatan di Panduan Pengguna Amazon EC2.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:
region
:account-id
:*/*", "Condition": { "StringEquals": { "ec2:CreateAction": "RunInstances" } } } ] }
Izin template peluncuran tambahan
Anda harus memberikan izin kepada pengguna konsol untuk ec2:DescribeLaunchTemplateVersions
tindakan ec2:DescribeLaunchTemplates
dan tindakan. Tanpa izin ini, data template peluncuran tidak dapat dimuat di wizard grup Auto Scaling, dan pengguna tidak dapat melangkah melalui wizard untuk meluncurkan instance menggunakan template peluncuran. Anda dapat menentukan tindakan tambahan ini dalam Action
elemen pernyataan kebijakan IAM.
Validasi izin untuk dan ec2:RunInstances
iam:PassRole
Pengguna dapat menentukan versi template peluncuran mana yang digunakan grup Auto Scaling mereka. Bergantung pada izin mereka, ini bisa berupa versi bernomor tertentu, atau $Default
versi $Latest
atau dari template peluncuran. Jika yang terakhir, berhati-hatilah. Ini dapat mengesampingkan izin untuk ec2:RunInstances
dan iam:PassRole
yang ingin Anda batasi.
Bagian ini menjelaskan skenario penggunaan template peluncuran versi terbaru atau default dengan grup Auto Scaling.
Saat pengguna memanggilCreateAutoScalingGroup
,UpdateAutoScalingGroup
, atau StartInstanceRefresh
API, Auto Scaling Amazon EC2 memeriksa izin mereka terhadap versi template peluncuran yang merupakan versi terbaru atau default pada saat itu sebelum melanjutkan permintaan. Ini memvalidasi izin untuk tindakan yang akan diselesaikan saat meluncurkan instance, seperti tindakan dan tindakan. ec2:RunInstances
iam:PassRole
Untuk mencapai hal ini, kami mengeluarkan panggilan dry run Amazon RunInstancesEC2 untuk memvalidasi apakah pengguna memiliki izin yang diperlukan untuk tindakan tersebut, tanpa benar-benar membuat permintaan. Ketika respons dikembalikan, itu dibaca oleh Amazon EC2 Auto Scaling. Jika izin pengguna tidak mengizinkan tindakan yang diberikan, Auto Scaling Amazon EC2 akan gagal dalam permintaan dan mengembalikan kesalahan kepada pengguna yang berisi informasi tentang izin yang hilang.
Setelah verifikasi awal dan permintaan selesai, setiap kali instans diluncurkan, Amazon EC2 Auto Scaling meluncurkannya dengan versi terbaru atau default, meskipun telah berubah, menggunakan izin peran terkait layanannya. Ini berarti bahwa pengguna yang menggunakan template peluncuran berpotensi memperbaruinya untuk meneruskan peran IAM ke instance meskipun mereka tidak memiliki iam:PassRole
izin.
Gunakan tombol autoscaling:LaunchTemplateVersionSpecified
kondisi jika Anda ingin membatasi siapa yang memiliki akses untuk mengonfigurasi grup untuk menggunakan $Default
versi $Latest
atau. Ini memastikan bahwa grup Auto Scaling hanya menerima versi bernomor tertentu saat pengguna memanggil API dan. CreateAutoScalingGroup
UpdateAutoScalingGroup
Untuk contoh yang menunjukkan cara menambahkan kunci kondisi ini ke kebijakan IAM, lihatMemerlukan template peluncuran dan nomor versi.
Untuk grup Auto Scaling yang dikonfigurasi untuk menggunakan $Latest
atau $Default
meluncurkan versi templat, pertimbangkan untuk membatasi siapa yang dapat membuat dan mengelola versi template peluncuran, termasuk ec2:ModifyLaunchTemplate
tindakan yang memungkinkan pengguna menentukan versi templat peluncuran default. Untuk informasi selengkapnya, lihat Mengontrol izin pembuatan versi di Panduan Pengguna Amazon EC2.
Sumber daya terkait
Untuk mempelajari lebih lanjut tentang izin untuk melihat, membuat, dan menghapus templat peluncuran dan meluncurkan versi templat, lihat Mengontrol akses untuk meluncurkan templat dengan izin IAM di Panduan Pengguna Amazon EC2.
Untuk informasi selengkapnya tentang izin tingkat sumber daya yang dapat Anda gunakan untuk mengontrol akses ke RunInstances
panggilan, lihat Tindakan, sumber daya, dan kunci kondisi untuk Amazon EC2 di Referensi Otorisasi Layanan.