Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Asumsikan penyedia kredensi peran
Dengan asumsi peran melibatkan penggunaan seperangkat kredenal keamanan sementara untuk mengakses AWS sumber daya yang mungkin tidak dapat Anda akses sebaliknya. 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. IAMperan diidentifikasi secara unik oleh peran Amazon Resource Name () ARN. Peran membangun hubungan kepercayaan dengan entitas lain. Entitas tepercaya yang menggunakan peran mungkin Layanan AWS, yang lain Akun AWS, penyedia identitas web atauOIDC, atau SAML federasi.
Setelah IAM peran 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 mulai menggunakan pengaturan ini, lihat Asumsikan peran dengan AWS kredensional di panduan ini.
Asumsikan pengaturan penyedia kredensi peran
Konfigurasikan fungsi ini dengan menggunakan yang berikut:
credential_source
- Pengaturan AWSconfig
file bersama-
Digunakan dalam EC2 instans Amazon atau penampung Amazon Elastic Container Service untuk menentukan di mana alat SDK atau dapat menemukan kredenal yang memiliki izin untuk mengambil peran yang Anda tentukan dengan parameter.
role_arn
Nilai default: Tidak ada
Nilai yang valid:
-
Ec2 InstanceMetadata - Menentukan bahwa SDK atau alat adalah untuk menggunakan IAMperan yang dilampirkan ke profil EC2 instance untuk mendapatkan kredensi sumber.
-
EcsContainer— Menentukan bahwa SDK atau alat adalah untuk menggunakan IAMperan yang dilampirkan ke ECS wadah untuk mendapatkan kredensi sumber.
Anda tidak dapat menentukan keduanya
credential_source
dansource_profile
di profil yang sama.Contoh pengaturan ini dalam
config
file untuk menunjukkan bahwa kredensional harus bersumber dari Amazon: EC2credential_source = Ec2InstanceMetadata role_arn = arn:aws:iam::
123456789012
:role/my-role-name
duration_seconds
- Pengaturan AWSconfig
file bersama-
Menentukan durasi maksimum sesi peran, dalam hitungan 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 Peran di Panduan IAM Pengguna.
Contoh pengaturan ini dalam
config
file:duration_seconds =
43200
external_id
- Pengaturan AWSconfig
file bersama-
Menentukan pengenal unik yang digunakan oleh pihak ketiga untuk mengambil peran dalam akun pelanggan mereka.
Setelan ini hanya berlaku jika profil menetapkan untuk mengambil peran dan kebijakan kepercayaan untuk peran tersebut memerlukan nilai untuk
ExternalId
. Nilai memetakan keExternalId
parameter yang diteruskan keAssumeRole
operasi saat profil menentukan peran.Nilai default: Tidak ada.
Nilai yang valid: Lihat Cara menggunakan ID Eksternal Saat Memberikan Akses ke AWS Sumber Daya Anda kepada Pihak Ketiga dalam Panduan IAM Pengguna.
Contoh pengaturan ini dalam
config
file:external_id =
unique_value_assigned_by_3rd_party
mfa_serial
- Pengaturan AWSconfig
file bersama-
Menentukan identifikasi atau nomor seri perangkat otentikasi multi-faktor (MFA) yang harus digunakan pengguna saat mengambil peran.
Diperlukan saat mengasumsikan peran di mana kebijakan kepercayaan untuk peran tersebut mencakup kondisi yang memerlukan MFA otentikasi. Untuk informasi selengkapnyaMFA, lihat Autentikasi AWS multi-faktor IAM di IAM Panduan Pengguna.
Nilai default: Tidak ada.
Nilai yang valid: Nilai dapat berupa nomor seri untuk perangkat keras (seperti
GAHT12345678
), atau Amazon Resource Name (ARN) untuk MFA perangkat virtual. Formatnya ARN adalah:arn:aws:iam::
account-id
:mfa/mfa-device-name
Contoh pengaturan ini dalam
config
file:Contoh ini mengasumsikan MFA perangkat virtual, yang disebut
MyMFADevice
, yang telah dibuat untuk akun dan diaktifkan untuk pengguna.mfa_serial =
arn:aws:iam::
123456789012
:mfa/MyMFADevice
role_arn
- Pengaturan AWSconfig
file bersamaAWS_ROLE_ARN
- variabel lingkunganaws.roleArn
- properti JVM sistem: Hanya Java/Kotlin-
Menentukan Amazon Resource Name (ARN) IAM peran yang ingin Anda gunakan untuk melakukan operasi yang diminta menggunakan profil ini.
Nilai default: Tidak ada.
Nilai yang valid: Nilai harus ARN IAM peran, diformat sebagai berikut:
arn:aws:iam::
account-id
:role/role-name
Selain itu, Anda juga harus menentukan salah satu pengaturan berikut:
-
source_profile
— Untuk mengidentifikasi profil lain yang akan digunakan untuk menemukan kredensional yang memiliki izin untuk mengambil peran dalam profil ini. -
credential_source
— Untuk menggunakan kredenal yang diidentifikasi oleh variabel lingkungan saat ini atau kredenal yang dilampirkan ke profil EC2 instans Amazon, atau instance penampung 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 AWSconfig
file bersamaAWS_ROLE_SESSION_NAME
- variabel lingkunganaws.roleSessionName
- properti JVM sistem: Hanya Java/Kotlin-
Menentukan nama untuk melampirkan 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 CloudTrail userIdentity elemen 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: Disediakan untuk
RoleSessionName
parameter ketika AWS CLI atau AWS API memanggilAssumeRole
operasi (atau operasi sepertiAssumeRoleWithWebIdentity
operasi) 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_name
Contoh pengaturan ini dalam
config
file:role_session_name =
my-role-session-name
source_profile
- Pengaturan AWSconfig
file bersama-
Menentukan profil lain yang kredensialnya digunakan untuk mengambil peran yang ditentukan oleh
role_arn
pengaturan di profil asli. Untuk memahami bagaimana profil digunakan dalam file bersama AWSconfig
dancredentials
file, lihatBerbagi config dan credentials file.Jika Anda menentukan profil yang juga merupakan profil peran asumsi, setiap peran akan diasumsikan secara berurutan untuk menyelesaikan kredensialnya sepenuhnya. Rantai ini dihentikan ketika SDK menemukan profil dengan kredensional. Rantai peran membatasi sesi AWS CLI atau AWS API peran Anda hingga maksimal satu jam dan tidak dapat ditingkatkan. Untuk informasi selengkapnya, lihat Istilah dan konsep peran di Panduan IAM Pengguna.
Nilai default: Tidak ada.
Nilai yang valid: String teks yang terdiri dari nama profil yang ditentukan dalam
credentials
fileconfig
dan. Anda juga harus menentukan nilai untukrole_arn
di profil saat ini.Anda tidak dapat menentukan keduanya
credential_source
dansource_profile
di profil yang sama.Contoh pengaturan ini dalam file konfigurasi:
[profile
A
] source_profile =B
role_arn = arn:aws:iam::123456789012
:role/RoleA
role_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_ID
Pada contoh sebelumnya,
A
profil memberi tahu alat SDK atau untuk secara otomatis mencari kredensional untuk profil yangB
ditautkan. Dalam hal ini,B
profil menggunakan alat pembantu kredenal yang disediakan oleh Peran IAM Di Mana Saja untuk mendapatkan kredensional untuk file. AWS SDK Kredensi sementara tersebut kemudian digunakan oleh kode Anda untuk mengakses AWS sumber daya. Peran yang ditentukan harus memiliki kebijakan IAM izin terlampir yang memungkinkan kode yang diminta berjalan, seperti perintah Layanan AWS, atau API metode. Setiap tindakan yang diambil oleh profilA
memiliki nama sesi peran yang disertakan dalam CloudTrail log.Untuk contoh rantai peran kedua, konfigurasi berikut dapat digunakan jika Anda memiliki aplikasi di instans Amazon Elastic Compute Cloud, dan Anda ingin aplikasi tersebut mengambil peran lain.
[profile
A
] source_profile =B
role_arn = arn:aws:iam::123456789012
:role/RoleA
role_session_name =ProfileARoleSession
[profileB
] credential_source=Ec2InstanceMetadataProfil
A
akan menggunakan kredensional dari EC2 instans Amazon untuk mengambil peran yang ditentukan dan akan memperbarui kredensialnya secara otomatis. web_identity_token_file
- Pengaturan AWSconfig
file bersamaAWS_WEB_IDENTITY_TOKEN_FILE
- variabel lingkunganaws.webIdentityTokenFile
- properti JVM sistem: Hanya Java/Kotlin-
Menentukan path ke file yang berisi token akses dari penyedia OAuth 2.0 yang didukung atau penyedia
identitas OpenID Connect ID . Pengaturan ini memungkinkan otentikasi dengan menggunakan penyedia federasi identitas web, seperti Google
, Facebook , dan Amazon , di antara banyak lainnya. Alat pengembang SDK atau memuat konten file ini dan meneruskannya sebagai WebIdentityToken
argumen saat memanggilAssumeRoleWithWebIdentity
operasi 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.
Kompatibilitas dengan AWS SDKs
Berikut ini SDKs mendukung fitur dan pengaturan yang dijelaskan dalam topik ini. Setiap pengecualian sebagian dicatat. Setiap pengaturan properti JVM sistem didukung oleh AWS SDK for Java dan AWS SDK for Kotlin satu-satunya.
SDK | Didukung | Catatan atau informasi lebih lanjut |
---|---|---|
AWS CLI v2 | Ya | |
SDKuntuk C ++ | Parsial | credential_source tidak didukung. duration_seconds tidak didukung. mfa_serial tidak didukung. |
SDKuntuk Go V2 (1.x) |
Ya | |
SDKuntuk Go 1.x (V1) | Ya | Untuk menggunakan pengaturan config file bersama, Anda harus mengaktifkan pemuatan dari file konfigurasi; lihat Sesi. |
SDKuntuk Java 2.x | Parsial | mfa_serial tidak didukung. duration_seconds tidak didukung. |
SDKuntuk Java 1.x | Parsial | credential_source tidak didukung. mfa_serial tidak didukung. JVMproperti sistem tidak didukung. |
SDKuntuk JavaScript 3.x | Ya | |
SDKuntuk JavaScript 2.x | Parsial | credential_source tidak didukung. |
SDKuntuk Kotlin | Ya | |
SDKuntuk. NET3.x | Ya | |
SDKuntuk PHP 3.x | Ya | |
SDKuntuk Python (Boto3) |
Ya | |
SDKuntuk Ruby 3.x | Ya | |
SDKuntuk Rust | Ya | |
SDKuntuk Swift | Ya | |
Alat untuk PowerShell | Ya |