View a markdown version of this page

Izin IAM diperlukan untuk templat peluncuran Amazon EC2 - Amazon Elastic Compute Cloud

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Izin IAM diperlukan untuk templat peluncuran Amazon EC2

Anda dapat menggunakan izin IAM untuk mengontrol apakah pengguna dapat membuat daftar, melihat, membuat, atau menghapus templat peluncuran atau meluncurkan versi template.

penting

Anda tidak dapat menggunakan izin tingkat sumber daya untuk membatasi sumber daya yang dapat ditentukan pengguna dalam template peluncuran saat mereka membuat template peluncuran atau meluncurkan versi template. Oleh karena itu, pastikan hanya administrator tepercaya yang diberikan izin untuk membuat template peluncuran dan meluncurkan versi template.

Anda harus memberi siapa pun yang akan menggunakan template peluncuran izin yang diperlukan untuk membuat dan mengakses sumber daya yang ditentukan dalam template peluncuran. Contoh:

  • Untuk meluncurkan instance dari Amazon Machine Image (AMI) pribadi bersama, pengguna template peluncuran harus memiliki izin peluncuran untuk AMI.

  • Untuk membuat volume EBS dengan tag dari snapshot yang ada, pengguna template peluncuran harus memiliki akses baca ke snapshot, dan izin untuk membuat dan menandai volume.

ec2: CreateLaunchTemplate

Untuk membuat templat peluncuran di konsol atau dengan menggunakan API, pengguna utama harus memiliki izin ec2:CreateLaunchTemplate dalam kebijakan IAM. Kapan pun memungkinkan, gunakan tanda untuk membantu Anda mengontrol akses ke templat peluncuran di akun Anda.

Misalnya, pernyataan kebijakan IAM berikut memberikan izin kepada pengguna utama untuk membuat templat peluncuran hanya jika templat menggunakan tanda yang ditentukan (purpose=testing).

{ "Sid": "IAMPolicyForCreatingTaggedLaunchTemplates", "Action": "ec2:CreateLaunchTemplate", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/purpose": "testing" } } }

Pengguna utama yang membuat templat peluncuran mungkin memerlukan beberapa izin terkait, seperti:

  • ec2: CreateTags — Untuk menambahkan tag ke template peluncuran selama CreateLaunchTemplate operasi, pemang CreateLaunchTemplate gil harus memiliki ec2:CreateTags izin dalam kebijakan IAM.

  • ec2: RunInstances — Untuk meluncurkan instans EC2 dari template peluncuran yang mereka buat, prinsipal juga harus memiliki ec2:RunInstances izin dalam kebijakan IAM.

Untuk tindakan-tindakan yang digunakan untuk membuat sumber daya yang menerapkan tanda, para pengguna harus memiliki izin ec2:CreateTags. Pernyataan kebijakan IAM berikut menggunakan kunci syarat ec2:CreateAction agar para pengguna dapat membuat tanda hanya dalam konteks CreateLaunchTemplate. Pengguna tidak dapat menandai templat peluncuran yang ada atau sumber daya lainnya. Untuk informasi selengkapnya, lihat Berikan izin untuk menandai sumber daya Amazon EC2 selama pembuatan.

{ "Sid": "IAMPolicyForTaggingLaunchTemplatesOnCreation", "Action": "ec2:CreateTags", "Effect": "Allow", "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateLaunchTemplate" } } }

Pengguna IAM yang membuat templat peluncuran tidak secara otomatis memiliki izin untuk menggunakan templat peluncuran yang mereka buat. Seperti pengguna utama lainnya, pembuat templat peluncuran perlu mendapatkan izin melalui kebijakan IAM. Jika pengguna IAM ingin meluncurkan instans EC2 dari templat peluncuran, mereka harus memiliki izin ec2:RunInstances. Saat memberikan izin ini, Anda dapat menentukan bahwa pengguna hanya dapat menggunakan templat peluncuran dengan tanda tertentu atau ID tertentu. Anda juga dapat mengontrol AMI dan sumber daya lain yang dapat dirujuk dan digunakan oleh siapa pun yang menggunakan templat peluncuran saat meluncurkan instans dengan menentukan izin tingkat sumber daya untuk panggilan RunInstances tersebut. Untuk kebijakan-kebijakan contoh, lihat Templat peluncuran.

ec2: DescribeLaunchTemplates

