Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penyedia kredensia IMDS
catatan
Untuk bantuan dalam memahami tata letak halaman pengaturan, atau dalam menafsirkan tabel AWS Dukungan oleh SDK dan alat berikut, lihatMemahami halaman pengaturan panduan ini.
Instance Metadata Service (IMDS) menyediakan data tentang instans yang dapat Anda gunakan untuk mengonfigurasi atau mengelola instans yang sedang berjalan. Untuk informasi selengkapnya tentang data yang tersedia, lihat Bekerja dengan metadata instans di Panduan Pengguna Amazon EC2. Amazon EC2 menyediakan titik akhir lokal yang tersedia untuk instans yang dapat memberikan berbagai bit informasi ke instans. Jika instance memiliki peran yang dilampirkan, instans dapat menyediakan kumpulan kredenSIAL yang valid untuk peran tersebut. SDK dapat menggunakan titik akhir tersebut untuk menyelesaikan kredenSIAL sebagai bagian dari rantai penyedia kredensia default mereka. Instance Metadata Service Version 2 (IMDSv2), versi IMDS yang lebih aman yang menggunakan token sesi, digunakan secara default. Jika gagal karena kondisi yang tidak dapat dicoba ulang (kode kesalahan HTTP 403, 404, 405), IMDSv1 digunakan sebagai fallback.
Konfigurasikan fungsi ini dengan menggunakan yang berikut:
AWS_EC2_METADATA_DISABLED- variabel lingkungan-
Apakah mencoba menggunakan Amazon EC2 Instance Metadata Service (IMDS) untuk mendapatkan kredenSIAL atau tidak.
Nilai default:
false.Nilai yang valid:
-
true— Jangan gunakan IMDS untuk mendapatkan kredenSIAL. -
false— Gunakan IMDS untuk mendapatkan kredenSIAL.
-
ec2_metadata_v1_disabled- pengaturan AWSconfigfile bersamaAWS_EC2_METADATA_V1_DISABLED- variabel lingkunganaws.disableEc2MetadataV1- Properti sistem JVM: hanya Java/Kotlin-
Apakah akan menggunakan Instance Metadata Service Version 1 (IMDSv1) sebagai fallback jika IMDSv2 gagal.
catatan
SDK baru tidak mendukung IMDSv1 dan, karenanya, tidak mendukung pengaturan ini. Untuk detailnya, lihat tabelDukungan oleh AWS SDK dan alat.
Nilai default:
false.Nilai yang valid:
-
true— Jangan gunakan IMDSv1 sebagai fallback. -
false— Gunakan IMDSv1 sebagai fallback.
-
ec2_metadata_service_endpoint- pengaturan AWSconfigfile bersamaAWS_EC2_METADATA_SERVICE_ENDPOINT- variabel lingkunganaws.ec2MetadataServiceEndpoint- Properti sistem JVM: hanya Java/Kotlin-
Titik akhir dari IMDS. Nilai ini menggantikan lokasi default yang akan dicari AWS oleh SDK dan alat untuk metadata instans Amazon EC2.
Nilai default: Jika
ec2_metadata_service_endpoint_modesamaIPv4, maka titik akhir default adalahhttp://169.254.169.254. Jikaec2_metadata_service_endpoint_modesamaIPv6, maka titik akhir default adalahhttp://[fd00:ec2::254].Nilai yang valid: URI yang valid.
ec2_metadata_service_endpoint_mode- pengaturan AWSconfigfile bersamaAWS_EC2_METADATA_SERVICE_ENDPOINT_MODE- variabel lingkunganaws.ec2MetadataServiceEndpointMode- Properti sistem JVM: hanya Java/Kotlin-
Mode titik akhir IMDS.
Nilai default:
IPv4.Nilai yang valid:
IPv4,IPv6.
catatan
Penyedia kredensi IMDS adalah bagian dari. Memahami rantai penyedia kredensi Namun, penyedia kredensia IMDS hanya diperiksa setelah beberapa penyedia lain yang ada dalam seri ini. Oleh karena itu, jika Anda ingin program Anda menggunakan kredenSIAL penyedia ini, Anda harus menghapus penyedia kredensia valid lainnya dari konfigurasi Anda atau menggunakan profil yang berbeda. Atau, alih-alih mengandalkan rantai penyedia kredensia untuk secara otomatis menemukan penyedia mana yang mengembalikan kredenSIAL yang valid, tentukan penggunaan penyedia kredensia IMDS dalam kode. Anda dapat menentukan sumber kredensi secara langsung saat membuat klien layanan.
Keamanan untuk kredenSIAL IMDS
Secara default, ketika AWS SDK tidak dikonfigurasi dengan kredenSIAL yang valid, SDK akan mencoba menggunakan Amazon EC2 Instance Metadata Service (IMDS) untuk mengambil kredenSIAL untuk suatu AWS peran. Perilaku ini dapat dinonaktifkan dengan menyet AWS_EC2_METADATA_DISABLED el variabel lingkungan ketrue. Ini mencegah aktivitas jaringan yang tidak perlu dan meningkatkan keamanan pada jaringan yang tidak tepercaya di mana Layanan Metadata Instans Amazon EC2 mungkin ditiru.
catatan
AWS Klien SDK yang dikonfigurasi dengan kredenSIAL yang valid tidak akan pernah menggunakan IMDS untuk mengambil kredenSIAL, terlepas dari pengaturan ini.
Menonaktifkan penggunaan kredenSIAL IMDS Amazon EC2
Bagaimana Anda mengatur variabel lingkungan ini tergantung pada sistem operasi apa yang digunakan serta apakah Anda ingin perubahan menjadi persisten atau tidak.
Linux dan macOS
Pelanggan yang menggunakan Linux atau macOS dapat mengatur variabel lingkungan ini dengan perintah berikut:
$ export AWS_EC2_METADATA_DISABLED=true
Jika Anda ingin pengaturan ini tetap bertahan di beberapa sesi shell dan sistem restart, Anda dapat menambahkan perintah di atas ke file profil shell Anda, seperti.bash_profile,.zsh_profile, atau.profile.
Windows
Pelanggan yang menggunakan Windows dapat mengatur variabel lingkungan ini dengan perintah berikut:
$ set AWS_EC2_METADATA_DISABLED=true
Jika Anda ingin pengaturan ini tetap di beberapa sesi shell dan restart sistem dapat menggunakan perintah berikut sebagai gantinya:
$ setx AWS_EC2_METADATA_DISABLED=true
catatan
Per setx intah tidak menerapkan nilai ke sesi shell saat ini, jadi Anda perlu memuat ulang atau membuka kembali shell agar perubahan berlaku.
Dukungan oleh AWS SDK dan alat
SDK berikut mendukung fitur dan pengaturan yang dijelaskan dalam topik ini. Setiap pengecualian sebagian dicatat. Setiap pengaturan properti sistem JVM didukung oleh AWS SDK untuk Java dan AWS SDK untuk Kotlin satu-satunya.
| SDK | Didukung | Catatan atau informasi lebih lanjut |
|---|---|---|
| AWS CLI v2 | Ya | |
| SDK untuk C++ | Ya | |
| SDK untuk Go V2 (1.x) | Ya | |
| SDK untuk Go 1.x (V1) | Ya | Untuk menggunakan pengaturan config file bersama, Anda harus mengaktifkan pemuatan dari file konfigurasi; lihat S esi. |
| SDK untuk Java 2.x | Ya | |
| SDK untuk Java 1.x | Parsial | Properti sistem JVM: Gunakan al com.amazonaws.sdk.disableEc2MetadataV1 ih-alihaws.disableEc2MetadataV1; aws.ec2MetadataServiceEndpoint dan aws.ec2MetadataServiceEndpointMode tidak didukung. |
| SDK untuk JavaScript 3.x | Ya | |
| SDK untuk JavaScript 2.x | Ya | |
| SDK para Kotlin | Ya | Tidak menggunakan fallback IMDSv1. |
| SDK untuk.NET 4.x | Ya | |
| SDK untuk.NET 3.x | Ya | |
| SDK para PHP 3.x | Ya | |
| SDK untuk Python (Boto3) | Ya | |
| SDK para Ruby 3.x | Ya | |
| SDK para Rust | Ya | Tidak menggunakan fallback IMDSv1. |
| SDK para Swift | Ya | |
| Alat untuk PowerShell V5 | Ya | Anda dapat menonaktifkan fallback IMDSv1 secara eksplisit dalam kode menggunakan. [Amazon.Util.EC2InstanceMetadata]::EC2MetadataV1Disabled = $true |
| Alat untuk PowerShell V4 | Ya | Anda dapat menonaktifkan fallback IMDSv1 secara eksplisit dalam kode menggunakan. [Amazon.Util.EC2InstanceMetadata]::EC2MetadataV1Disabled = $true |