Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memuat kredensi sementara dari proses eksternal
Awas
Berikut ini menjelaskan metode sumber kredensil sementara 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.
Pastikan alat kredensi kustom Anda tidak menulis informasi rahasia apa pun. StdErr
SDKsdan AWS CLI dapat menangkap dan mencatat informasi tersebut, berpotensi mengeksposnya kepada pengguna yang tidak sah.
Dengan SDK untuk Java 2.x, Anda dapat memperoleh kredensil sementara dari proses eksternal untuk kasus penggunaan khusus. Ada dua cara untuk mengkonfigurasi fungsi ini.
Gunakan credential_process
pengaturan
Jika Anda memiliki metode yang menyediakan kredensi sementara, Anda dapat mengintegrasikannya dengan menambahkan credential_process
pengaturan sebagai bagian dari definisi profil dalam file. config
Nilai yang Anda tentukan harus menggunakan path lengkap ke file perintah. Jika jalur file berisi spasi apa pun, Anda harus mengelilinginya dengan tanda kutip.
SDKMemanggil perintah persis seperti yang diberikan dan kemudian membaca JSON data daristdout
.
Contoh berikut menunjukkan penggunaan pengaturan ini untuk jalur file tanpa spasi dan jalur file dengan spasi.
Cuplikan kode berikut menunjukkan cara membangun klien layanan yang menggunakan kredenal sementara yang didefinisikan sebagai bagian dari profil bernama. process-credential-profile
Region region = Region.US_WEST_2; S3Client s3Client = S3Client.builder() .region(region) .credentialsProvider(ProfileCredentialsProvider.create("process-credential-profile")) .build();
Untuk informasi rinci tentang menggunakan proses eksternal sebagai sumber kredensional sementara, lihat bagian kredensial proses di Panduan Referensi AWS SDKs dan Alat.
Gunakan ProcessCredentialsProvider
Sebagai alternatif untuk menggunakan pengaturan dalam config
file, Anda dapat menggunakan SDK's ProcessCredentialsProvider
untuk memuat kredensi sementara menggunakan Java.
Contoh berikut menunjukkan berbagai versi cara menentukan proses eksternal menggunakan ProcessCredentialsProvider
dan mengkonfigurasi klien layanan yang menggunakan kredensi sementara.
Gunakan IAM Peran Di Mana Saja untuk otentikasi
IAMRoles Anywhere adalah sebuah Layanan AWS yang memungkinkan Anda memperoleh AWS kredensi sementara untuk beban kerja yang berjalan di luar. AWS Ini memungkinkan akses aman ke AWS sumber daya dari lingkungan cloud lokal atau lainnya.
Sebelum Anda dapat mengautentikasi permintaan dengan IAM Peran Di Mana Saja, Anda harus terlebih dahulu mengumpulkan informasi yang diperlukan dan mengunduh alat pembantu kredenal. Dengan mengikuti petunjuk Memulai di Panduan Pengguna IAM Peran Di Mana Saja, Anda dapat membuat artefak yang diperlukan.
Gunakan credential_process
pengaturan di profil
Cuplikan berikut dalam file AWS
konfigurasi bersama menunjukkan profil bernama roles_anywhere
yang menggunakan setelan: credential_process
[profile roles_anywhere] credential_process =
./
aws_signing_helper credential-process \ --certificate/path/to/certificate
\ --private-key/path/to/private-key
\ --trust-anchor-arn arn:aws:rolesanywhere:region
:account
:trust-anchor/TA_ID
\ --profile-arn arn:aws:rolesanywhere:region
:account
:profile/PROFILE_ID
\ --role-arn arn:aws:iam::account
:role/role-name-with-path
Anda perlu mengganti teks yang ditampilkan dengan warna merah dengan nilai-nilai Anda setelah Anda mengumpulkan semua artefak. Elemen pertama dalam pengaturan,aws_signing_helper
, adalah executable dari alat pembantu kredenal dan credential-process
merupakan perintah.
Saat Anda mengonfigurasi klien layanan untuk menggunakan roles_anywhere
profil—seperti yang ditunjukkan dalam kode berikut—akan menyimpan kredensi sementara dan SDK menyegarkannya sebelum kedaluwarsa:
S3Client s3Client = S3Client.builder() .credentialsProvider(ProfileCredentialsProvider.builder() .profileName("roles_anywhere").build()) .build();
Konfigurasikan a ProcessCredentialsProvider
Seperti yang ditunjukkan selanjutnya, Anda dapat menggunakan pendekatan kode saja dengan ProcessCredentialsProvider
alih-alih menggunakan pengaturan profil:
ProcessCredentialsProvider processCredentialsProvider = ProcessCredentialsProvider.builder() .command("""
./
aws_signing_helper credential-process \ --certificate/path/to/certificate
\ --private-key/path/to/private-key
\ --trust-anchor-arn arn:aws:rolesanywhere:region
:account
:trust-anchor/TA_ID
\ --profile-arn arn:aws:rolesanywhere:region
:account
:profile/PROFILE_ID
\ --role-arn arn:aws:iam::account
:role/role-name-with-path
""").build(); S3Client s3Client = S3Client.builder() .credentialsProvider(processCredentialsProvider) .build();
Ganti teks yang ditampilkan dengan warna merah dengan nilai Anda setelah Anda mengumpulkan semua artefak.