Untuk membuat daftar dan melihat template peluncuran di akun, kepala sekolah harus memiliki ec2:DescribeLaunchTemplates izin dalam kebijakan IAM. Karena tindakan Describe tidak mendukung izin tingkat sumber daya, Anda harus menentukannya tanpa syarat dan nilai elemen sumber daya dalam kebijakan harus "*".

Misalnya, pernyataan kebijakan IAM berikut memberikan izin utama untuk mencantumkan dan melihat semua templat peluncuran di akun.

{ "Sid": "IAMPolicyForDescribingLaunchTemplates", "Action": "ec2:DescribeLaunchTemplates", "Effect": "Allow", "Resource": "*" }

ec2: DescribeLaunchTemplateVersions

Kepala sekolah yang membuat daftar dan melihat template peluncuran juga harus memiliki ec2:DescribeLaunchTemplateVersions izin untuk mengambil seluruh rangkaian atribut yang membentuk template peluncuran.

Untuk membuat daftar dan melihat versi template peluncuran di akun, kepala sekolah harus memiliki ec2:DescribeLaunchTemplateVersions izin dalam kebijakan IAM. Karena tindakan Describe tidak mendukung izin tingkat sumber daya, Anda harus menentukannya tanpa syarat dan nilai elemen sumber daya dalam kebijakan harus "*".

Misalnya, pernyataan kebijakan IAM berikut memberikan izin utama untuk mencantumkan dan melihat semua versi template peluncuran di akun.

{ "Sid": "IAMPolicyForDescribingLaunchTemplateVersions", "Effect": "Allow", "Action": "ec2:DescribeLaunchTemplateVersions", "Resource": "*" }

ec2: DeleteLaunchTemplate

penting

Berhati-hatilah saat memberikan izin kepada pengguna utama untuk menghapus sumber daya. Menghapus template peluncuran dapat menyebabkan kegagalan dalam AWS sumber daya yang bergantung pada template peluncuran.

Untuk menghapus templat peluncuran, pengguna utama harus memiliki izin ec2:DeleteLaunchTemplate dalam kebijakan IAM. Sebisa mungkin, gunakan kunci syarat berbasis tanda untuk membatasi izin.

Misalnya, pernyataan kebijakan IAM berikut memberikan izin utama untuk menghapus template peluncuran hanya jika template memiliki tag (purpose=testing) yang ditentukan.

{ "Sid": "IAMPolicyForDeletingLaunchTemplates", "Action": "ec2:DeleteLaunchTemplate", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/purpose": "testing" } } }

Atau, Anda dapat menggunakan ARNs untuk mengidentifikasi templat peluncuran yang menerapkan kebijakan IAM.

Template peluncuran memiliki ARN berikut.

"Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d310e"

Anda dapat menentukan banyak ARN dengan memasukkannya dalam suatu daftar, atau Anda dapat menentukan nilai Resource dari "*" tanpa elemen Condition agar pengguna utama dapat menghapus versi templat peluncuran apa pun di akun.

Mengontrol izin versioning

Untuk administrator tepercaya, Anda dapat memberikan akses untuk membuat dan menghapus versi templat peluncuran, dan untuk mengubah versi default templat peluncuran, dengan menggunakan kebijakan IAM yang mirip dengan contoh berikut.

penting

Berhati-hatilah saat memberikan izin kepada kepala sekolah untuk membuat versi template peluncuran atau memodifikasi template peluncuran.

  • Saat membuat versi template peluncuran, Anda memengaruhi AWS sumber daya apa pun yang memungkinkan Amazon EC2 meluncurkan instans atas nama Anda dengan Latest versi tersebut.

  • Saat Anda memodifikasi template peluncuran, Anda dapat mengubah versi mana yang merupakan Default dan karenanya memengaruhi AWS sumber daya apa pun yang memungkinkan Amazon EC2 meluncurkan instans atas nama Anda dengan versi yang dimodifikasi ini.

Anda juga harus berhati-hati dalam menangani AWS sumber daya yang berinteraksi dengan Latest atau Default meluncurkan versi template, seperti EC2 Fleet dan Spot Fleet. Ketika versi templat peluncuran yang berbeda digunakan Latest atau Default, Amazon EC2 tidak memeriksa kembali izin untuk tindakan yang harus diselesaikan saat meluncurkan instans baru untuk memenuhi kapasitas target armada karena tidak ada interaksi pengguna dengn sumber daya AWS . Dengan memberikan izin kepada pengguna untuk memanggil API CreateLaunchTemplateVersion dan ModifyLaunchTemplate, pengguna secara efektif juga diberikan izin iam:PassRole jika mereka mengarahkan armada ke versi templat peluncuran berbeda yang berisi profil instans (kontainer untuk peran IAM). Ini berarti bahwa pengguna berpotensi memperbarui template peluncuran untuk meneruskan peran IAM ke instans meskipun mereka tidak memiliki iam:PassRole izin. Anda dapat mengelola risiko ini dengan berhati-hati saat memberikan izin kepada siapa yang dapat membuat dan mengelola versi templat peluncuran.

ec2: CreateLaunchTemplateVersion

Untuk menghapus templat peluncuran versi baru, pengguna utama harus memiliki izin ec2:CreateLaunchTemplateVersion untuk templat peluncuran dalam kebijakan IAM.

Misalnya, pernyataan kebijakan IAM berikut memberikan izin kepada pengguna utama untuk membuat templat peluncuran hanya jika versi menggunakan tanda yang ditentukan (environment=production). Atau, Anda dapat menentukan satu atau banyak ARN templat peluncuran, atau Anda dapat menentukan yang diizinkan Resource dari "*" tanpa elemen Condition agar pengguna utama dapat membuat versi templat peluncuran apa pun di akun.

{ "Sid": "IAMPolicyForCreatingLaunchTemplateVersions", "Action": "ec2:CreateLaunchTemplateVersion", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "production" } } }

