Ikhtisar propagasi identitas tepercaya - AWS IAM Identity Center

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

Ikhtisar propagasi identitas tepercaya

Dengan propagasi identitas tepercaya, akses pengguna ke AWS sumber daya dapat lebih mudah didefinisikan, diberikan, dan dicatat. Propagasi identitas tepercaya dibangun di atas OAuth 2.0 Authorization Framework, yang memungkinkan aplikasi mengakses dan berbagi data pengguna dengan aman tanpa berbagi kata sandi. OAuth 2.0 menyediakan akses terdelegasi yang aman ke sumber daya aplikasi. Akses didelegasikan karena administrator sumber daya menyetujui, atau mendelegasikan aplikasi tempat pengguna masuk, untuk mengakses aplikasi lain.

Untuk menghindari berbagi kata sandi pengguna, propagasi identitas tepercaya menggunakan token. Token menyediakan cara standar bagi aplikasi tepercaya untuk mengklaim siapa pengguna dan permintaan apa yang diizinkan antara dua aplikasi. AWS aplikasi terkelola yang terintegrasi dengan propagasi identitas tepercaya mendapatkan token dari IAM Identity Center secara langsung. IAM Identity Center juga menyediakan opsi bagi aplikasi untuk bertukar token identitas dan token akses yang berasal dari server otorisasi OAuth 2.0 eksternal. Ini memungkinkan aplikasi untuk mengautentikasi dan mendapatkan token di luar AWS, menukar token dengan token Pusat Identitas IAM, dan menggunakan token baru untuk membuat permintaan ke AWS layanan. Untuk informasi selengkapnya, lihat Menggunakan aplikasi dengan penerbit token tepercaya.

Proses OAuth 2.0 dimulai ketika pengguna masuk ke aplikasi. Aplikasi yang pengguna masuk untuk memulai permintaan untuk mengakses sumber daya AWS layanan. Aplikasi yang memulai (meminta) dapat mengakses layanan penerima atas nama pengguna dengan meminta token dari server otorisasi. Server otorisasi mengembalikan token, dan aplikasi yang memulai meneruskan token itu, dengan permintaan akses, ke layanan penerima. Berikut ini adalah variasi aliran ini yang berlaku untuk berbagai jenis aplikasi yang memulai dan menerima layanan:

  • AWS aplikasi terkelola dapat mengautentikasi menggunakan IAM Identity Center, menerima token, dan meneruskannya ke AWS layanan yang menggunakannya untuk membuat keputusan otorisasi. Untuk informasi selengkapnya, lihat Alur permintaan propagasi identitas tepercaya untuk aplikasi AWS terkelola.

  • Aplikasi yang dikelola pelanggan dapat menggunakan server otorisasi OIDC eksternal untuk mendapatkan token akses atau token identitas. Mereka menukar token dengan token IAM Identity Center dan meneruskannya ke AWS layanan yang menggunakannya untuk membuat keputusan otorisasi. Untuk informasi selengkapnya, lihat Menggunakan aplikasi dengan penerbit token tepercaya.

  • AWS aplikasi terkelola dan aplikasi yang dikelola pelanggan yang memiliki token Pusat Identitas IAM dapat memanggil AWS Security Token Service dan menambahkan konteks identitas pengguna ke peran IAM yang digunakan aplikasi untuk memanggil layanan SiGv4. Untuk informasi selengkapnya, lihat Sesi peran IAM yang disempurnakan identitas.

Setelah aplikasi memperoleh token

Setelah aplikasi yang meminta memperoleh token dari IAM Identity Center, aplikasi secara berkala menyegarkan token, yang dapat digunakan untuk masa pakai sesi pengguna. Selama waktu ini, layanan penerima mungkin:

  • Dapatkan informasi lebih lanjut tentang token untuk menentukan siapa pengguna dan cakupan mana yang dapat digunakan layanan dengan AWS layanan penerima lainnya.

  • Berikan token dalam panggilan ke AWS layanan penerima lain yang mendukung penggunaan token.

  • Dapatkan sesi peran IAM yang disempurnakan identitas yang dapat digunakan untuk membuat permintaan ke AWS layanan lain yang menggunakan AWS Versi Tanda Tangan 4.

Alur permintaan propagasi identitas tepercaya untuk aplikasi AWS terkelola

Bagian berikut menjelaskan cara-cara di mana aplikasi AWS terkelola dapat memperoleh token dari IAM Identity Center untuk memulai propagasi identitas tepercaya.

