Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Asumsikan peran penyedia kredensia
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.
Mengasumsikan peran melibatkan penggunaan sekumpulan kredenSIAL keamanan sementara untuk mengakses AWS sumber daya yang mungkin tidak Anda akses jika tidak. Kredensial sementara ini terdiri dari access key ID, secret access key, dan token keamanan.
Untuk mengatur SDK atau alat Anda untuk mengambil peran, Anda harus terlebih dahulu membuat atau mengidentifikasi peran tertentu untuk diasumsikan. Peran IAM diidentifikasi secara unik oleh peran Nama Sumber Daya Amazon (ARN). Peran membangun hubungan kepercayaan dengan entitas lain. Entitas tepercaya yang menggunakan peran tersebut mungkin Layanan AWS merupakan penyedia identitas web atau OIDC, atau federasi SAML. Akun AWS
Setelah peran IAM diidentifikasi, jika Anda dipercaya oleh peran tersebut, Anda dapat mengonfigurasi SDK atau alat untuk menggunakan izin yang diberikan oleh peran tersebut. Untuk melakukan ini, gunakan pengaturan berikut.
Untuk panduan tentang cara memulai menggunakan pengaturan ini, lihat Dengan asumsi peran dengan AWS kredensi untuk mengautentikasi dan alat AWS SDKs dalam panduan ini.
Asumsikan pengaturan penyedia kredensia peran
Konfigurasikan fungsi ini dengan menggunakan yang berikut:
credential_source- pengaturan AWSconfigfile bersama-
Digunakan dalam instans Amazon EC2 atau wadah Amazon Elastic Container Service untuk menentukan di mana SDK atau alat dapat menemukan kredenSIAL yang memiliki izin untuk mengambil peran yang Anda tentukan dengan
role_arnparameter.Nilai default: Tidak ada
Nilai yang valid:
-
Lingkungan - Menentukan bahwa SDK atau alat adalah untuk mengambil kredenSIAL sumber dari variabel lingkungan AWS_ACCESS_KEY_ID dan AWS_SECRET_ACCESS_KEY.
-
Ec2InstanceMetadata- Menentukan bahwa SDK atau alat akan menggunakan peran IAM yang dilampirkan ke profil instans EC2 untuk mendapatkan kredenSIAL sumber.
-
EcsContainer— Menentukan bahwa SDK atau alat akan menggunakan peran IAM yang dilampirkan ke wadah Amazon ECS atau peran IAM yang dilampirkan ke wadah Amazon EKS untuk mendapatkan kredenSIAL sumber.
Anda tidak dapat menentukan keduanya
credential_sourcedansource_profiledalam profil yang sama.Contoh pengaturan ini dalam
configfile untuk menunjukkan bahwa kredenSIAL harus bersumber dari Amazon EC2:credential_source = Ec2InstanceMetadata role_arn = arn:aws:iam::123456789012:role/my-role-name -
duration_seconds- pengaturan AWSconfigfile bersama-
Menentukan durasi maksimum sesi peran, dalam detik.
Pengaturan ini hanya berlaku ketika profil menentukan untuk mengambil peran.
Nilai default: 3600 detik (satu jam)
Nilai yang valid: Nilai dapat berkisar dari 900 detik (15 menit) hingga pengaturan durasi sesi maksimum yang dikonfigurasi untuk peran (yang bisa maksimal 43200 detik, atau 12 jam). Untuk informasi selengkapnya, lihat Melihat Pengaturan Durasi Sesi Maksimum untuk Per an di Panduan Pengguna IAM.
Contoh pengaturan ini dalam
configfile:duration_seconds =43200 external_id- pengaturan AWSconfigfile bersama-
Menentukan pengenal unik yang digunakan oleh pihak ketiga untuk mengambil peran dalam akun pelanggan mereka.
Pengaturan ini hanya berlaku jika profil menentukan untuk mengambil peran dan kebijakan kepercayaan untuk peran tersebut memerlukan nilai untuk
ExternalId. Nilai dipetakan keExternalIdparameter yang diteruskan keAssumeRoleoperasi ketika profil menentukan peran.Nilai default: Tidak ada.
Nilai yang valid: Lihat Cara menggunakan ID Eksternal Saat Memberikan Akses ke Sumber AWS Daya Anda kepada Pihak Keti ga di Panduan Pengguna IAM.
Contoh pengaturan ini dalam
configfile:external_id =unique_value_assigned_by_3rd_party mfa_serial- pengaturan AWSconfigfile bersama-
Menentukan identifikasi atau nomor seri perangkat otentikasi multi-faktor (MFA) yang harus digunakan pengguna saat mengambil peran.
Diperlukan saat mengambil peran di mana kebijakan kepercayaan untuk peran tersebut menyertakan kondisi yang memerlukan otentikasi MFA. Untuk informasi selengkapnya tentang MFA, lihat AWS Multi-factor otentikasi di IAM di Panduan Pengguna IAM.
Nilai default: Tidak ada.
Nilai yang valid: Nilai dapat berupa nomor seri untuk perangkat keras (seperti
GAHT12345678), atau Nama Sumber Daya Amazon (ARN) untuk perangkat MFA virtual. Format ARN adalah:arn:aws:iam::account-id:mfa/mfa-device-nameContoh pengaturan ini dalam
configfile:Contoh ini mengasumsikan perangkat MFA virtual, yang disebut
MyMFADevice, yang telah dibuat untuk akun dan diaktifkan untuk pengguna.mfa_serial =arn:aws:iam::123456789012:mfa/MyMFADevice role_arn- pengaturan AWSconfigfile bersamaAWS_ROLE_ARN- variabel lingkunganaws.roleArn- Properti sistem JVM: hanya Java/Kotlin-
Menentukan Nama Sumber Daya Amazon (ARN) dari peran IAM yang ingin Anda gunakan untuk melakukan operasi yang diminta menggunakan profil ini.
Nilai default: Tidak ada.
Nilai yang valid: Nilai harus berupa ARN dari peran IAM, diformat sebagai berikut:
arn:aws:iam::account-id:role/role-nameSelain itu, Anda juga harus menentukan salah satu pengaturan berikut:
-
source_profile— Untuk mengidentifikasi profil lain yang akan digunakan untuk menemukan kredenSIAL yang memiliki izin untuk mengambil peran dalam profil ini. -
credential_source— Untuk menggunakan kredenSIAL yang diidentifikasi oleh variabel lingkungan saat ini atau kredenSIAL yang dilampirkan ke profil instans Amazon EC2, atau instans kontainer Amazon ECS. -
web_identity_token_file— Untuk menggunakan penyedia identitas publik atau penyedia identitas yang kompatibel dengan OpenID Connect (OIDC) untuk pengguna yang telah diautentikasi dalam aplikasi seluler atau web.
-
role_session_name- pengaturan AWSconfigfile bersamaAWS_ROLE_SESSION_NAME- variabel lingkunganaws.roleSessionName- Properti sistem JVM: hanya Java/Kotlin-
Menentukan nama untuk dilampirkan ke sesi peran. Nama ini muncul di AWS CloudTrail log untuk entri yang terkait dengan sesi ini, yang dapat berguna saat mengaudit. Untuk detailnya, lihat elemen CloudTrail userIdenti ty di Panduan AWS CloudTrail Pengguna.
Nilai default: Parameter opsional. Jika Anda tidak memberikan nilai ini, nama sesi akan dibuat secara otomatis jika profil mengambil peran.
Nilai yang valid: Dis ediakan ke
RoleSessionNameparameter saat AWS API AWS CLI atau memangAssumeRolegil operasi (atau operasi sepertiAssumeRoleWithWebIdentityoperasi) atas nama Anda. Nilai menjadi bagian dari pengguna peran yang diasumsikan Amazon Resource Name (ARN) yang dapat Anda kueri, dan muncul sebagai bagian dari entri CloudTrail log untuk operasi yang dipanggil oleh profil ini.arn:aws:sts::.123456789012:assumed-role/my-role-name/my-role_session_nameContoh pengaturan ini dalam
configfile:role_session_name =my-role-session-name source_profile- pengaturan AWSconfigfile bersama-
Menentukan profil lain yang kredensialnya digunakan untuk mengambil peran yang ditentukan oleh
role_arnpengaturan di profil asli. Untuk memahami bagaimana profil digunakan dalam file bersama AWSconfigdancredentialsfile, lihatBerbagi config dan credentials file.Jika Anda menentukan profil yang juga merupakan profil peran asumsi, setiap peran akan diasumsikan secara berurutan untuk menyelesaikan kredenSIAL sepenuhnya. Rantai-rantai ini dihentikan ketika SDK menemukan profil dengan kredenSIAL. Rantaian peran membatasi sesi peran Anda AWS CLI atau AWS API hingga maksimal satu jam dan tidak dapat ditingkatkan. Untuk informasi selengkapnya, lihat Istilah dan konsep peran di Panduan Pengguna IAM.
Nilai default: Tidak ada.
Nilai yang valid: Sebuah string teks yang terdiri dari nama profil yang ditentukan dalam
credentialsfileconfigdan. Anda juga harus menentukan nilai untukrole_arndi profil saat ini.Anda tidak dapat menentukan keduanya
credential_sourcedansource_profiledalam profil yang sama.Contoh pengaturan ini dalam file konfigurasi:
[profileA] source_profile =Brole_arn = arn:aws:iam::123456789012:role/RoleArole_session_name =ProfileARoleSession[profileB] 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_IDPada contoh sebelumnya,
Aprofil memberitahu SDK atau alat untuk secara otomatis mencari kredenSIAL untukBprofil yang ditautkan. Dalam hal ini,Bprofil menggunakan alat pembantu kredensi yang disediakan oleh Menggunakan Peran IAM Di Mana Saja untuk mengautentikasi dan AWS SDKs alat untuk mendapatkan kredenSIAL untuk AWS SDK. KredenSIAL sementara tersebut kemudian digunakan oleh kode Anda untuk mengakses AWS sumber daya. Peran yang ditentukan harus melampirkan kebijakan izin IAM yang memungkinkan kode yang diminta untuk dijalankan, seperti perintah Layanan AWS, atau metode API. Setiap tindakan yang diambil oleh profilAmemiliki nama sesi peran yang disertakan dalam CloudTrail log.Untuk contoh rantai peran kedua, konfigurasi berikut dapat digunakan jika Anda memiliki aplikasi pada instans Amazon Elastic Compute Cloud, dan Anda ingin aplikasi tersebut mengambil peran lain.
[profileA] source_profile =Brole_arn = arn:aws:iam::123456789012:role/RoleArole_session_name =ProfileARoleSession[profileB] credential_source=Ec2InstanceMetadataProfil
Aakan menggunakan kredenSIAL dari instans Amazon EC2 untuk mengambil peran yang ditentukan dan akan memperbarui kredenSIAL secara otomatis. web_identity_token_file- pengaturan AWSconfigfile bersamaAWS_WEB_IDENTITY_TOKEN_FILE- variabel lingkunganaws.webIdentityTokenFile- Properti sistem JVM: hanya Java/Kotlin-
Menentukan jalur ke file yang berisi token akses dari penyedia OAuth 2.0 yang didukung
atau penyedia identitas OpenID Connect ID. Pengaturan ini mengaktifkan otentikasi dengan menggunakan penyedia federasi identitas web, seperti Google
, Facebook , dan Amazon , di antara banyak lainnya. SDK atau alat pengembang memuat konten file ini dan meneruskannya sebagai WebIdentityTokenargumen ketika memanggilAssumeRoleWithWebIdentityoperasi atas nama Anda.Nilai default: Tidak ada.
Nilai yang valid: Nilai ini harus berupa jalur dan nama file. File harus berisi token akses OAuth 2.0 atau token OpenID Connect yang diberikan kepada Anda oleh penyedia identitas. Jalur relatif diperlakukan sebagai relatif terhadap direktori kerja proses.
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++ | Parsial | credential_sourcetidak didukung. duration_secondstidak didukung. mfa_serialtidak didukung. |
| 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 | Parsial | mfa_serialtidak didukung. duration_secondstidak didukung. |
| SDK untuk Java 1.x | Parsial | credential_sourcetidak didukung. mfa_serialtidak didukung. Properti sistem JVM tidak didukung. |
| SDK untuk JavaScript 3.x | Ya | |
| SDK untuk JavaScript 2.x | Parsial | credential_sourcetidak didukung. |
| 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 |