Menggunakan propagasi identitas tepercaya dengan aplikasi AWS terkelola - AWS IAM Identity Center

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

Menggunakan propagasi identitas tepercaya dengan aplikasi AWS terkelola

Propagasi identitas tepercaya memungkinkan aplikasi AWS terkelola untuk meminta akses ke data dalam AWS layanan atas nama pengguna. Manajemen akses data didasarkan pada identitas pengguna, sehingga administrator dapat memberikan akses berdasarkan keanggotaan pengguna dan grup yang ada. Identitas pengguna, tindakan yang dilakukan atas nama mereka, dan peristiwa lainnya dicatat dalam log dan CloudTrail peristiwa khusus layanan.

Propagasi identitas tepercaya didasarkan pada standar OAuth 2.0. Untuk menggunakan kemampuan ini, aplikasi yang AWS dikelola harus berintegrasi dengan IAM Identity Center. AWS Layanan analitik mungkin menyediakan antarmuka berbasis driver yang memungkinkan aplikasi yang kompatibel untuk menggunakan propagasi identitas tepercaya. Misalnya, driver JDBC, ODBC, dan Python memungkinkan alat kueri yang kompatibel untuk menggunakan propagasi identitas tepercaya tanpa perlu Anda menyelesaikan langkah penyiapan tambahan.

Siapkan aplikasi AWS terkelola untuk propagasi identitas tepercaya

AWS Layanan yang mendukung propagasi identitas tepercaya menyediakan antarmuka pengguna administratif dan API yang dapat Anda gunakan untuk mengatur kemampuan ini. Tidak ada konfigurasi yang diperlukan dalam Pusat Identitas IAM untuk layanan ini.

Berikut ini adalah proses tingkat tinggi untuk menyiapkan AWS layanan untuk propagasi identitas tepercaya. Langkah-langkah spesifik bervariasi tergantung pada antarmuka administratif dan API yang disediakan oleh aplikasi.

  1. Gunakan konsol aplikasi atau API untuk menghubungkan aplikasi ke instans Pusat Identitas IAM Anda

    Gunakan konsol untuk aplikasi AWS terkelola atau API aplikasi untuk menghubungkan aplikasi ke instans Pusat Identitas IAM Anda. Saat Anda menggunakan konsol untuk aplikasi, antarmuka pengguna administratif menyertakan widget yang merampingkan proses penyiapan dan koneksi.

  2. Menggunakan konsol aplikasi atau API untuk mengatur akses pengguna ke sumber daya aplikasi

    Selesaikan langkah ini untuk mengotorisasi sumber daya, atau data, yang dapat diakses pengguna. Akses didasarkan pada identitas pengguna atau keanggotaan grup. Model otorisasi bervariasi berdasarkan aplikasi.

    penting

    Anda harus menyelesaikan langkah ini untuk memungkinkan pengguna mengakses sumber daya AWS layanan. Jika tidak, pengguna tidak dapat mengakses sumber daya, bahkan jika aplikasi yang meminta diizinkan untuk meminta akses ke layanan.

Alur permintaan propagasi identitas tepercaya untuk aplikasi AWS terkelola

Semua aliran propagasi identitas tepercaya ke aplikasi AWS terkelola harus dimulai dengan aplikasi yang memperoleh token dari IAM Identity Center. Token ini diperlukan karena berisi referensi ke pengguna yang dikenal IAM Identity Center dan aplikasi yang terdaftar di IAM Identity Center.

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.

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, aplikasi mungkin:

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

  • Berikan token dalam panggilan ke aplikasi AWS terkelola penerima lainnya yang mendukung penggunaan token.

  • Dapatkan sesi peran IAM yang disempurnakan identitas yang dapat digunakan untuk membuat permintaan ke aplikasi AWS terkelola lainnya yang menggunakan AWS Signature Version 4.

    Sesi peran IAM yang ditingkatkan identitas adalah sesi peran IAM yang berisi identitas propagasi pengguna yang disimpan dalam token yang dibuat oleh IAM Identity Center.

Sesi peran IAM yang ditingkatkan identitas

