Kontrol akses untuk templat peluncuran dengan izin IAM - Amazon Elastic Compute Cloud

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

Kontrol akses untuk templat peluncuran dengan izin IAM

Anda dapat menggunakan izin IAM untuk mengontrol tindakan templat peluncuran yang dapat dilakukan pengguna, seperti melihat, membuat, atau menghapus templat peluncuran.

catatan

Siapa pun yang menggunakan templat peluncuran akan memerlukan izin untuk menggunakan dan membuat sumber daya yang ditentukan dalam templat peluncuran. Sebagai contoh:

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

  • Untuk membuat volume EBS, tag, atau sumber daya lain yang ditentukan dalam template peluncuran, pengguna harus memiliki izin untuk membuat sumber daya tersebut.

Izin untuk membuat dan mengelola templat peluncuran berfungsi sebagai berikut.

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, CreateLaunchTemplate penelepon harus memiliki ec2:CreateTags izin dalam kebijakan IAM.

  • ec2: RunInstances — Untuk meluncurkan instans EC2 dari template peluncuran yang mereka buat, kepala sekolah 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 Memberikan izin untuk memberi tanda pada sumber daya saat sumber daya tersebut dibuat.

{ "Sid": "IAMPolicyForTaggingLaunchTemplatesOnCreation", "Action": "ec2:CreateTags", "Effect": "Allow", "Resource": "arn:aws:ec2:region:account-id: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 mendaftar templat peluncuran di akun, pengguna utama harus memiliki izin ec2:DescribeLaunchTemplates 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 kepada pengguna utama untuk menampilkan daftar semua templat peluncuran di akun.

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

EC2: DescribeLaunchTemplateVersions

Pengguna utama yang melihat templat peluncuran juga harus memiliki izin ec2:DescribeLaunchTemplateVersions untuk mengambil seluruh rangkaian atribut yang membentuk templat peluncuran.

Untuk mendaftar versi templat peluncuran di akun, pengguna utama harus memiliki izin ec2:DescribeLaunchTemplateVersions 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 kepada pengguna utama untuk menampilkan daftar semua versi templat 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 kepada pengguna utama untuk menghapus templat peluncuran hanya jika templat menggunakan tanda yang ditentukan (purpose=testing).

{ "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:region:account-id: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 templat peluncuran.

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

  • Saat Anda memodifikasi templat peluncuran, Anda dapat mengubah versi mana yang merupakan versi 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 perlu berhati-hati dalam menangani AWS sumber daya yang berinteraksi dengan Latest atau Default meluncurkan versi template, seperti Armada EC2 dan Armada Spot. 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 pada 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:region:account-id: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.