Autentikasi Pusat Identitas IAM berbasis web

Untuk alur ini, aplikasi AWS terkelola menyediakan pengalaman masuk tunggal berbasis web menggunakan IAM Identity Center untuk otentikasi.

Saat pengguna membuka aplikasi AWS terkelola, alur masuk tunggal yang menggunakan Pusat Identitas IAM dipicu. Jika tidak ada sesi aktif untuk pengguna di Pusat Identitas IAM, pengguna akan disajikan dengan halaman login berdasarkan sumber identitas yang telah Anda tentukan, dan Pusat Identitas IAM membuat sesi untuk pengguna.

IAM Identity Center menyediakan aplikasi AWS terkelola dengan token yang mencakup identitas pengguna dan daftar audiens (Auds) dan cakupan terkait yang aplikasi terdaftar untuk digunakan. Aplikasi kemudian dapat menggunakan token untuk membuat permintaan ke AWS layanan penerima lainnya.

Permintaan otentikasi berbasis konsol yang diprakarsai pengguna

Untuk alur ini, aplikasi AWS terkelola memberikan pengalaman konsol yang dimulai pengguna.

Dalam hal ini, aplikasi AWS terkelola dimasukkan dari Konsol AWS Manajemen setelah mengambil peran. Agar aplikasi mendapatkan token, pengguna harus memulai proses untuk memicu aplikasi untuk mengautentikasi pengguna. Ini memulai otentikasi menggunakan IAM Identity Center, yang akan mengarahkan pengguna ke sumber identitas yang telah Anda konfigurasi.

Sesi peran IAM yang ditingkatkan identitas

AWS Security Token Service (STS) memungkinkan aplikasi AWS terkelola atau aplikasi yang dikelola pelanggan untuk mendapatkan sesi peran IAM yang ditingkatkan identitas. Sesi peran yang ditingkatkan identitas ini memiliki konteks identitas tambahan yang menyebarkan identitas pengguna ke AWS layanan yang dipanggil dari sesi peran. Ini memungkinkan aplikasi untuk menggunakan sesi peran yang disempurnakan identitas saat membuat permintaan ke AWS layanan, dan AWS layanan dapat mengotorisasi akses ke sumber daya berdasarkan pengguna yang diwakili dalam sesi peran.

Aplikasi memperoleh sesi peran yang disempurnakan identitas dengan membuat permintaan ke tindakan AWS STS AssumeRoleAPI dan meneruskan pernyataan konteks dalam parameter permintaan. ProvidedContexts AssumeRole Pernyataan konteks diperoleh dari idToken klaim yang tersedia dalam tanggapan dari permintaan. SSO OIDC CreateTokenWithIAM Konteks ini menambahkan pengguna IAM Identity Center ke konteks sesi peran yang ditingkatkan identitas. userId

Saat aplikasi AWS terkelola menggunakan sesi peran yang disempurnakan identitas untuk mengakses sumber daya, CloudTrail mencatat identitas pengguna (userId), sesi memulai, dan tindakan yang diambil. Untuk informasi selengkapnya, lihat Pencatatan sesi peran IAM yang ditingkatkan identitas.

Jenis sesi peran IAM yang ditingkatkan identitas

AWS STS dapat membuat dua jenis sesi peran IAM yang ditingkatkan identitas, tergantung pada pernyataan konteks yang diberikan pada permintaan. AssumeRole AWS aplikasi terkelola dan aplikasi yang dikelola pelanggan yang telah memperoleh token Id dari IAM Identity Center dapat menambah sts:identity_context atau sts:audit_context ke sesi peran IAM. Sesi peran yang ditingkatkan identitas hanya dapat memiliki satu dari pernyataan konteks ini, bukan keduanya. Sesi peran yang ditingkatkan identitas ini dapat digunakan saat memanggil layanan apa pun. AWS

Sesi peran IAM yang ditingkatkan identitas dibuat dengan sts:audit_context

AWS aplikasi terkelola dan aplikasi yang dikelola pelanggan dapat menentukan sts:audit_context dalam sesi peran yang disempurnakan identitas. Ketika ini digunakan, AWS layanan mengabaikan konteks dalam membuat keputusan otorisasi. Memanggil aplikasi mungkin menerima kesalahan jika layanan tidak memiliki otorisasi berbasis peran untuk sumber daya yang ditentukan. Karena perubahan terbaru dalam cara sts:identity_context digunakan dalam layanan AWS terkelola, AWS merekomendasikan penggunaan sts:identity_context daripadasts:audit_context.

