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 Anda Akun AWS, Anda dapat menggunakan fitur AMI yang Diizinkan. Anda menentukan kriteria yang harus dipenuhi oleh AMI agar terlihat dan tersedia dalam akun Anda. Ketika kriteria diaktifkan, pengguna yang meluncurkan instance 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 pengaturan 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 yang diperlukan 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 templat peluncuran) atau menyesuaikan kriteria Anda untuk mengizinkan AMI ini.

Anda menentukan pengaturan 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 sedang 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 AWS Organizations Panduan Pengguna.

catatan

Fitur AMI yang Diizinkan hanya mengontrol penemuan dan penggunaan AMI publik atau AMI yang dibagikan dengan akun Anda. Ini tidak membatasi AMI yang dimiliki oleh akun Anda. Terlepas dari kriteria yang Anda tetapkan, AMI yang dibuat oleh akun Anda selalu dapat ditemukan dan dapat 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 pengaturan 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.

Bagaimana AMI yang Diizinkan bekerja

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

Hierarki ImageCriteria konfigurasi AMI yang Diizinkan.

Konfigurasi memiliki tiga level:

  • 1 — Nilai parameter

    • Multi-value parameter:

      • ImageProviders

      • ImageNames

      • MarketplaceProductCodes

        AMI dapat mencocokkan nilai apa pun dalam parameter yang akan diizinkan.

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

      • ImageWatermarks

    • Single-value parameter:

      • CreationDateCondition

      • DeprecationTimeCondition

  • 2ImageCriterion

    • Kelompokkan beberapa parameter dengan logika AND.

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

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

  • 3ImageCriteria

    • Kelompokkan beberapa ImageCriterion dengan logika OR.

    • AMI dapat mencocokkan ImageCriterionapa pun yang diizinkan.

    • Membentuk konfigurasi lengkap tempat AMI dievaluasi.

Parameter AMI yang diizinkan

Parameter berikut dapat dikonfigurasi untuk membuatImageCriterion:

ImageProviders

Penyedia AMI yang AMI diizinkan.

Nilai yang valid adalah alias yang didefinisikan 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 Backup yang memiliki celah udara secara logis. AWS Jika Anda menggunakan fitur AWS Backup air-gapped vault secara logis, pastikan alias ini disertakan sebagai penyedia AMI.

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

  • 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-nama AMI yang diizinkan, menggunakan kecocokan persis atau wildcard (?atau*).

MarketplaceProductCodes

Kode AWS Marketplace produk untuk AMI yang diizinkan.

CreationDateCondition

Usia maksimum untuk AMI yang diizinkan.

DeprecationTimeCondition

Periode maksimum sejak penghentian untuk AMI yang diizinkan.

ImageWatermarks

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

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

  • SourceImageRegion— Wilayah AMI tempat Anda awalnya memasang tanda air

  • MaximumDaysSinceSourceImageCreated— Usia maksimum sumber AMI saat Anda menerapkan watermark

  • MaximumDaysSinceWatermarkCreated— Jumlah hari maksimum sejak Anda menerapkan tanda air

Untuk nilai dan batasan yang valid untuk setiap kriteria, lihat di Referensi API ImageCriterionRequestAmazon EC2.

Konfigurasi AMI yang diizinkan

Konfigurasi inti untuk AMI yang Diizinkan adalah ImageCriteria konfigurasi yang mendefinisikan 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, yang menunjukkan bagaimana OR operator AND atau diterapkan di setiap tingkat:

Tingkat evaluasi Operator Persyaratan untuk menjadi AMI yang Diizinkan
Nilai parameter untukImageProviders,ImageNames,MarketplaceProductCodes, dan ImageWatermarks OR AMI harus mencocokkan setidaknya satu nilai di setiap daftar parameter
ImageCriterion AND AMI harus mencocokkan 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 pada: ImageCriteria contoh

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

    OR

  • ImageCriterion2: Memungkinkan AMI yang memenuhi kedua kriteria ini:

    • Dimiliki oleh salah satu akun 123456789012 OR 123456789013

      • AND

    • Dibuat dalam 300 hari terakhir

    OR

  • ImageCriterion3: Memungkinkan AMI yang memenuhi kedua kriteria ini:

    • Dimiliki oleh akun 123456789014

      • AND

    • Dinamakan dengan pola golden-ami-*

    OR

  • ImageCriterion4: Memungkinkan AMI yang memenuhi kedua kriteria ini:

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

      • AND

    • Tidak usang (hari maksimum sejak penghentian) 0

    OR

  • ImageCriterion5: Memungkinkan AMI yang membawa pencocokan tanda air:

    • Kunci 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.

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

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

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

Operasi AMI yang diizinkan

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

Diaktifkan

Saat AMI yang Diizinkan diaktifkan:

  • Itu ImageCriteria diterapkan.

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

  • Instans hanya dapat diluncurkan menggunakan AMI yang diizinkan.

Nonaktif

Ketika AMI yang Diizinkan dinonaktifkan:

  • Itu ImageCriteria tidak diterapkan.

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

Modus audit

Dalam mode audit:

  • ImageCriteriaIni 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 mencakup "ImageAllowed": true atau "ImageAllowed": false untuk menunjukkan apakah AMI akan dapat ditemukan dan tersedia untuk pengguna di akun saat AMI yang Diizinkan diaktifkan.

  • Di konsol EC2, Katalog AMI menampilkan Tidak diizinkan di samping 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

    Tetapkan 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 alias untuk mengizinkan AMI amazon yang dibuat oleh. AWS Layanan ini bergantung pada Amazon-published AMI untuk meluncurkan instance.

    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 instance jika AMI, baik dari AWS atau penyedia lain, tidak diperbarui dalam jangka waktu yang Anda tentukan.

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

  3. Periksa dampak pada proses bisnis yang diharapkan

    Anda dapat menggunakan konsol atau CLI untuk mengidentifikasi instance 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 templat peluncuran) atau menyesuaikan kriteria Anda untuk mengizinkan AMI ini.

    Konsol: Gunakan AWS Config aturan ec2-instance-launched-with-allowed-ami untuk memeriksa apakah instance yang sedang berjalan atau dihentikan diluncurkan dengan AMI yang memenuhi kriteria AMI yang Diizinkan. Aturannya adalah NON_COMPLIANT jika AMI tidak memenuhi kriteria AMI yang Diizinkan, dan COMPLIANT jika memang demikian. Aturan hanya beroperasi ketika pengaturan AMI yang Diizinkan disetel ke mode aktif atau audit.

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

    Untuk instruksi konsol dan CLI, lihat. Temukan instance 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. Monitor peluncuran instance

    Terus memantau peluncuran instans dari AMI di seluruh aplikasi dan layanan AWS 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 untuk kriteria AMI yang Diizinkan.

  6. Pilot AMI baru

    Untuk menguji AMI pihak ketiga yang tidak mematuhi pengaturan AMI yang Diizinkan saat ini, AWS rekomendasikan pendekatan berikut:

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

    • Uji di tempat lain Wilayah AWS: Gunakan Wilayah tempat AMI pihak ketiga tersedia, tetapi di mana Anda belum mengaktifkan pengaturan 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