Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Transisi ke penggunaan Layanan Metadata Instans Versi 2
Jika Anda ingin mengonfigurasi instans agar hanya menerima panggilan Layanan Metadata Instans Versi 2 (IMDSv2), sebaiknya gunakan alat dan jalur transisi berikut.
Alat untuk transisi ke IMDSv2
Alat-alat berikut dapat membantu Anda mengidentifikasi, memantau, dan mengelola transisi perangkat lunak Anda dari IMDSv1 ke IMDSv2. Untuk petunjuk tentang cara menggunakan alat ini, lihatJalur yang direkomendasikan untuk membutuhkan IMDSv2.
- AWS perangkat lunak
-
Versi terbaru dari AWS CLI dan AWS SDK mendukung IMDSv2. Untuk menggunakan IMDSv2, perbarui instans EC2 Anda untuk menggunakan versi terbaru. Untuk versi AWS SDK minimum yang mendukung IMDSv2, lihatMenggunakan AWS SDK yang didukung.
Semua paket perangkat lunak Amazon Linux 2 dan Amazon Linux 2023 mendukung IMDSv2. Amazon Linux 2023 dinonaktifkan secara IMDSv1 default.
- IMDS Package Analyzer
-
IMDS Packet Analyzer adalah alat sumber terbuka yang mengidentifikasi dan mencatat IMDSv1 panggilan selama fase boot dan operasi runtime instans Anda. Dengan menganalisis log ini, Anda dapat dengan tepat mengidentifikasi perangkat lunak yang membuat IMDSv1 panggilan pada instans Anda dan menentukan apa yang perlu diperbarui untuk mendukung IMDSv2 hanya pada instans Anda. Anda dapat menjalankan IMDS Packet Analyzer dari baris perintah atau menginstalnya sebagai layanan. Untuk informasi lebih lanjut, lihat AWS ImdsPacketAnalyzer
di GitHub. - CloudWatch
-
CloudWatch menyediakan dua metrik berikut untuk memantau instans Anda:
MetadataNoToken— IMDSv2 menggunakan sesi yang didukung token, sementara IMDSv1 tidak.MetadataNoTokenMetrik melacak jumlah panggilan ke Layanan Metadata Instans (IMDS) yang digunakan. IMDSv1 Dengan melacak metrik ini ke nol, Anda dapat menentukan apakah dan kapan semua perangkat lunak Anda telah ditingkatkan untuk digunakanIMDSv2.MetadataNoTokenRejected— Setelah Anda menonaktifkan IMDSv1, Anda dapat menggunakanMetadataNoTokenRejectedmetrik untuk melacak berapa kali IMDSv1 panggilan dicoba dan ditolak. Dengan melacak metrik ini, Anda dapat memastikan apakah perangkat lunak Anda perlu diperbarui untuk digunakan IMDSv2.Untuk setiap instans EC2, metrik ini saling eksklusif. Ketika IMDSv1 diaktifkan (
httpTokens = optional), hanyaMetadataNoTokenmemancarkan. Ketika IMDSv1 dinonaktifkan (httpTokens = required), hanyaMetadataNoTokenRejectedmemancarkan. Untuk kapan menggunakan metrik ini, lihatJalur yang direkomendasikan untuk membutuhkan IMDSv2.Untuk informasi selengkapnya, lihat Metrik instans.
- Peluncuran APIs
-
Instance baru: Gunakan RunInstancesAPI untuk meluncurkan instance baru yang memerlukan penggunaan. IMDSv2 Untuk informasi selengkapnya, lihat Mengonfigurasi opsi metadata instans untuk instans baru.
Instance yang ada: Gunakan ModifyInstanceMetadataOptionsAPI untuk meminta penggunaan IMDSv2 pada instance yang ada. Untuk informasi selengkapnya, lihat Mengonfigurasi opsi metadata instans untuk instans yang ada.
Instans baru yang diluncurkan oleh grup Auto Scaling: Untuk mewajibkan IMDSv2 penggunaan pada semua instans baru yang diluncurkan oleh grup Auto Scaling, grup Auto Scaling Anda dapat menggunakan templat peluncuran atau konfigurasi peluncuran. Saat Anda membuat template peluncuran atau membuat konfigurasi peluncuran, Anda harus mengonfigurasi
MetadataOptionsparameter agar memerlukan penggunaanIMDSv2. Grup Auto Scaling meluncurkan instans baru menggunakan templat peluncuran atau konfigurasi peluncuran baru, tetapi instans yang ada tidak terpengaruh.Instance yang ada dalam grup Auto Scaling: Gunakan ModifyInstanceMetadataOptionsAPI untuk meminta penggunaan IMDSv2 pada instance yang ada, atau menghentikan instance dan grup Auto Scaling akan meluncurkan instance pengganti baru dengan setelan opsi metadata instans yang ditentukan dalam templat peluncuran baru atau konfigurasi peluncuran.
- AMIs
-
AMIs dikonfigurasi dengan
ImdsSupportparameter yang disetel kev2.0akan meluncurkan instance yang membutuhkan secara IMDSv2 default. Amazon Linux 2023 dikonfigurasi denganImdsSupport = v2.0.Baru AMIs: Gunakan perintah CLI register-image untuk mengatur parameter
ImdsSupportv2.0saat membuat AMI baru.AMIsExisting: Gunakan perintah modify-image-attributeCLI untuk mengatur
ImdsSupportparameterv2.0saat memodifikasi AMI yang ada.Untuk informasi selengkapnya, lihat Konfigurasikan AMI.
- Kontrol tingkat akun
-
Anda dapat mengonfigurasi nilai default untuk semua opsi metadata instans di tingkat akun. Nilai default diterapkan secara otomatis saat Anda meluncurkan sebuah instance. Untuk informasi lebih lanjut. lihat. Tetapkan IMDSv2 sebagai default untuk akun
Anda juga dapat menerapkan persyaratan untuk digunakan IMDSv2 di tingkat akun. Saat IMDSv2 penegakan diaktifkan:
-
Instance baru: Instans yang dikonfigurasi untuk diluncurkan dengan IMDSv1 diaktifkan akan gagal diluncurkan
-
Instance yang ada dengan IMDSv1 dinonaktifkan: Upaya untuk IMDSv1 mengaktifkan instance yang ada akan dicegah.
-
Instance yang ada dengan IMDSv1 diaktifkan: Instance yang ada dengan IMDSv1 sudah diaktifkan tidak akan terpengaruh.
Untuk informasi selengkapnya, lihat Menegakkan IMDSv2 di tingkat akun.
-
- Kebijakan IAM dan SCPs
-
Anda dapat menggunakan kebijakan IAM atau kebijakan kontrol AWS Organizations layanan (SCP) untuk mengontrol pengguna sebagai berikut:
-
Tidak dapat meluncurkan instance menggunakan RunInstancesAPI kecuali instance dikonfigurasi untuk digunakan IMDSv2.
-
Tidak dapat memodifikasi instance yang ada menggunakan ModifyInstanceMetadataOptionsAPI untuk mengaktifkan kembaliIMDSv1.
Kebijakan IAM atau SCP harus berisi kunci syarat IAM berikut:
-
ec2:MetadataHttpEndpoint -
ec2:MetadataHttpPutResponseHopLimit -
ec2:MetadataHttpTokens
Jika parameter dalam panggilan API atau CLI tidak cocok dengan status yang ditentukan dalam kebijakan yang berisi kunci kondisi, panggilan API atau CLI gagal dengan respons.
UnauthorizedOperationSelain itu, Anda dapat memilih lapisan perlindungan tambahan untuk menegakkan perubahan dari IMDSv1 ke IMDSv2. Pada lapisan manajemen akses sehubungan dengan API yang dipanggil melalui kredensil Peran EC2, Anda dapat menggunakan kunci kondisi baik dalam kebijakan IAM atau kebijakan kontrol AWS Organizations layanan (). SCPs Secara khusus, dengan menggunakan kunci kondisi
ec2:RoleDeliverydengan nilai2.0dalam kebijakan IAM Anda, panggilan API yang dilakukan dengan kredenal Peran EC2 yang diperoleh dari IMDSv1 akan menerima respons.UnauthorizedOperationHal yang sama dapat dicapai secara lebih luas dengan kondisi yang disyaratkan oleh SCP. Ini memastikan bahwa kredensil yang dikirimkan melalui IMDSv1 tidak dapat benar-benar digunakan untuk memanggil APIs karena panggilan API apa pun yang tidak cocok dengan kondisi yang ditentukan akan menerima kesalahanUnauthorizedOperation.Untuk contoh kebijakan IAM, lihat Cara menggunakan metadata instans. Untuk informasi selengkapnya SCPs, lihat Kebijakan kontrol layanan di Panduan AWS Organizations Pengguna.
-
- Kebijakan Deklaratif
-
Gunakan Kebijakan Deklaratif (fitur AWS Organizations) untuk menetapkan default akun IMDS secara terpusat, termasuk IMDSv2 penegakan hukum, di seluruh organisasi Anda. Untuk kebijakan contoh, lihat tab Metadata Instans di bagian Kebijakan deklaratif yang didukung di Panduan Pengguna.AWS Organizations
Jalur yang direkomendasikan untuk membutuhkan IMDSv2
Dengan menggunakan alat di atas, kami merekomendasikan jalur berikut untuk transisi ke: IMDSv2
Langkah 1: Identifikasi instance dengan IMDSv2 =opsional dan penggunaan audit IMDSv1
Untuk menilai cakupan IMDSv2 migrasi Anda, identifikasi instance yang dikonfigurasi untuk mengizinkan salah satu IMDSv1 atau IMDSv2, dan IMDSv1 panggilan audit.
-
Identifikasi instance yang dikonfigurasi untuk mengizinkan salah satu IMDSv1 atau IMDSv2:
-
IMDSv1 Panggilan audit pada setiap instance:
Gunakan CloudWatch metrik
MetadataNoToken. Metrik ini menunjukkan jumlah IMDSv1 panggilan ke IMDS pada instans Anda. Untuk informasi selengkapnya, lihat Metrik instans. -
Identifikasi perangkat lunak pada instans Anda yang melakukan IMDSv1 panggilan:
Gunakan IMDS Packet Analyzer
open source untuk mengidentifikasi dan mencatat IMDSv1 panggilan selama fase boot dan operasi runtime instans Anda. Gunakan informasi ini untuk mengidentifikasi perangkat lunak yang akan diperbarui agar instance Anda siap digunakan IMDSv2 saja. Anda dapat menjalankan IMDS Packet Analyzer dari baris perintah atau menginstalnya sebagai layanan.
Langkah 2: Perbarui perangkat lunak ke IMDSv2
Perbarui semua SDKs, CLIs, dan perangkat lunak yang menggunakan kredensil Peran pada instans Anda ke IMDSv2 versi yang kompatibel. Untuk informasi selengkapnya tentang memperbarui CLI, lihat Menginstal atau memperbarui ke versi terbaru dari AWS CLIAWS Command Line Interface Panduan Pengguna.
Langkah 3: Memerlukan IMDSv2 contoh
Setelah mengonfirmasi nol IMDSv1 panggilan melalui MetadataNoToken metrik, konfigurasikan instans yang ada agar diperlukan IMDSv2. Juga, konfigurasikan semua instance baru untuk membutuhkan IMDSv2. Dengan kata lain, IMDSv1 nonaktifkan semua instance yang ada dan yang baru.
-
Konfigurasikan instance yang ada untuk membutuhkanIMDSv2:
catatan
Anda dapat memodifikasi pengaturan ini pada instance yang sedang berjalan. Perubahan segera berlaku tanpa memerlukan instance restart.
Untuk informasi selengkapnya, lihat Membutuhkan penggunaan IMDSv2.
-
Pantau masalah setelah menonaktifkanIMDSv1:
-
Lacak berapa kali IMDSv1 panggilan dicoba dan ditolak dengan
MetadataNoTokenRejectedCloudWatch metrik. -
Jika catatan
MetadataNoTokenRejectedmetrik IMDSv1 memanggil instance yang mengalami masalah perangkat lunak, ini menunjukkan bahwa perangkat lunak memerlukan pembaruan untuk digunakan IMDSv2.
-
-
Konfigurasikan instance baru untuk membutuhkanIMDSv2:
Langkah 4: Set IMDSv2 = diperlukan sebagai default
Anda dapat mengatur IMDSv2 =required sebagai konfigurasi default di tingkat akun atau organisasi. Ini memastikan bahwa semua instance yang baru diluncurkan dikonfigurasi secara otomatis untuk memerlukan IMDSv2.
-
Tetapkan default tingkat akun:
Untuk informasi selengkapnya, lihat Tetapkan IMDSv2 sebagai default untuk akun.
-
Atau, tetapkan default tingkat organisasi menggunakan Kebijakan Deklaratif:
Gunakan Kebijakan Deklaratif untuk menyetel default organisasi IMDSv2 menjadi required. Untuk kebijakan contoh, lihat tab Metadata Instans di bagian Kebijakan deklaratif yang didukung di Panduan Pengguna.AWS Organizations
Langkah 5: Menerapkan instance untuk membutuhkan IMDSv2
Setelah Anda mengonfirmasi bahwa tidak ada ketergantungan IMDSv1 pada instans mana pun, kami sarankan Anda menerapkan IMDSv2 semua instans baru.
Gunakan salah satu opsi berikut untuk menegakkan IMDSv2:
-
Menegakkan IMDSv2 dengan properti akun
Anda dapat menerapkan penggunaan IMDSv2 di tingkat akun untuk masing-masing AWS Region. Saat diberlakukan, instance hanya dapat diluncurkan jika dikonfigurasi untuk membutuhkan. IMDSv2 Penegakan ini berlaku terlepas dari bagaimana instans atau AMI dikonfigurasi. Untuk informasi selengkapnya, lihat Menegakkan IMDSv2 di tingkat akun. Untuk menerapkan setelan ini di tingkat organisasi, tetapkan Kebijakan Deklaratif. Untuk kebijakan contoh, lihat tab Metadata Instans di bagian Kebijakan deklaratif yang didukung di Panduan Pengguna.AWS Organizations
Untuk mencegah pembalikan penegakan hukum, Anda harus menggunakan kebijakan IAM untuk mencegah akses ke API. ModifyInstanceMetadataDefaults Untuk informasi selengkapnya, lihat Gunakan kebijakan IAM.
catatan
Pengaturan ini tidak mengubah versi IMDS dari instans yang ada, tetapi memblokir pengaktifan IMDSv1 pada instance yang ada yang saat ini telah dinonaktifkan. IMDSv1
Awas
Jika IMDSv2 penegakan
httpTokensdiaktifkan dan tidak disetel kerequiredkonfigurasi instans saat peluncuran, pengaturan akun, atau konfigurasi AMI, peluncuran instance akan gagal. Untuk informasi pemecahan masalah, lihat Meluncurkan instance IMDSv1 -enabled gagal. -
Atau, terapkan IMDSv2 dengan menggunakan kunci kondisi IAM atau SCP berikut:
-
ec2:MetadataHttpTokens -
ec2:MetadataHttpPutResponseHopLimit -
ec2:MetadataHttpEndpoint
Tombol kondisi ini mengontrol penggunaan RunInstancesdan ModifyInstanceMetadataOptions APIs dan yang sesuai CLIs. Jika kebijakan dibuat, dan parameter dalam panggilan API tidak cocok dengan status yang ditentukan dalam kebijakan menggunakan kunci syarat, panggilan API atau CLI akan gagal dengan tanggapan
UnauthorizedOperation.Misalnya kebijakan IAM, lihat .Cara menggunakan metadata instans
-