View a markdown version of this page

Kontrol penemuan dan penggunaan AMI di Amazon EC2 dengan AMI yang Diizinkan - 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 penemuan dan penggunaan AMI di Amazon EC2 dengan AMI yang Diizinkan

Untuk mengontrol penemuan dan penggunaan Amazon Machine Images (AMI) oleh pengguna di situs Anda Akun AWS, Anda dapat menggunakan fitur AMI yang Diizinkan. Anda menentukan kriteria yang harus dipenuhi AMI agar terlihat dan tersedia di dalam akun Anda. Ketika kriteria diaktifkan, pengguna yang meluncurkan instans hanya akan melihat dan memiliki akses ke AMI yang sesuai dengan kriteria yang ditentukan. Misalnya, Anda dapat menentukan daftar penyedia AMI tepercaya sebagai kriteria, dan hanya AMI dari penyedia ini yang akan terlihat dan tersedia untuk digunakan.

Sebelum mengaktifkan setelan AMI yang Diizinkan, Anda dapat mengaktifkan mode audit untuk melihat pratinjau AMI mana yang akan atau tidak akan terlihat dan tersedia untuk digunakan. Ini memungkinkan Anda menyempurnakan kriteria sesuai kebutuhan untuk memastikan bahwa hanya AMI yang dituju yang terlihat dan tersedia bagi pengguna di akun Anda. Selain itu, gunakan perintah describe-instance-image-metadata untuk menemukan instance yang diluncurkan dengan AMI yang tidak memenuhi kriteria yang ditentukan. Informasi ini dapat memandu keputusan Anda untuk memperbarui konfigurasi peluncuran Anda untuk menggunakan AMI yang sesuai (misalnya, menentukan AMI yang berbeda dalam template peluncuran) atau menyesuaikan kriteria Anda untuk mengizinkan AMI ini.

Anda menentukan setelan AMI yang Diizinkan di tingkat akun, baik secara langsung di akun atau dengan menggunakan kebijakan deklaratif. Pengaturan ini harus dikonfigurasi di setiap Wilayah AWS tempat Anda ingin mengontrol penggunaan AMI. Menggunakan kebijakan deklaratif memungkinkan Anda menerapkan pengaturan di beberapa Wilayah secara bersamaan, serta di beberapa akun secara bersamaan. Saat kebijakan deklaratif digunakan, Anda tidak dapat mengubah pengaturan secara langsung di dalam akun. Topik ini menjelaskan cara mengonfigurasi pengaturan secara langsung di dalam akun. Untuk informasi tentang penggunaan kebijakan deklaratif, lihat Kebijakan deklaratif di Panduan AWS Organizations Pengguna.

catatan

Fitur AMI yang Diizinkan hanya mengontrol penemuan dan penggunaan AMI publik atau AMI yang dibagikan dengan akun Anda. Itu tidak membatasi AMI yang dimiliki oleh akun Anda. Terlepas dari kriteria yang Anda tetapkan, AMI yang dibuat oleh akun Anda selalu dapat ditemukan dan digunakan oleh pengguna di akun Anda.

Manfaat utama dari AMI yang Diizinkan
  • Kepatuhan dan keamanan: Pengguna hanya dapat menemukan dan menggunakan AMI yang memenuhi kriteria yang ditentukan, sehingga mengurangi risiko penggunaan AMI yang tidak sesuai.

  • Manajemen yang efisien: Dengan mengurangi jumlah AMI yang diizinkan, mengelola yang tersisa menjadi lebih mudah dan lebih efisien.

  • Implementasi tingkat akun terpusat: Konfigurasikan setelan AMI yang Diizinkan di tingkat akun, baik secara langsung di dalam akun atau melalui kebijakan deklaratif. Ini menyediakan cara terpusat dan efisien untuk mengontrol penggunaan AMI di seluruh akun.

Cara kerja AMI yang Diizinkan

Untuk mengontrol AMI mana yang dapat ditemukan dan digunakan di akun Anda, Anda menentukan serangkaian kriteria yang digunakan untuk mengevaluasi AMI. Kriteria terdiri dari satu atau lebih ImageCriterion seperti yang ditunjukkan pada diagram berikut. Penjelasan mengikuti diagram.

