Asumsikan peran - AWS SDKsdan Alat

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Asumsikan peran

Dengan asumsi peran melibatkan penggunaan seperangkat kredensil 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 mempelajari lebih lanjut tentang AWS Security Token Service (AWS STS) permintaan API, lihat Tindakan di Referensi AWS Security Token Service API.

Untuk menyiapkan SDK atau alat untuk mengambil peran, Anda harus terlebih dahulu membuat atau mengidentifikasi peran tertentu yang akan diambil. Peran IAM diidentifikasi secara unik oleh peran Amazon Resource Name (ARN). Peran membangun hubungan kepercayaan dengan entitas lain. Entitas tepercaya yang menggunakan peran tersebut mungkinLayanan AWS, yang lainAkun AWS, penyedia identitas web atau OIDC, atau federasi SAMP. Untuk mempelajari selengkapnya tentang peran IAM, lihat Menggunakan peran IAM di Panduan Pengguna IAM.

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, salah satu Asumsikan peran IAM atauBersekutu dengan identitas web atau OpenID Connect.

Asumsikan peran IAM

Saat mengasumsikan peran, AWS STS mengembalikan satu set kredensil keamanan sementara. Kredensi ini bersumber dari profil lain atau dari instance atau wadah tempat kode Anda berjalan. Contoh lain dari asumsi peran termasuk mengelola beberapa Akun AWS dari Amazon EC2, AWS CodeCommit menggunakan Akun AWS lintas, atau mengakses akun lain dari. AWS CodeBuild

Langkah 1: Siapkan peran IAM

Untuk menyiapkan SDK atau alat untuk mengambil peran, Anda harus terlebih dahulu membuat atau mengidentifikasi peran tertentu yang akan diambil. Peran IAM diidentifikasi secara unik menggunakan peran ARN. Peran membangun hubungan kepercayaan dengan entitas lain, biasanya di dalam akun Anda atau untuk akses lintas akun. Untuk mengaturnya, lihat Membuat peran IAM di Panduan Pengguna IAM.

Langkah 2: Konfigurasikan SDK atau alat

Konfigurasikan SDK atau alat untuk mendapatkan kredensil dari atau. credential_source source_profile

Gunakan credential_source untuk mendapatkan kredensil dari wadah Amazon ECS, instans Amazon EC2, atau dari variabel lingkungan.

Gunakan source_profile untuk sumber kredensil dari profil lain. source_profilejuga mendukung rantai peran, yang merupakan hierarki profil di mana peran yang diasumsikan kemudian digunakan untuk mengambil peran lain.

Saat Anda menentukan ini di profil, SDK atau alat secara otomatis membuat panggilan AWS STS AssumeRoleAPI yang sesuai untuk Anda. Untuk mengambil dan menggunakan kredensil sementara dengan mengasumsikan peran, tentukan nilai konfigurasi berikut dalam file bersama. AWS config Untuk detail selengkapnya tentang masing-masing pengaturan ini, lihat Asumsikan pengaturan penyedia kredensi peran bagian.

  • role_arn- Dari peran IAM yang Anda buat di Langkah 1

  • Konfigurasikan salah satu source_profile atau credential_source

  • (Opsional) duration_seconds

  • (Opsional) external_id

  • (Opsional) mfa_serial

  • (Opsional) role_session_name

Contoh berikut menunjukkan konfigurasi kedua opsi peran asumsi dalam config file bersama:

role_arn = arn:aws:iam::123456789012:role/my-role-name source_profile = profile-name-with-user-that-can-assume-role
role_arn = arn:aws:iam::123456789012:role/my-role-name credential_source = Ec2InstanceMetadata

Untuk detail tentang semua pengaturan penyedia kredensi peran asumsi, lihat Asumsikan penyedia kredensi peran di panduan ini.

Bersekutu dengan identitas web atau OpenID Connect

Saat membuat aplikasi seluler atau aplikasi web berbasis klien yang memerlukan akses keAWS, AWS STS mengembalikan satu set kredensi keamanan sementara untuk pengguna federasi yang diautentikasi melalui penyedia identitas publik (iDP). Contoh penyedia identitas umum mencakup Login with Amazon, Facebook, Google, atau penyedia identitas mana pun yang kompatibel dengan OpenID Connect (OIDC). Dengan metode ini, pengguna Anda tidak memerlukan identitas mereka sendiri AWS atau IAM.

Jika Anda menggunakan Amazon Elastic Kubernetes Service, fitur ini menyediakan kemampuan untuk menentukan peran IAM yang berbeda untuk setiap kontainer Anda. Kubernetes menyediakan kemampuan untuk mendistribusikan token OIDC ke kontainer Anda yang digunakan oleh penyedia kredensi ini untuk mendapatkan kredensi sementara. Untuk informasi selengkapnya tentang konfigurasi Amazon EKS ini, lihat peran IAM untuk akun layanan di Panduan Pengguna Amazon EKS. Namun, untuk opsi yang lebih sederhana, kami sarankan Anda menggunakan Amazon EKS Pod Identities jika SDK Anda mendukungnya.

Langkah 1: Siapkan penyedia identitas dan peran IAM

Untuk mengonfigurasi federasi dengan iDP eksternal, gunakan penyedia identitas IAM untuk menginformasikan AWS tentang iDP eksternal dan konfigurasinya. Ini membangun kepercayaan antara IDP Anda Akun AWS dan eksternal. Sebelum mengonfigurasi SDK untuk menggunakan token identitas web untuk otentikasi, Anda harus terlebih dahulu menyiapkan penyedia identitas (iDP) dan peran IAM yang digunakan untuk mengaksesnya. Untuk mengaturnya, lihat Membuat peran untuk identitas web atau Federasi OpenID Connect (konsol) di Panduan Pengguna IAM.

Langkah 2: Konfigurasikan SDK atau alat

Konfigurasikan SDK atau alat untuk menggunakan token identitas web AWS STS untuk otentikasi.

Saat Anda menentukan ini di profil, SDK atau alat secara otomatis membuat panggilan AWS STS AssumeRoleWithWebIdentityAPI yang sesuai untuk Anda. Untuk mengambil dan menggunakan kredensil sementara menggunakan federasi identitas web, tentukan nilai konfigurasi berikut dalam file bersama. AWS config Untuk detail selengkapnya tentang masing-masing pengaturan ini, lihat Asumsikan pengaturan penyedia kredensi peran bagian.

  • role_arn- Dari peran IAM yang Anda buat di Langkah 1

  • web_identity_token_file- Dari iDP eksternal

  • (Opsional) duration_seconds

  • (Opsional) role_session_name

Berikut ini adalah contoh konfigurasi config file bersama untuk mengambil peran dengan identitas web:

[profile web-identity] role_arn=arn:aws:iam::123456789012:role/my-role-name web_identity_token_file=/path/to/a/token
catatan

Untuk aplikasi seluler, pertimbangkan untuk menggunakan Amazon Cognito. Amazon Cognito bertindak sebagai pialang identitas dan melakukan banyak pekerjaan federasi untuk Anda. Namun, penyedia identitas Amazon Cognito tidak disertakan dalam SDK dan pustaka inti alat seperti penyedia identitas lainnya. Untuk mengakses Amazon Cognito API, sertakan klien layanan Amazon Cognito di build atau pustaka untuk SDK atau alat Anda. Untuk penggunaan dengan AWS SDK, lihat Contoh Kode di Panduan Pengembang Amazon Cognito.

Untuk detail tentang semua pengaturan penyedia kredensi peran asumsi, lihat Asumsikan penyedia kredensi peran di panduan ini.