Untuk mendapatkan jenis sesi peran yang ditingkatkan identitas ini AWS STS, aplikasi AWS terkelola dan aplikasi yang dikelola pelanggan memberikan nilai sts:audit_context bidang dalam AssumeRolepermintaan menggunakan parameter permintaan. ProvidedContexts Gunakan arn:aws:iam::aws:contextProvider/IdentityCenter sebagai nilai untukProviderArn.

Sesi peran IAM yang ditingkatkan identitas dibuat dengan sts:identity_context

Ketika sesi peran yang disempurnakan identitas berisi sts:identity_context AWS layanan yang dipanggil menentukan apakah otorisasi sumber daya didasarkan pada pengguna yang diwakili dalam sesi peran, atau jika itu didasarkan pada peran.

AWS Layanan yang mendukung otorisasi berbasis pengguna menyediakan administrator aplikasi dengan kontrol untuk menetapkan akses ke pengguna atau ke grup di mana pengguna menjadi anggota.

AWS layanan yang tidak mendukung otorisasi berbasis pengguna mengabaikan. sts:identity_context CloudTrail mencatat pengguna Pusat Identitas IAM dengan semua tindakan yang diambil oleh peran tersebut. userId Untuk informasi lebih lanjut, lihat Pencatatan sesi peran IAM yang ditingkatkan identitas bagian di bawah ini.

Untuk mendapatkan jenis sesi peran yang ditingkatkan identitas ini AWS STS, aplikasi AWS terkelola dan aplikasi yang dikelola pelanggan memberikan nilai sts:identity_context bidang dalam AssumeRolepermintaan menggunakan parameter permintaan. ProvidedContexts Gunakan arn:aws:iam::aws:contextProvider/IdentityCenter sebagai nilai untukProviderArn.

Dalam beberapa kasus, jika aplikasi AWS terkelola atau aplikasi yang dikelola pelanggan membuat permintaan sts:identity_context menggunakannya mungkin menerima kesalahan jika AWS layanan yang disebut mendukung sts:identity_context dan tidak terhubung ke Pusat Identitas IAM, atau jika sumber daya yang diminta tidak dikonfigurasi untuk otorisasi berbasis pengguna atau keanggotaan grup.

Untuk menghindari masalah ini, lakukan hal berikut:

  • Verifikasi bahwa AWS layanan penerima terhubung ke Pusat Identitas IAM.

  • Gunakan konsol untuk AWS layanan penerima atau untuk mengonfigurasi otorisasi ke sumber dayanya berdasarkan identitas pengguna atau keanggotaan grup. APIs Persyaratan pengaturan untuk ini bervariasi berdasarkan AWS layanan.

Untuk informasi selengkapnya tentang bagaimana otorisasi berperilaku untuk AWS layanan yang mendukungsts:identity_context, lihat dokumentasi untuk layanan penerima AWS .

Pencatatan sesi peran IAM yang ditingkatkan identitas

Ketika permintaan dibuat untuk Layanan AWS menggunakan sesi peran IAM yang disempurnakan identitas yang dibuat dengan sts:audit_context atausts:identity_context, Pusat Identitas IAM pengguna userId dicatat dalam elemen. CloudTrail OnBehalfOf Cara di mana peristiwa login CloudTrail bervariasi berdasarkan Layanan AWS. Tidak semua Layanan AWS mencatat onBehalfOf elemen.

Berikut ini adalah contoh bagaimana permintaan yang dibuat untuk Layanan AWS menggunakan sesi peran yang disempurnakan identitas masuk. CloudTrail

"userIdentity": { "type": "AssumedRole", "principalId": "AROAEXAMPLE:MyRole", "arn": "arn:aws:sts::111111111111:assumed-role/MyRole/MySession", "accountId": "111111111111", "accessKeyId": "ASIAEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAEXAMPLE", "arn": "arn:aws:iam::111111111111:role/MyRole", "accountId": "111111111111", "userName": "MyRole" }, "attributes": { "creationDate": "2023-12-12T13:55:22Z", "mfaAuthenticated": "false" } }, "onBehalfOf": { "userId": "11111111-1111-1111-1111-1111111111", "identityStoreArn": "arn:aws:identitystore::111111111111:identitystore/d-111111111" } }