Hirarki ImageCriteria konfigurasi AMI yang Diizinkan.

Konfigurasi memiliki tiga level:

  • 1 — Nilai parameter

    • Multi-value Parameter:

      • ImageProviders

      • ImageNames

      • MarketplaceProductCodes

        AMI dapat mencoco kkan nilai apa pun dalam parameter yang diizinkan.

        Contoh: ImageProviders = amazon OR akun 111122223333 ATAU akun 444455556666 (Logika evaluasi untuk nilai parameter tidak ditampilkan dalam diagram.)

      • ImageWatermarks

    • Single-value Parameter:

      • CreationDateCondition

      • DeprecationTimeCondition

  • 2 ImageCriterion

    • Kelompokkan beberapa parameter dengan logika AND.

    • AMI harus cocok dengan semua parameter dalam ImageCriterion untuk diizinkan.

    • Contoh: ImageProviders = amazon AND CreationDateCondition = 300 hari atau kurang

  • 3 ImageCriteria

    • Kelompokkan beberapa ImageCriterion dengan logika OR.

    • AMI dapat mencocokkan ImageCriterion apa pun yang diizinkan.

    • Membentuk konfigurasi lengkap yang digunakan untuk mengevaluasi AMI.

Parameter AMI yang diizinkan

Parameter berikut dapat dikonfigurasi untuk membuatImageCriterion:

ImageProviders

Penyedia AMI yang AMI-nya diizinkan.

Nilai yang valid adalah alias yang ditentukan oleh AWS, dan Akun AWS ID, sebagai berikut:

  • amazon— Alias yang mengidentifikasi AMI yang dibuat oleh Amazon atau penyedia terverifikasi

  • aws-marketplace— Alias yang mengidentifikasi AMI yang dibuat oleh penyedia terverifikasi di AWS Marketplace

  • aws-backup-vault— Alias yang mengidentifikasi AMI cadangan yang berada di akun brankas AWS Backup yang memiliki celah udara secara logis. Jika Anda menggunakan fitur AWS Backup secara logis air-gap vault, pastikan alias ini disertakan sebagai penyedia AMI.

  • Akun AWS ID — Satu atau lebih ID 12 digit Akun AWS

  • none— Menunjukkan bahwa hanya AMI yang dibuat oleh akun Anda yang dapat ditemukan dan digunakan. AMI publik atau bersama tidak dapat ditemukan dan digunakan. Ketika ditentukan, tidak ada kriteria lain yang dapat ditentukan.

ImageNames

Nama AMI yang diizinkan, menggunakan kecocokan yang tepat atau wildcard (?atau*).

MarketplaceProductCodes

Kode AWS Marketplace produk untuk AMI yang diizinkan.

CreationDateCondition

Usia maksimum untuk AMI yang diizinkan.

DeprecationTimeCondition

Periode maksimum sejak penghentian penggunaan untuk AMI yang diizinkan.

ImageWatermarks

Daftar filter watermark. Filter mengizinkan AMI jika ada tanda air pada AMI yang cocok dengan entri filter apa pun (OR logika). Setiap filter dapat menyertakan bidang berikut:

  • WatermarkKey— Tombol tanda air untuk mencocokkan (account-id:watermark-name)

  • SourceImageRegion— Wilayah AMI tempat Anda awalnya melampirkan tanda air

  • MaximumDaysSinceSourceImageCreated— Usia maksimum sumber AMI saat Anda menerapkan tanda air

  • MaximumDaysSinceWatermarkCreated— Jumlah hari maksimum sejak Anda menerapkan tanda air

Untuk nilai dan batasan yang valid untuk setiap kriteria, lihat ImageCriterionRequest di Refer ensi API Amazon EC2.

Konfigurasi AMI yang diizinkan

Konfigurasi inti untuk AMI yang Diizinkan adalah ImageCriteria konfigurasi yang menentukan kriteria untuk AMI yang diizinkan. Struktur JSON berikut menunjukkan parameter yang dapat ditentukan:

