IAMizin yang diperlukan untuk templat EC2 peluncuran Amazon - Amazon Elastic Compute Cloud

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

IAMizin yang diperlukan untuk templat EC2 peluncuran Amazon

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

penting

Anda tidak dapat menggunakan izin tingkat sumber daya untuk membatasi sumber daya yang dapat ditentukan pengguna dalam templat peluncuran saat mereka membuat templat peluncuran atau versi templat peluncuran. Oleh karena itu, pastikan bahwa 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. Sebagai contoh:

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

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

EC2: CreateLaunchTemplate

Untuk membuat template peluncuran di konsol atau dengan menggunakanAPIs, kepala sekolah harus memiliki ec2:CreateLaunchTemplate izin dalam IAM kebijakan. Kapan pun memungkinkan, gunakan tanda untuk membantu Anda mengontrol akses ke templat peluncuran di akun Anda.

Misalnya, pernyataan IAM kebijakan berikut memberikan izin utama untuk membuat templat peluncuran hanya jika templat menggunakan tag yang ditentukan (maksud=pengujian).

{ "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 EC2 instance 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 IAM kebijakan berikut menggunakan kunci ec2:CreateAction kondisi untuk memungkinkan pengguna membuat tag hanya dalam konteksCreateLaunchTemplate. Pengguna tidak dapat menandai templat peluncuran yang ada atau sumber daya lainnya. Untuk informasi selengkapnya, lihat Berikan izin untuk menandai EC2 sumber daya Amazon selama pembuatan.

{ "Sid": "IAMPolicyForTaggingLaunchTemplatesOnCreation", "Action": "ec2:CreateTags", "Effect": "Allow", "Resource": "arn:aws:ec2:region:account-id:launch-template/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateLaunchTemplate" } } }

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

EC2: DescribeLaunchTemplates

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

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

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

EC2: DescribeLaunchTemplateVersions

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

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

Misalnya, pernyataan IAM kebijakan berikut memberikan izin utama untuk membuat daftar dan melihat 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 template peluncuran, kepala sekolah harus memiliki ec2:DeleteLaunchTemplate izin dalam IAM kebijakan. Sebisa mungkin, gunakan kunci syarat berbasis tanda untuk membatasi izin.

Misalnya, pernyataan IAM kebijakan berikut memberikan izin utama untuk menghapus templat peluncuran hanya jika templat memiliki tag yang ditentukan (maksud=pengujian).

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

Atau, Anda dapat menggunakan ARNs untuk mengidentifikasi template peluncuran yang berlaku untuk IAM kebijakan tersebut.

Template peluncuran memiliki yang berikut iniARN.

"Resource": "arn:aws:ec2:region:account-id:launch-template/lt-09477bcd97b0d310e"

Anda dapat menentukan beberapa ARNs dengan melampirkannya dalam daftar, atau Anda dapat menentukan Resource nilai "*" tanpa Condition elemen untuk memungkinkan prinsipal menghapus template peluncuran apa pun di akun.

Mengontrol izin versioning

Untuk administrator tepercaya, Anda dapat memberikan akses untuk membuat dan menghapus versi template peluncuran, dan untuk mengubah versi default template peluncuran, dengan menggunakan IAM kebijakan 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 EC2 memungkinkan Amazon meluncurkan instans atas nama Anda dengan Latest versi tersebut.

  • Saat Anda memodifikasi templat peluncuran, Anda dapat mengubah versi mana yang merupakan versi Default dan karenanya memengaruhi AWS sumber daya apa pun yang EC2 memungkinkan Amazon meluncurkan instance 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 EC2 Armada dan Armada Spot. Ketika versi template peluncuran yang berbeda digunakan untuk Latest atauDefault, Amazon EC2 tidak memeriksa kembali izin pengguna untuk tindakan yang harus diselesaikan saat meluncurkan instance baru untuk memenuhi kapasitas target armada karena tidak ada interaksi pengguna dengan sumber daya. AWS Dengan memberikan izin pengguna untuk memanggil CreateLaunchTemplateVersion dan ModifyLaunchTemplateAPIs, pengguna secara efektif juga diberikan iam:PassRole izin jika mereka mengarahkan armada ke versi template peluncuran yang berbeda yang berisi profil instance (wadah untuk IAM peran). Ini berarti bahwa pengguna berpotensi memperbarui template peluncuran untuk meneruskan IAM peran ke instance bahkan jika 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 membuat versi baru dari template peluncuran, prinsipal harus memiliki ec2:CreateLaunchTemplateVersion izin untuk template peluncuran dalam IAM kebijakan.

Misalnya, pernyataan IAM kebijakan berikut memberikan izin utama untuk membuat versi template peluncuran hanya jika versi menggunakan tag yang ditentukan (lingkungan=produksi). Atau, Anda dapat menentukan satu atau beberapa template peluncuranARNs, atau Anda dapat menentukan Resource nilai "*" tanpa Condition elemen untuk memungkinkan prinsipal membuat versi template 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 template peluncuran, prinsipal harus memiliki ec2:DeleteLaunchTemplateVersion izin untuk template peluncuran dalam IAM kebijakan.

Misalnya, pernyataan IAM kebijakan berikut memberikan izin utama untuk menghapus versi template peluncuran hanya jika versi menggunakan tag yang ditentukan (lingkungan=produksi). Atau, Anda dapat menentukan satu atau beberapa template peluncuranARNs, atau Anda dapat menentukan Resource nilai "*" tanpa Condition elemen untuk memungkinkan prinsipal menghapus versi template peluncuran apa pun di akun.

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

EC2: ModifyLaunchTemplate

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

Misalnya, pernyataan IAM kebijakan berikut memberikan izin utama untuk memodifikasi templat peluncuran hanya jika templat peluncuran menggunakan tag yang ditentukan (lingkungan=produksi). Atau, Anda dapat menentukan satu atau beberapa template peluncuranARNs, atau Anda dapat menentukan Resource nilai "*" tanpa Condition elemen untuk memungkinkan prinsipal memodifikasi template 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, IAM kebijakan berikut memungkinkan penghapusan hanya tag dengan temporary kunci 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 kondisi yang dapat Anda gunakan untuk mengontrol kunci tag dan nilai yang dapat diterapkan ke EC2 sumber daya Amazon, lihatMengendalikan akses ke tanda-tanda tertentu.