Transisi ke penggunaan Layanan Metadata Instans Versi 2 - Amazon Elastic Compute Cloud

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 SDKs dukungan IMDSv2. Untuk menggunakanIMDSv2, perbarui EC2 instans 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 ImdsPacketAnalyzerdi 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 menggunakan MetadataNoTokenRejected metrik 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 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 EC2 Auto Scaling Amazon: Untuk mewajibkan IMDSv2 penggunaan pada semua instans baru yang diluncurkan oleh grup Amazon Auto EC2 Scaling, grup Amazon EC2 Auto Scaling Anda dapat menggunakan templat peluncuran atau konfigurasi peluncuran. Saat Anda membuat template peluncuran atau membuat konfigurasi peluncuran, Anda harus mengonfigurasi MetadataOptions parameter agar memerlukan penggunaanIMDSv2. Grup EC2 Auto Scaling Amazon meluncurkan instance baru menggunakan templat peluncuran baru atau konfigurasi peluncuran, tetapi instance yang ada tidak terpengaruh.

Instans yang ada di grup EC2 Auto Scaling Amazon: Gunakan ModifyInstanceMetadataOptionsAPI untuk meminta penggunaan IMDSv2 pada instans yang ada, atau menghentikan instans dan grup Auto EC2 Scaling Amazon akan meluncurkan instance pengganti baru dengan setelan opsi metadata instans yang ditentukan dalam templat peluncuran baru atau konfigurasi peluncuran.

AMIs

AMIs dikonfigurasi dengan ImdsSupport parameter yang disetel ke v2.0 akan meluncurkan instance yang membutuhkan secara IMDSv2 default. Amazon Linux 2023 dikonfigurasi denganImdsSupport = v2.0.

Baru AMIs: Gunakan perintah CLI register-image untuk mengatur parameter ImdsSupport v2.0 saat membuat AMI baru.

AMIsExisting: Gunakan perintah modify-image-attributeCLI untuk mengatur ImdsSupport parameter v2.0 saat memodifikasi AMI yang ada.

Untuk informasi selengkapnya, lihat Konfigurasikan AMI.

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 sedang berjalan 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. UnauthorizedOperation

Selanjutnya, Anda dapat memilih lapisan perlindungan tambahan untuk menegakkan perubahan dari IMDSv1 ke IMDSv2. Pada lapisan manajemen akses sehubungan dengan kredensi APIs panggilan via EC2 Peran, Anda dapat menggunakan kunci kondisi baik dalam kebijakan IAM atau kebijakan kontrol AWS Organizations layanan (). SCPs Secara khusus, dengan menggunakan kunci kondisi ec2:RoleDelivery dengan nilai 2.0 dalam kebijakan IAM Anda, panggilan API yang dilakukan dengan kredenal EC2 Peran yang diperoleh dari IMDSv1 akan menerima respons. UnauthorizedOperation Hal 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 dan menerapkan secara terpusat IMDSv2 sebagai versi IMDS default di seluruh organisasi Anda. Untuk kebijakan contoh, lihat tab Default Metadata Instans di bagian Kebijakan deklaratif yang didukung di Panduan Pengguna.AWS Organizations

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.

  1. Identifikasi instance yang dikonfigurasi untuk mengizinkan salah satu IMDSv1 atau IMDSv2:

    Amazon EC2 console
    1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

    2. Di panel navigasi, pilih Instans.

    3. Untuk melihat hanya instance yang dikonfigurasi untuk mengizinkan IMDSv1 atau IMDSv2, tambahkan filter IMDSv2 = opsional.

    4. Atau, untuk melihat IMDSv2 apakah opsional atau wajib untuk semua instance, buka jendela Preferensi (ikon roda gigi), aktifkan IMDSv2, dan pilih Konfirmasi. Ini menambahkan IMDSv2kolom ke tabel Instances.

    AWS CLI

    Gunakan perintah describe-instance dan filter denganmetadata-options.http-tokens = optional, sebagai berikut:

    aws ec2 describe-instances --filters "Name=metadata-options.http-tokens,Values=optional" --query "Reservations[*].Instances[*].[InstanceId]" --output text
  2. IMDSv1 Panggilan audit pada setiap instance:

    Gunakan CloudWatch metrikMetadataNoToken. Metrik ini menunjukkan jumlah IMDSv1 panggilan ke IMDS pada instans Anda. Untuk informasi selengkapnya, lihat Metrik instans.

  3. 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.

  1. Konfigurasikan instance yang ada untuk membutuhkanIMDSv2:

    Amazon EC2 console
    1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

    2. Di panel navigasi, pilih Instans.

    3. Pilih instans Anda.

    4. Pilih Tindakan, Pengaturan instans, Ubah opsi metadata instans.

    5. Untuk IMDSv2, pilih Diperlukan.

    6. Pilih Simpan.

    AWS CLI

    Gunakan perintah modify-instance-metadata-optionsCLI untuk menentukan bahwa hanya IMDSv2 yang akan digunakan.

    catatan

    Anda dapat mengubah pengaturan ini saat menjalankan instance. Perubahan segera berlaku tanpa memerlukan instance restart.

    Untuk informasi selengkapnya, lihat Membutuhkan penggunaan IMDSv2.

  2. Pantau masalah setelah menonaktifkanIMDSv1:

    1. Lacak berapa kali IMDSv1 panggilan dicoba dan ditolak dengan MetadataNoTokenRejected CloudWatch metrik.

    2. Jika catatan MetadataNoTokenRejected metrik IMDSv1 memanggil instance yang mengalami masalah perangkat lunak, ini menunjukkan bahwa perangkat lunak memerlukan pembaruan untuk digunakan IMDSv2.

  3. Konfigurasikan instance baru untuk membutuhkanIMDSv2:

    Amazon EC2 console
    1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

    2. Ikuti langkah-langkah untuk meluncurkan instance.

    3. Perluas Detail lanjutan, dan untuk versi Metadata, pilih V2 saja (diperlukan token).

    4. Di panel Summary, tinjau konfigurasi instans Anda, lalu pilih Launch instans.

      Untuk informasi selengkapnya, lihat Konfigurasikan instans saat peluncuran.

    AWS CLI

    AWS CLI: Gunakan perintah run-instance dan tentukan yang IMDSv2 diperlukan.

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.

  1. Tetapkan default tingkat akun:

    Amazon EC2 console
    1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

    2. Di EC2 Dasbor, di bawah atribut Akun, pilih Perlindungan dan keamanan data.

    3. Di bawah default IMDS, pilih Kelola.

    4. Untuk layanan metadata Instance, pilih Diaktifkan.

    5. Untuk versi Metadata, pilih V2 saja (diperlukan token).

    6. Pilih Perbarui.

    AWS CLI

    Gunakan perintah modify-instance-metadata-defaultsCLI dan tentukan --http-tokens required dan. --http-put-response-hop-limit 2

    Untuk informasi selengkapnya, lihat Tetapkan IMDSv2 sebagai default untuk akun.

  2. Atau, tetapkan default tingkat organisasi menggunakan Kebijakan Deklaratif:

    Gunakan Kebijakan Deklaratif untuk menyetel default organisasi IMDSv2 menjadi required. Untuk kebijakan contoh, lihat tab Default Metadata Instans di bagian Kebijakan deklaratif yang didukung di Panduan Pengguna.AWS Organizations

Langkah 5: Menerapkan instance untuk membutuhkan IMDSv2

Gunakan kunci kondisi IAM atau SCP berikut untuk menerapkan IMDSv2 penggunaan:

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

Misalnya kebijakan IAM, lihat .Cara menggunakan metadata instans