Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penyedia kredensi proses
SDK menyediakan cara untuk memperluas rantai penyedia kredensyal untuk kasus penggunaan khusus.
IAM Roles Anywhere menyediakan cara untuk mendapatkan kredensyal sementara untuk beban kerja atau proses yang berjalan di luar. AWScredential_process
Untuk mengonfigurasi penggunaan ini, lihatPeran IAM Di Mana Saja.
Awas
Berikut ini menjelaskan metode sumber kredensyal dari proses eksternal. Ini berpotensi berbahaya, jadi lanjutkan dengan hati-hati. Penyedia kredensi lainnya harus lebih disukai jika memungkinkan. Jika menggunakan opsi ini, Anda harus memastikan bahwa config
file tersebut dikunci semaksimal mungkin menggunakan praktik terbaik keamanan untuk sistem operasi Anda. Konfirmasikan bahwa alat kredensi kustom Anda tidak menulis informasi rahasia apa punStdErr
, karena SDK dan AWS CLI dapat menangkap dan mencatat informasi tersebut, berpotensi mengeksposnya kepada pengguna yang tidak sah.
Konfigurasikan fungsi ini dengan menggunakan yang berikut ini:
credential_process
- Pengaturan AWSconfig
file bersama-
Menentukan perintah eksternal yang dijalankan SDK atau alat atas nama Anda untuk menghasilkan atau mengambil kredensyal otentikasi untuk digunakan. Pengaturan menentukan nama program/perintah yang akan dipanggil SDK. Ketika SDK memanggil proses, ia menunggu proses untuk menulis data JSON.
stdout
Penyedia kustom harus mengembalikan informasi dalam format tertentu. Informasi tersebut berisi kredensyal yang dapat digunakan SDK atau alat untuk mengautentikasi Anda.
catatan
Penyedia kredensi proses adalah bagian dari. Rantai penyedia kredensi Namun, penyedia kredensi proses hanya diperiksa setelah beberapa penyedia lain yang ada di seri ini. Oleh karena itu, jika Anda ingin program Anda menggunakan kredensi penyedia ini, Anda harus menghapus penyedia kredensi valid lainnya dari konfigurasi Anda atau menggunakan profil yang berbeda. Atau, alih-alih mengandalkan rantai penyedia kredensi untuk secara otomatis menemukan penyedia mana yang mengembalikan kredensi yang valid, tentukan penggunaan penyedia kredensi proses dalam kode. Anda dapat menentukan sumber kredensi secara langsung saat Anda membuat klien layanan.
Menentukan jalur ke program kredensyal
Nilai setelan adalah string yang berisi jalur ke program yang dijalankan SDK atau alat pengembangan atas nama Anda:
-
Jalur dan nama file hanya dapat terdiri dari karakter-karakter ini: A-Z, a-z, 0-9, tanda hubung (-), garis bawah (_), periode (.), 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 tersebut dengan tanda kutip ganda (“”). Kelilingi hanya nama atau nilainya, bukan pasangannya.
-
Jangan sertakan variabel lingkungan apa pun dalam string. Misalnya, jangan sertakan
$HOME
atau%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 variabelPATH
lingkungan.Contoh berikut menunjukkan pengaturan credential_process dalam file bersama
config
di Linux/macOS.credential_process =
"/path/to/credentials.sh" parameterWithoutSpaces "parameter with spaces"
Contoh berikut menunjukkan pengaturan credential_process dalam file bersama
config
pada Windows.credential_process =
"C:\Path\To\credentials.cmd" parameterWithoutSpaces "parameter with spaces"
Output yang valid dari program kredensyal
SDK menjalankan perintah seperti yang ditentukan dalam profil dan kemudian membaca data dari aliran output 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
" }
catatan
Pada tulisan ini, Version
kuncinya harus diatur ke1
. Ini mungkin meningkat seiring waktu seiring berkembangnya struktur.
Expiration
Kuncinya adalah stempel waktu berformat RFC3339. Jika Expiration
kunci tidak ada dalam output alat, SDK mengasumsikan bahwa kredensialnya adalah kredensial jangka panjang yang tidak disegarkan. Jika tidak, kredensialnya dianggap sebagai kredensial sementara, dan secara otomatis disegarkan dengan menjalankan kembali perintah sebelum kredensialnya kedaluwarsa. credential_process
catatan
SDK tidak menyimpan kredensyal proses eksternal seperti halnya kredensyal peran asumsi. Jika caching diperlukan, Anda harus menerapkannya dalam proses eksternal.
Proses eksternal dapat mengembalikan kode pengembalian bukan nol untuk menunjukkan bahwa kesalahan terjadi saat mengambil kredensi.
Kompatibilitas dengan AWS SDK
SDK berikut mendukung fitur dan pengaturan yang dijelaskan dalam topik ini. Setiap pengecualian sebagian dicatat. Setiap pengaturan properti sistem JVM didukung oleh AWS SDK for Java dan satu-satunya. AWS SDK for Kotlin
SDK | Didukung | Catatan atau informasi lebih lanjut |
---|---|---|
AWS CLI v2 | Ya | |
SDK for C++ | Ya | |
SDK for Go V2 (1.x) |
Ya | |
SDK for Go 1.x (V1) | Ya | Untuk menggunakan pengaturan config file bersama, Anda harus mengaktifkan pemuatan dari file konfigurasi; lihat Sesi. |
SDK for Java 2.x | Ya | |
SDK for Java 1.x | Ya | |
SDK untuk 3.x JavaScript | Ya | |
SDK untuk 2.x JavaScript | Ya | |
SDK para Kotlin | Ya | |
SDK for .NET 3.x | Ya | |
SDK for PHP 3.x | Ya | |
SDK untuk Python (Boto3) |
Ya | |
SDK for Ruby 3.x | Ya | |
SDK untuk Rust | Ya | |
Alat untuk PowerShell | Ya |