Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penyedia kredensi proses
catatan
Untuk bantuan dalam memahami tata letak halaman pengaturan, atau dalam menafsirkan tabel Support by AWS SDKs and tools berikut, lihatMemahami halaman pengaturan panduan ini.
SDKs menyediakan cara untuk memperluas rantai penyedia kredensyal untuk kasus penggunaan khusus. Penyedia ini dapat digunakan untuk menyediakan implementasi kustom, seperti mengambil kredensional dari penyimpanan kredensional lokal atau mengintegrasikan dengan penyedia identifikasi lokal Anda.
Misalnya, IAM Roles Anywhere digunakan credential_process
untuk mendapatkan kredensyal sementara atas nama aplikasi Anda. credential_process
Untuk mengonfigurasi penggunaan ini, lihatMenggunakan Peran IAM Di Mana Saja untuk mengautentikasi dan AWS SDKs alat.
catatan
Berikut ini menjelaskan metode sumber kredensional dari proses eksternal dan dapat digunakan jika Anda menjalankan perangkat lunak di luar. AWS Jika Anda membangun sumber daya AWS komputasi, gunakan penyedia kredensi lainnya. Jika menggunakan opsi ini, Anda harus memastikan bahwa file konfigurasi dikunci sebanyak mungkin menggunakan praktik terbaik keamanan untuk sistem operasi Anda. Konfirmasikan bahwa alat kredensi khusus Anda tidak menulis informasi rahasia apa punStdErr
, karena SDKs 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 kredensi 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. Memahami 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 nilai, 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. Jalur bervariasi tergantung pada sistem operasi: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"
-
Dapat ditentukan dalam profil khusus:
[profile
cred_process
] credential_process =/Users/username/process.sh
region =us-east-1
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 RFC3339 waktu yang diformat. 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.
Support oleh AWS SDKs dan alat
Berikut ini SDKs 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 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 | |
SDK para Swift | Ya | |
Alat untuk PowerShell | Ya |