AWS Security Token Service Ini memungkinkan aplikasi untuk mendapatkan sesi peran IAM yang ditingkatkan identitas. AWS aplikasi terkelola yang mendukung konteks pengguna dalam sesi peran dapat menggunakan informasi identitas untuk mengotorisasi akses berdasarkan pengguna yang berada dalam sesi peran. Konteks baru ini memungkinkan aplikasi untuk membuat permintaan ke aplikasi AWS terkelola yang mendukung propagasi identitas tepercaya melalui permintaan API Versi AWS Tanda Tangan 4.

Ketika aplikasi AWS terkelola menggunakan sesi peran IAM yang disempurnakan identitas untuk mengakses sumber daya, CloudTrail mencatat identitas pengguna (User-ID), sesi inisiasi, dan tindakan yang diambil.

Ketika aplikasi membuat permintaan menggunakan sesi peran IAM yang disempurnakan identitas ke aplikasi penerima, itu menambahkan konteks ke sesi sehingga aplikasi penerima dapat mengotorisasi akses berdasarkan identitas pengguna atau keanggotaan grup, atau peran IAM. Menerima aplikasi yang mendukung propagasi identitas tepercaya akan mengembalikan kesalahan jika aplikasi penerima atau sumber daya yang diminta tidak dikonfigurasi untuk mengotorisasi akses berdasarkan identitas pengguna atau keanggotaan grup.

Untuk menghindari masalah ini, lakukan salah satu hal berikut:

  • Verifikasi bahwa aplikasi penerima terhubung ke Pusat Identitas IAM.

  • Gunakan konsol untuk aplikasi penerima atau API aplikasi untuk menyiapkan aplikasi guna mengotorisasi akses ke sumber daya berdasarkan identitas pengguna atau keanggotaan grup. Persyaratan pengaturan untuk ini bervariasi berdasarkan aplikasi.

Untuk informasi selengkapnya, lihat dokumentasi untuk aplikasi AWS terkelola penerima.

Jenis sesi peran IAM yang ditingkatkan identitas

Aplikasi memperoleh sesi peran IAM yang ditingkatkan identitas dengan membuat permintaan ke AWS STS AssumeRole API dan meneruskan pernyataan konteks dalam parameter permintaan. ProvidedContexts AssumeRole Pernyataan konteks diperoleh dari idToken klaim yang tersedia dalam tanggapan dari permintaan. SSO OIDC CreateTokenWithIAM

AWS STS dapat membuat dua jenis sesi peran IAM yang ditingkatkan identitas, tergantung pada pernyataan konteks yang diberikan pada permintaan: AssumeRole

  • Sesi yang hanya mencatat identitas pengguna CloudTrail.

  • Sesi yang memungkinkan otorisasi berdasarkan identitas pengguna yang disebarkan dan log ke. CloudTrail

Untuk mendapatkan sesi peran IAM yang ditingkatkan identitas dari AWS STS yang hanya menyediakan informasi audit yang terdaftar dalam CloudTrail jejak, berikan nilai klaim atas permintaan tersebutsts:audit_context. AssumeRole Untuk mendapatkan sesi yang juga memungkinkan AWS layanan penerima untuk memberi wewenang kepada pengguna Pusat Identitas IAM untuk melakukan suatu tindakan, berikan nilai sts:identity_context klaim atas permintaan tersebutAssumeRole. Anda hanya dapat memberikan satu konteks.

Sesi peran IAM yang ditingkatkan identitas dibuat dengan sts:audit_context

Ketika permintaan dibuat ke AWS layanan menggunakan sesi peran IAM yang disempurnakan identitas yang dibuat dengansts:audit_context, Pusat Identitas IAM pengguna userId dicatat dalam elemen. CloudTrail OnBehalfOf

"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" } }
catatan

Sesi ini tidak dapat digunakan untuk mengotorisasi pengguna Pusat Identitas. Mereka masih dapat digunakan untuk mengotorisasi peran IAM.

Untuk mendapatkan jenis sesi peran ini AWS STS, berikan nilai sts:audit_context bidang ke AssumeRole permintaan dalam parameter ProvidedContexts permintaan. Gunakan arn:aws:iam::aws:contextProvider/IdentityStore sebagai nilai untukProviderArn.

Sesi peran IAM yang ditingkatkan identitas dibuat dengan sts:identity_context

