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 Instance Metadata Service Version 2 (IMDSv2), sebaiknya gunakan alat berikut dan jalur transisi.
Alat untuk transisi ke IMDSv2
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 disarankan untuk mengharuskan 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, lihat. Gunakan yang didukung AWS SDK
Semua paket perangkat lunak Amazon Linux 2 dan Amazon Linux 2023 mendukung IMDSv2. Amazon Linux 2023 menonaktifkan IMDSv1 secara default.
- IMDS Package Analyzer
-
IMDS Packet Analyzer adalah alat sumber terbuka yang mengidentifikasi dan mencatat panggilan IMDSv1 selama fase boot instans dan operasi runtime Anda. Dengan menganalisis log ini, Anda dapat secara tepat mengidentifikasi perangkat lunak yang membuat panggilan IMDSv1 pada instance 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, sedangkan IMDSv1 tidak. MetMetadataNoTokenrik melacak jumlah panggilan ke Instance Metadata Service (IMDS) yang menggunakan IMDSv1. Dengan melacak metrik ini ke nol, Anda dapat menentukan apakah dan kapan semua perangkat lunak Anda telah dimutakhirkan untuk menggunakan IMDSv2.MetadataNoTokenRejected— Setelah menonaktifkan IMDSv1, Anda dapat menggunakanMetadataNoTokenRejectedmetrik untuk melacak berapa kali panggilan IMDSv1 dicoba dan ditolak. Dengan melacak metrik ini, Anda dapat memastikan apakah perangkat lunak Anda perlu diperbarui untuk menggunakan IMDSv2.Untuk setiap instans EC2, metrik ini saling eksklusif. Ketika IMDSv1 diaktifkan (
httpTokens = optional), hanya memancarkan.MetadataNoTokenKetika IMDSv1 dinonaktifkan (httpTokens = required), hanya memancarkan.MetadataNoTokenRejectedUntuk mengetahui kapan menggunakan metrik ini, lihatJalur yang disarankan untuk mengharuskan IMDSv2.Untuk informasi selengkapnya, lihat Metrik instans.
- Luncurkan API
-
Instans baru: Gunakan RunInstances API untuk meluncurkan instans baru yang memerlukan penggunaan IMDSv2. Untuk informasi selengkapnya, lihat Mengonfigurasi opsi metadata instans untuk instans baru.
Instans yang ada: Gunakan ModifyInstanceMetadataOptions API untuk mewajibkan penggunaan IMDSv2 pada instans yang ada. Untuk informasi selengkapnya, lihat Mengonfigurasi opsi metadata instans untuk instans yang ada.
Instans baru yang diluncurkan oleh grup Penskalaan Otom atis: Untuk mewajibkan penggunaan IMDSv2 pada semua instans baru yang diluncurkan oleh grup Penskalaan Otomatis, grup Penskalaan Otomatis Anda dapat menggunakan template peluncuran atau konfigurasi peluncuran. Saat Anda membuat templat peluncuran atau membuat konfigurasi peluncuran, Anda harus mengonfigurasi parameter
MetadataOptionsuntuk mengharuskan penggunaan IMDSv2. Grup Auto Scaling meluncurkan instans baru menggunakan templat peluncuran atau konfigurasi peluncuran baru, tetapi instans yang ada tidak terpengaruh.Instans yang ada dalam grup Penskalaan Otomatis: Gunakan ModifyInstanceMetadataOptions API untuk mewajibkan penggunaan IMDSv2 pada instans yang ada, atau hentikan instans dan grup Penskalaan Otomatis akan meluncurkan instans pengganti baru dengan pengaturan opsi metadata instance yang ditentukan dalam template peluncuran baru atau konfigurasi peluncuran.
- AMI
-
AMI yang dikonfigurasi dengan
ImdsSupportparameter yang disetel kev2.0akan meluncurkan instans yang memerlukan IMDSv2 secara default. Amazon Linux 2023 dikonfigurasi denganImdsSupport = v2.0.AMI baru: Gunakan perintah register-image CLI untuk mengatur
ImdsSupportparameter kev2.0saat membuat AMI baru.AMI yang ada: Gunakan perintah CLI modify-image-atribut untuk mengatur
ImdsSupportparameter saat memodifikasi AMI yang ada.v2.0Untuk informasi selengkapnya, lihat Konfigurasikan AMI.
- Account-level kontrol
-
Anda dapat mengonfigurasi nilai default untuk semua opsi metadata instans di tingkat akun. Nilai default diterapkan secara otomatis saat Anda meluncurkan instance. Untuk informasi lebih lanjut. lihatSetel IMDSv2 sebagai default untuk akun.
Anda juga dapat menegakkan persyaratan untuk menggunakan IMDSv2 di tingkat akun. Saat penegakan IMDSv2 diaktifkan:
-
Instans baru: Instans yang dikonfigurasi untuk diluncurkan dengan IMDSv1 diaktifkan akan gagal diluncurkan
-
Instans yang ada dengan IMDSv1 dinonaktifkan: Upaya untuk mengaktifkan IMDSv1 pada instans yang ada akan dicegah.
-
Instans yang ada dengan IMDSv1 diaktifkan: Instans yang ada dengan IMDSv1 sudah diaktifkan tidak akan terpengaruh.
Untuk informasi selengkapnya, lihat Menerapkan IMDSv2 di tingkat akun.
-
- Kebijakan IAM dan SCP
-
Anda dapat menggunakan kebijakan IAM atau kebijakan kontrol AWS Organizations layanan (SCP) untuk mengontrol pengguna sebagai berikut:
-
Tidak dapat meluncurkan instance menggunakan RunInstances API kecuali instans dikonfigurasi untuk menggunakan IMDSv2.
-
Tidak dapat mengubah instance yang ada menggunakan ModifyInstanceMetadataOptions API untuk mengaktifkan kembali IMDSv1.
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
UnauthorizedOperation.Selain itu, Anda dapat memilih lapisan perlindungan tambahan untuk menegakkan perubahan dari IMDSv1 ke IMDSv2. Pada lapisan manajemen akses sehubungan dengan API yang dipanggil melalui kredentif Peran EC2, Anda dapat menggunakan kunci kondisi baik dalam kebijakan IAM atau kebijakan kontrol AWS Organizations layanan (SCP). Secara khusus, dengan menggunakan kunci syarat
ec2:RoleDeliverydengan nilai2.0dalam kebijakan IAM Anda, panggilan API yang dilakukan dengan kredenal Peran EC2 yang diperoleh dari IMDSv1 akan menerima tanggapanUnauthorizedOperation. Hal yang sama dapat dicapai secara lebih luas dengan kondisi yang disyaratkan oleh SCP. Ini memastikan bahwa kredenSIAL yang dikirimkan melalui IMDSv1 sebenarnya tidak dapat digunakan untuk memanggil API karena panggilan API apa pun yang tidak cocok dengan kondisi yang ditentukan akan menerima kesalahan.UnauthorizedOperationUntuk contoh kebijakan IAM, lihat Cara menggunakan metadata instans. Untuk informasi selengkapnya tentang SCP, lihat Kebijakan kontrol layanan di Panduan AWS Organizations Pengguna.
-
- Kebijakan Deklaratif
-
Gunakan Kebijakan Deklaratif (fitur AWS Organizations) untuk mengatur default akun IMDS secara terpusat, termasuk penegakan IMDSv2, di seluruh organisasi Anda. Untuk contoh kebijakan, lihat tab Metadata Instance di bagian Kebijakan deklaratif yang didukung di Panduan AWS Organizations Pengguna.
Jalur yang disarankan untuk mengharuskan IMDSv2
Menggunakan alat di atas, kami merekomendasikan jalur berikut untuk transisi ke IMDSv2:
Langkah 1: Identifikasi instance dengan IMDSv2 = opsional dan audit penggunaan IMDSv1
Untuk menilai cakupan migrasi IMDSv2 Anda, identifikasi instance yang dikonfigurasi untuk mengizinkan IMDSv1 atau IMDSv2, dan audit panggilan IMDSv1.
-
Identifikasi instance yang dikonfigurasi untuk mengizinkan IMDSv1 atau IMDSv2:
-
Audit panggilan IMDSv1 pada setiap instance:
Gunakan met CloudWatch rik
MetadataNoToken. Metrik ini melacak jumlah panggilan IMDSv1 ke IMDS di instans Anda. Untuk informasi selengkapnya, lihat Metrik instans. -
Identifikasi perangkat lunak pada instans Anda yang membuat panggilan IMDSv1:
Gunakan IMDS Packet Analyzer sumber terbuka
untuk mengidentifikasi dan mencatat panggilan IMDSv1 selama fase boot instans dan operasi runtime Anda. Gunakan informasi ini untuk mengidentifikasi perangkat lunak yang akan diperbarui agar instans Anda siap menggunakan IMDSv2 saja. Anda dapat menjalankan IMDS Packet Analyzer dari baris perintah atau menginstalnya sebagai layanan.
Langkah 2: Perbarui perangkat lunak ke IMDSv2
Perbarui semua SDK, CLI, dan perangkat lunak yang menggunakan kredentif Peran pada instans Anda ke IMDSv2-compatible versi. Untuk informasi selengkapnya tentang memperbarui CLI, lihat Meng instal atau memperbarui ke versi terbaru AWS CLI di Panduan AWS Command Line Interface Pengguna.
Langkah 3: Memerlukan IMDSv2 pada instance
Setelah mengonfirmasi nol panggilan IMDSv1 melalui MetadataNoToken metrik, konfigurasikan instans yang ada untuk memerlukan IMDSv2. Juga, konfigurasikan semua instance baru untuk memerlukan IMDSv2. Dengan kata lain, nonaktifkan IMDSv1 pada semua instance yang ada dan baru.
-
Konfigurasikan instans yang ada untuk memerlukan IMDSv2:
catatan
Anda dapat mengubah pengaturan ini pada instans yang sedang berjalan. Perubahan mulai berlaku segera tanpa perlu restart instance.
Untuk informasi selengkapnya, lihat Mengharuskan penggunaan IMDSv2.
-
Pantau masalah setelah menonaktifkan IMDSv1:
-
Lacak berapa kali panggilan IMDSv1 dicoba dan ditolak dengan metrik.
MetadataNoTokenRejectedCloudWatch -
Jika
MetadataNoTokenRejectedmetrik mencatat panggilan IMDSv1 pada instance yang mengalami masalah perangkat lunak, ini menunjukkan bahwa perangkat lunak memerlukan pembaruan untuk menggunakan IMDSv2.
-
-
Konfigurasikan instans baru untuk memerlukan IMDSv2:
Langkah 4: Setel IMDSv2 = Diperlukan sebagai default
Anda dapat mengatur IMDSV2=wajib sebagai konfigurasi default baik di tingkat akun atau organisasi. Ini memastikan bahwa semua instans yang baru diluncurkan secara otomatis dikonfigurasi untuk memerlukan IMDSv2.
-
Tetapkan default tingkat akun:
Untuk informasi selengkapnya, lihat Setel IMDSv2 sebagai default untuk akun.
-
Atau, atur default tingkat organisasi menggunakan Kebijakan Deklaratif:
Gunakan Kebijakan Deklaratif untuk mengatur default organisasi untuk IMDSv2 menjadi wajib. Untuk contoh kebijakan, lihat tab Metadata Instance di bagian Kebijakan deklaratif yang didukung di Panduan AWS Organizations Pengguna.
Langkah 5: Menerapkan instans untuk memerlukan IMDSv2
Setelah Anda mengonfirmasi bahwa tidak ada ketergantungan pada IMDSv1 pada instans mana pun, sebaiknya Anda menerapkan IMDSv2 pada semua instans baru.
Gunakan salah satu opsi berikut untuk menerapkan IMDSv2:
-
Menegakkan IMDSv2 dengan properti akun
Anda dapat menerapkan penggunaan IMDSv2 di tingkat akun untuk masing-masing. Wilayah AWS Saat diterapkan, instance hanya dapat diluncurkan jika dikonfigurasi untuk memerlukan IMDSv2. Penegakan ini berlaku terlepas dari bagaimana instance atau AMI dikonfigurasi. Untuk informasi selengkapnya, lihat Menerapkan IMDSv2 di tingkat akun. Untuk menerapkan pengaturan ini di tingkat organisasi, tetapkan Kebijakan Deklaratif. Untuk contoh kebijakan, lihat tab Metadata Instance di bagian Kebijakan deklaratif yang didukung di Panduan AWS Organizations Pengguna.
Untuk mencegah pembalikan penegakan, Anda harus menggunakan kebijakan IAM untuk mencegah akses ke ModifyInstanceMetadataDefaults API. Untuk informasi selengkapnya, lihat Gunakan kebijakan IAM.
catatan
Pengaturan ini tidak mengubah versi IMDS dari instans yang ada, tetapi memblokir mengaktifkan IMDSv1 pada instans yang saat ini menonaktifkan IMDSv1.
Awas
Jika penegakan IMDSv2 diaktifkan dan
httpTokenstidak disetel kerequiredkonfigurasi instans saat peluncuran, pengaturan akun, atau konfigurasi AMI, peluncuran instance akan gagal. Untuk informasi pemecahan masalah, lihat Meluncurkan IMDSv1-enabled instance gagal. -
Atau, terapkan IMDSv2 dengan menggunakan kunci kondisi IAM atau SCP berikut:
-
ec2:MetadataHttpTokens -
ec2:MetadataHttpPutResponseHopLimit -
ec2:MetadataHttpEndpoint
Kunci kondisi ini mengontrol penggunaan RunInstances dan ModifyInstanceMetadataOptions API serta CLI yang sesuai. 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
-