{ "State": "enabled" | "disabled" | "audit-mode", "ImageCriteria" : [ { "ImageProviders": ["string",...], "MarketplaceProductCodes": ["string",...], "ImageNames":["string",...], "CreationDateCondition" : { "MaximumDaysSinceCreated": integer }, "DeprecationTimeCondition" : { "MaximumDaysSinceDeprecated": integer }, "ImageWatermarks": [ { "WatermarkKey": "string", "SourceImageRegion": "string", "MaximumDaysSinceSourceImageCreated": integer, "MaximumDaysSinceWatermarkCreated": integer },... ] }, ... }

ImageCriteria contoh

ImageCriteriaContoh berikut mengkonfigurasi limaImageCriterion. AMI diperbolehkan jika cocok dengan salah satu dari iniImageCriterion. Untuk informasi tentang bagaimana kriteria dievaluasi, lihatBagaimana kriteria dievaluasi.

{ "ImageCriteria": [ // ImageCriterion 1: Allow AWS Marketplace AMIs with product code "abcdefg1234567890" { "MarketplaceProductCodes": [ "abcdefg1234567890" ] }, // ImageCriterion 2: Allow AMIs from providers whose accounts are // "123456789012" OR "123456789013" AND AMI age is less than 300 days { "ImageProviders": [ "123456789012", "123456789013" ], "CreationDateCondition": { "MaximumDaysSinceCreated": 300 } }, // ImageCriterion 3: Allow AMIs from provider whose account is "123456789014" // AND with names following the pattern "golden-ami-*" { "ImageProviders": [ "123456789014" ], "ImageNames": [ "golden-ami-*" ] }, // ImageCriterion 4: Allow AMIs from Amazon or verified providers // AND which aren't deprecated { "ImageProviders": [ "amazon" ], "DeprecationTimeCondition": { "MaximumDaysSinceDeprecated": 0 } }, // ImageCriterion 5: Allow AMIs that carry an approved watermark // from account "111122223333" AND the watermark was applied less than 90 days ago { "ImageWatermarks": [ { "WatermarkKey": "111122223333:prod-baseline", "MaximumDaysSinceWatermarkCreated": 90 } ] } ] }

Bagaimana kriteria dievaluasi

Tabel berikut menjelaskan aturan evaluasi yang menentukan apakah AMI diizinkan, menunjukkan bagaimana OR operator AND or diterapkan di setiap level:

Tingkat evaluasi Operator Persyaratan untuk menjadi AMI yang Diizinkan
Nilai parameter untukImageProviders,ImageNames,MarketplaceProductCodes, dan ImageWatermarks OR AMI harus cocok dengan setidaknya satu nilai di setiap daftar parameter
ImageCriterion AND AMI harus cocok dengan semua parameter di masing-masing ImageCriterion
ImageCriteria OR AMI harus cocok dengan salah satu ImageCriterion

Dengan menggunakan aturan evaluasi sebelumnya, mari kita lihat bagaimana menerapkannya padaImageCriteria contoh:

  • ImageCriterion1: Mengizinkan AMI yang memiliki kode AWS Marketplace produk abcdefg1234567890

    OR

  • ImageCriterion2: Mengizinkan AMI yang memenuhi kedua kriteria ini:

    • Dimiliki oleh salah satu akun 123456789012 OR 123456789013

      • AND

    • Dibuat dalam 300 hari terakhir

    OR

  • ImageCriterion3: Mengizinkan AMI yang memenuhi kedua kriteria ini:

    • Dimiliki oleh akun 123456789014

      • AND

    • Dinamai dengan pola golden-ami-*

    OR

  • ImageCriterion4: Mengizinkan AMI yang memenuhi kedua kriteria ini:

    • Diterbitkan oleh Amazon atau penyedia terverifikasi (ditentukan oleh amazon alias)

      • AND

    • Tidak usang (hari maksimum sejak penghentian adalah) 0

    OR

  • ImageCriterion5: Mengizinkan AMI yang membawa pencocokan tanda air:

    • Tombol tanda air 111122223333:prod-baseline

      • AND

    • Anda menerapkan tanda air kurang dari 90 hari yang lalu

Batas

ImageCriteriaDapat mencakup hingga:

  • 10 ImageCriterion

Masing-masing ImageCriterion dapat mencakup hingga:

  • 200 nilai untuk ImageProviders

  • 50 nilai untuk ImageNames

  • 50 nilai untuk MarketplaceProductCodes

  • 50 nilai untuk ImageWatermarks

Contoh batas

Menggunakan yang sebelumnyaImageCriteria contoh:

  • Ada 5ImageCriterion. Hingga 5 lagi dapat ditambahkan ke permintaan untuk mencapai batas 10.

  • Pada yang pertamaImageCriterion, ada 1 nilai untukMarketplaceProductCodes. Hingga 49 lebih dapat ditambahkan ImageCriterion ke ini untuk mencapai batas 50.

  • Yang keduaImageCriterion, ada 2 nilai untukImageProviders. Hingga 198 lebih dapat ditambahkan ImageCriterion ke ini untuk mencapai batas 200.

  • Yang ketigaImageCriterion, ada 1 nilai untukImageNames. Hingga 49 lebih dapat ditambahkan ImageCriterion ke ini untuk mencapai batas 50.

Operasi AMI yang diizinkan

Fitur AMI yang Diizinkan memiliki tiga status operasional untuk mengelola kriteria gambar: diaktifkan, dinonaktifkan, dan mode audit. Ini memungkinkan Anda untuk mengaktifkan atau menonaktifkan kriteria gambar, atau meninjaunya sesuai kebutuhan.

Diaktifkan

Saat AMI yang Diizinkan diaktifkan:

  • Yang ImageCriteria diterapkan.

  • Hanya AMI yang diizinkan yang dapat ditemukan di konsol EC2 dan oleh API yang menggunakan gambar (misalnya, yang menjelaskan, menyalin, menyimpan, atau melakukan tindakan lain yang menggunakan gambar).

  • Instans hanya dapat diluncurkan menggunakan AMI yang diizinkan.

Nonaktif

Saat AMI yang Diizinkan dinonaktifkan:

  • Itu ImageCriteria tidak diterapkan.

  • Tidak ada batasan yang ditempatkan pada kemampuan penemuan atau penggunaan AMI.

Mode audit

Dalam mode audit:

  • Ini ImageCriteria diterapkan, tetapi tidak ada batasan yang ditempatkan pada kemampuan penemuan atau penggunaan AMI.

  • Di konsol EC2, untuk setiap AMI, bidang gambar yang diizinkan menampilkan Ya atau Tidak untuk menunjukkan apakah AMI akan dapat ditemukan dan tersedia bagi pengguna di akun saat AMI yang Diizinkan diaktifkan.

  • Di baris perintah, respons untuk describe-image operasi termasuk "ImageAllowed": true atau "ImageAllowed": false untuk menunjukkan apakah AMI akan dapat ditemukan dan tersedia untuk pengguna di akun ketika AMI yang Diizinkan diaktifkan.

  • Di konsol EC2, Katalog AMI menampilkan Tidak diizinkan di sebelah AMI yang tidak dapat ditemukan atau tersedia bagi pengguna di akun saat AMI yang Diizinkan diaktifkan.

Praktik terbaik untuk menerapkan AMI yang Diizinkan

Saat menerapkan AMI yang Diizinkan, pertimbangkan praktik terbaik ini untuk memastikan transisi yang lancar dan meminimalkan potensi gangguan pada AWS lingkungan Anda.

  1. Aktifkan mode audit

    Mulailah dengan mengaktifkan AMI yang Diizinkan dalam mode audit. Status ini memungkinkan Anda untuk melihat AMI mana yang akan terpengaruh oleh kriteria Anda tanpa benar-benar membatasi akses, memberikan periode evaluasi bebas risiko.

  2. Tetapkan kriteria AMI yang Diizinkan

    Tentukan dengan cermat penyedia AMI mana yang selaras dengan kebijakan keamanan, persyaratan kepatuhan, dan kebutuhan operasional organisasi Anda.

    catatan

    Saat menggunakan layanan AWS terkelola, seperti Amazon ECS, Amazon EKS, atau Instans Terkelola AWS Lambda, sebaiknya tentukan amazon alias untuk mengizinkan AMI yang dibuat oleh. AWS Layanan ini bergantung pada Amazon-published AMI untuk meluncurkan instans.

    Berhati-hatilah saat menetapkan CreationDateCondition batasan untuk AMI apa pun. Menyetel kondisi tanggal yang terlalu ketat (misalnya, AMI harus berusia kurang dari 5 hari) dapat menyebabkan kegagalan peluncuran instans jika AMI, baik dari penyedia AWS atau penyedia lain, tidak diperbarui dalam jangka waktu yang Anda tentukan.

    Kami merekomendasikan memasangkan ImageNames dengan ImageProviders untuk kontrol dan spesifisitas yang lebih baik. Menggunakan ImageNames saja mungkin tidak secara unik mengidentifikasi AMI.

  3. Periksa dampak pada proses bisnis yang diharapkan

    Anda dapat menggunakan konsol atau CLI untuk mengidentifikasi instans apa pun yang diluncurkan dengan AMI yang tidak memenuhi kriteria yang ditentukan. Informasi ini dapat memandu keputusan Anda untuk memperbarui konfigurasi peluncuran Anda untuk menggunakan AMI yang sesuai (misalnya, menentukan AMI yang berbeda dalam template peluncuran) atau menyesuaikan kriteria Anda untuk mengizinkan AMI ini.

    Konsol: Gunakan AWS Config aturan ec2-instance-launched-with-allowed-ami untuk memeriksa apakah instans yang sedang berjalan atau dihentikan diluncurkan dengan AMI yang memenuhi kriteria AMI yang Diizinkan. Aturannya adalah NON_COM PLIANT jika AMI tidak memenuhi kriteria AMI yang Diizinkan, dan COMPLIANT jika memenuhi kriteria AMI. Aturan hanya beroperasi jika setelan AMI yang Diizinkan disetel ke mode diaktifkan atau audit.

    CLI: Jalankan perintah describe-instance-image-metadata dan filter respons untuk mengidentifikasi instans apa pun yang diluncurkan dengan AMI yang tidak memenuhi kriteria yang ditentukan.

    Untuk instruksi konsol dan CLI, lihatMenemukan instans yang diluncurkan dari AMI yang tidak diizinkan.

  4. Aktifkan AMI yang Diizinkan

    Setelah Anda mengonfirmasi bahwa kriteria tidak akan mempengaruhi proses bisnis yang diharapkan, aktifkan AMI yang Diizinkan.

  5. Peluncuran instance monitor

    Terus memantau peluncuran instans dari AMI di seluruh aplikasi Anda dan AWS layanan terkelola yang Anda gunakan, seperti Amazon EMR, Amazon ECR, Amazon EKS, dan AWS Elastic Beanstalk. Periksa masalah yang tidak terduga dan buat penyesuaian yang diperlukan pada kriteria AMI yang Diizinkan.

  6. Pilot AMI baru

    Untuk menguji AMI pihak ketiga yang tidak sesuai dengan setelan AMI yang Diizinkan saat ini, rekom AWS endasikan pendekatan berikut:

    • Gunakan yang terpisah Akun AWS: Buat akun tanpa akses ke sumber daya penting bisnis Anda. Pastikan bahwa setelan AMI yang Diizinkan tidak diaktifkan di akun ini, atau bahwa AMI yang ingin Anda uji diizinkan secara eksplisit, sehingga Anda dapat mengujinya.

    • Uji di Wilayah AWS daerah lain: Gunakan Wilayah tempat AMI pihak ketiga tersedia, tetapi di mana Anda belum mengaktifkan setelan AMI yang Diizinkan.

    Pendekatan ini membantu memastikan sumber daya penting bisnis Anda tetap aman saat Anda menguji AMI baru.

Izin IAM yang diperlukan

Untuk menggunakan fitur AMI yang Diizinkan, Anda memerlukan izin IAM berikut:

  • GetAllowedImagesSettings

  • EnableAllowedImagesSettings

  • DisableAllowedImagesSettings

  • ReplaceImageCriteriaInAllowedImagesSettings