Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Proseskan penyedia kredenSIAL
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.
SDK menyediakan cara untuk memperluas rantai penyedia kredensia untuk kasus penggunaan khusus. Penyedia ini dapat digunakan untuk menyediakan implementasi kustom, seperti mengambil kredenSIAL dari penyimpanan kredenSIAL lokal atau mengintegrasikan dengan penyedia identifikasi lokal Anda.
Misalnya, IAM Roles Anywhere digunakan credential_process untuk mendapatkan kredenSIAL sementara atas nama aplikasi Anda. credential_processUntuk mengkonfigurasi penggunaan ini, lihatMenggunakan Peran IAM Di Mana Saja untuk mengautentikasi dan AWS SDKs alat.
penting
Peng credential_process aturan menjalankan program eksternal pada sistem Anda untuk mengambil kredenSIAL. Pastikan Anda mempercayai program yang ditentukan dalam pengaturan ini, karena siapa pun yang memiliki akses menulis ke config file bersama Anda dapat mengubah perintah yang dijalankan. Lindungi config file Anda dengan izin sistem file yang sesuai untuk sistem operasi Anda.
catatan
Berikut ini menjelaskan metode sumber kredenSIAL dari proses eksternal dan mungkin digunakan jika Anda menjalankan perangkat lunak di luar AWS. Jika Anda membangun sumber daya AWS komputasi, gunakan penyedia kredensia lainnya. Jika menggunakan opsi ini, Anda harus memastikan bahwa file konfigurasi terkunci sebanyak mungkin menggunakan praktik terbaik keamanan untuk sistem operasi Anda. Konfirmasikan bahwa alat kredensi kustom Anda tidak menulis informasi rahasia apa punStdErr, karena SDK AWS CLI dapat menangkap dan mencatat informasi tersebut, berpotensi mengeksposnya kepada pengguna yang tidak sah.
Konfigurasikan fungsionalitas ini dengan menggunakan yang berikut:
credential_process- pengaturan AWSconfigfile bersama-
Menentukan perintah eksternal yang dijalankan SDK atau alat atas nama Anda untuk menghasilkan atau mengambil kredentif otentikasi untuk digunakan. Pengaturan menentukan nama a program/command yang akan dipanggil SDK. Ketika SDK memanggil proses, ia menunggu proses untuk menulis data JSON.
stdoutPenyedia kustom harus mengembalikan informasi dalam format tertentu. Informasi tersebut berisi kredenSIAL yang dapat digunakan SDK atau alat untuk mengotentikasi Anda.
catatan
Penyedia kredensi proses adalah bagian dariMemahami rantai penyedia kredensi. Namun, penyedia kredensi proses 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 proses dalam kode. Anda dapat menentukan sumber kredensi secara langsung saat membuat klien layanan.
Menentukan jalur ke program kredenSIAL
Nilai pengaturan adalah string yang berisi jalur ke program yang dijalankan SDK atau alat pengembangan atas nama Anda:
-
Nama jalur dan file hanya dapat terdiri dari karakter ini: A-Z, a-z, 0-9, tanda hubung (-), garis bawah (_), titik (.), garis miring maju (/), garis miring terbalik (\), dan spasi.
-
Jika jalur atau nama file berisi spasi, kelilingi jalur lengkap dan nama file dengan tanda kutip ganda (” “).
-
Jika nama parameter atau nilai parameter berisi spasi, kelilingi elemen itu dengan tanda kutip ganda (” “). Kelilingi hanya nama atau nilai, bukan pasangan.
-
Jangan sertakan variabel lingkungan apa pun dalam string. Misalnya, jangan sertakan
$HOMEatau%USERPROFILE%. -
Jangan tentukan folder beranda sebagai
~. * Anda harus menentukan jalur lengkap atau nama file dasar. Jika ada nama file dasar, sistem mencoba untuk menemukan program dalam folder yang ditentukan oleh variabelPATHlingkungan. Jalur bervariasi tergantung pada sistem operasi:Contoh berikut menunjukkan pengaturan credential_process dalam file bersama
configaktif. Linux/macOScredential_process ="/path/to/credentials.sh" parameterWithoutSpaces "parameter with spaces"Contoh berikut menunjukkan pengaturan credential_process dalam
configfile bersama di Windows.credential_process ="C:\Path\To\credentials.cmd" parameterWithoutSpaces "parameter with spaces" -
Dapat ditentukan dalam profil khusus:
[profilecred_process] credential_process =/Users/username/process.shregion =us-east-1
Output yang valid dari program kredenSIAL
SDK menjalankan perintah seperti yang ditentukan dalam profil dan kemudian membaca data dari aliran keluaran standar. Perintah yang Anda tentukan, apakah skrip atau program biner, harus menghasilkan output JSON STDOUT yang cocok dengan sintaks berikut.
{ "Version": 1, "AccessKeyId": "an AWS access key", "SecretAccessKey": "your AWS secret access key", "SessionToken": "the AWS session token for temporary credentials", "Expiration": "RFC3339 timestamp for when the credentials expire", "AccountId": "the AWS account ID associated with these credentials" }
catatan
Pada tulisan ini, Version kunci harus diatur ke1. Ini mungkin meningkat seiring waktu seiring berkembangnya struktur.
Kuncin Expiration ya adalah stempel waktu berformat RFC3339. Jika Expiration kunci tidak ada dalam output alat, SDK mengasumsikan bahwa kredensialnya adalah kredenSIAL jangka panjang yang tidak di-refresh. Jika tidak, kredenSIAL dianggap kredenSIAL sementara, dan secara otomatis diperbarui dengan menjalankan kembali credential_process perintah sebelum kredenSIAL kedaluwarsa.
catatan
SDK tidak menyimpan kreden tif proses eksternal seperti kredenSIAL ASUM-role. Jika caching diperlukan, Anda harus menerapkannya dalam proses eksternal.
catatan
AccountIdbersifat opsional sehingga kredenSIAL berfungsi tanpanya, tetapi menyediakannya memungkinkan resolusi titik akhir yang dioptimalkan untuk layanan yang mendukungnya. Ketika SDK mengetahui akun mana yang dimiliki kredensialnya, AWS layanan tertentu dapat menggunakan titik akhir khusus akun. Misalnya Amazon S3 dapat merutekan permintaan ke titik akhir dengan cakupan akun, bukan titik akhir global. TanpaAccountId, SDK harus bergantung pada mekanisme lain untuk menentukan akun, atau SDK tidak dapat menggunakan perutean titik akhir berbasis akun.
Proses eksternal dapat mengembalikan kode pengembalian bukan nol untuk menunjukkan bahwa kesalahan terjadi saat mengambil kredenSIAL.
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 | Ya | |
| SDK untuk JavaScript 3.x | Ya | |
| SDK untuk JavaScript 2.x | Ya | |
| SDK para Kotlin | Ya | |
| 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 | |
| SDK para Swift | Ya | |
| Alat untuk PowerShell V5 | Ya | |
| Alat untuk PowerShell V4 | Ya |