ec2: DeleteLaunchTemplateVersion

penting

Seperti biasa, Anda harus berhati-hati saat memberikan izin kepada pengguna utama untuk menghapus sumber daya. Menghapus versi template peluncuran dapat menyebabkan kegagalan dalam AWS sumber daya yang bergantung pada versi template peluncuran.

Untuk menghapus versi templat peluncuran, pengguna utama harus memiliki izin ec2:DeleteLaunchTemplateVersion untuk templat peluncuran dalam kebijakan IAM.

Misalnya, pernyataan kebijakan IAM berikut memberikan izin kepada pengguna utama untuk menghapus templat peluncuran hanya jika versi menggunakan tanda yang ditentukan (environment=production). Atau, Anda dapat menentukan satu atau banyak ARN templat peluncuran, atau Anda dapat menentukan yang diizinkan Resource dari "*" tanpa elemen Condition agar pengguna utama dapat menghapus versi templat peluncuran apa pun di akun.

{ "Sid": "IAMPolicyForDeletingLaunchTemplateVersions", "Action": "ec2:DeleteLaunchTemplateVersion", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "production" } } }

ec2: ModifyLaunchTemplate

Untuk mengubah versi Default yang dikaitkan dengan templat peluncuran, pengguna utama harus memiliki izin ec2:ModifyLaunchTemplate untuk templat peluncuran dalam kebijakan IAM.

Misalnya, pernyataan kebijakan IAM berikut memberikan izin kepada pengguna utama untuk memodifikasi templat peluncuran hanya jika templat menggunakan tanda yang ditentukan (environment=production). Atau, Anda dapat menentukan satu atau banyak ARN templat peluncuran, atau Anda dapat menentukan yang diizinkan Resource dari "*" tanpa elemen Condition agar pengguna utama dapat mengubah versi templat peluncuran apa pun di akun.

{ "Sid": "IAMPolicyForModifyingLaunchTemplates", "Action": "ec2:ModifyLaunchTemplate", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "production" } } }

Kontrol akses ke tanda pada templat peluncuran

Anda dapat menggunakan kunci syarat untuk membatasi izin penandaan jika sumber daya adalah templat peluncuran. Misalnya, kebijakan IAM berikut hanya mengizinkan penghapusan tanda dengan kunci temporary dari templat peluncuran di akun dan Wilayah yang ditentukan.

{ "Sid": "IAMPolicyForDeletingTagsOnLaunchTemplates", "Action": "ec2:DeleteTags", "Effect": "Allow", "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": ["temporary"] } } }

Untuk informasi selengkapnya tentang kunci syarat yang dapat Anda gunakan untuk mengontrol kunci tanda dan nilai tanda yang dapat diterapkan ke sumber daya Amazon EC2, lihat Mengendalikan akses ke tanda-tanda tertentu.