Ketika pengguna membuat permintaan ke AWS layanan menggunakan sesi peran IAM yang ditingkatkan identitas yang dibuat dengansts:identity_context, Pusat Identitas IAM pengguna userId dicatat CloudTrail dalam onBehalfOf elemen dengan cara yang sama seperti sesi yang dibuat dengan. sts:audit_context

Selain mencatat pengguna IAM Identity Center CloudTrail, jenis sesi ini juga digunakan oleh API yang didukung untuk mengotorisasi tindakan berdasarkan identitas pengguna yang disebarkan. userId Untuk daftar tindakan IAM untuk API yang didukung, lihat kebijakan AWSIAMIdentityCenterAllowListForIdentityContext AWS terkelola. Kebijakan AWS terkelola ini disediakan sebagai kebijakan sesi saat sesi peran IAM yang ditingkatkan identitas dibuat dengan. sts:identity_context Kebijakan ini mencegah Anda menggunakan sesi peran dengan AWS layanan yang tidak didukung.

Untuk mendapatkan jenis sesi peran ini AWS STS, berikan nilai sts:identity_context bidang ke AssumeRole permintaan dalam parameter ProvidedContexts permintaan. Gunakan arn:aws:iam::aws:contextProvider/IdentityStore sebagai nilai untukProviderArn.

Proses penyiapan dan alur permintaan untuk aplikasi AWS terkelola

Bagian ini menjelaskan proses penyiapan dan alur permintaan untuk aplikasi AWS terkelola yang menggunakan propagasi identitas tepercaya dan yang memberikan pengalaman masuk tunggal berbasis web.

Diagram berikut memberikan gambaran umum tentang proses ini.

Proses penyiapan dan alur permintaan untuk aplikasi AWS terkelola yang menggunakan propagasi identitas tepercaya

Langkah-langkah berikut memberikan informasi tambahan tentang proses ini.

  1. Gunakan konsol untuk aplikasi AWS terkelola atau API aplikasi untuk melakukan hal berikut:

    1. Connect aplikasi ke instans IAM Identity Center Anda.

    2. Siapkan izin untuk mengotorisasi sumber daya aplikasi mana yang dapat diakses pengguna.

  2. Alur permintaan dimulai ketika pengguna membuka aplikasi AWS terkelola yang dapat meminta akses ke sumber daya (aplikasi yang meminta).

  3. Untuk mendapatkan token untuk mengakses aplikasi AWS terkelola penerima, aplikasi AWS terkelola yang meminta memulai permintaan masuk ke Pusat Identitas IAM.

    Jika pengguna tidak masuk, IAM Identity Center akan memicu alur autentikasi pengguna ke sumber identitas yang telah Anda tentukan. Ini menciptakan sesi portal AWS akses baru untuk pengguna dengan durasi yang Anda konfigurasikan di IAM Identity Center. IAM Identity Center kemudian menghasilkan token yang terkait dengan sesi, dan aplikasi dapat beroperasi selama durasi sesi portal AWS akses pengguna yang tersisa. Jika pengguna keluar dari aplikasi mereka, atau jika Anda menghapus sesi mereka, sesi secara otomatis berakhir dalam waktu dua jam.

  4. Aplikasi yang AWS dikelola memulai permintaan ke aplikasi penerima dan menyediakan tokennya.

  5. Aplikasi penerima melakukan panggilan ke IAM Identity Center untuk mendapatkan identitas pengguna dan cakupan yang dikodekan dalam token. Aplikasi penerima juga dapat membuat permintaan untuk mendapatkan atribut pengguna atau keanggotaan grup pengguna dari direktori Pusat Identitas.

  6. Aplikasi penerima menggunakan konfigurasi otorisasi untuk menentukan apakah pengguna berwenang untuk mengakses sumber daya aplikasi yang diminta.

  7. Jika pengguna berwenang untuk mengakses sumber daya aplikasi yang diminta, aplikasi penerima menanggapi permintaan tersebut.

  8. Identitas pengguna, tindakan yang dilakukan atas nama mereka, dan peristiwa lain yang dicatat dalam log dan AWS CloudTrail peristiwa aplikasi penerima. Cara spesifik di mana informasi ini dicatat bervariasi berdasarkan aplikasi.