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, JDBCODBC, dan driver Python mengaktifkan 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 APIs yang dapat Anda gunakan untuk mengatur kemampuan ini. Tidak ada konfigurasi yang diperlukan dalam Pusat IAM Identitas 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 APIs disediakan oleh aplikasi.

  1. Gunakan konsol aplikasi atau APIs untuk menghubungkan aplikasi ke instance Pusat IAM Identitas Anda

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

  2. Gunakan konsol aplikasi atau APIs 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 dengan Pusat IAM Identitas dan aplikasi yang terdaftar di Pusat IAM Identitas.

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

Otentikasi Pusat IAM Identitas berbasis web

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

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

IAMIdentity 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 yang AWS dikelola 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 IAM peran yang disempurnakan identitas yang dapat digunakan untuk membuat permintaan ke aplikasi AWS terkelola lainnya yang menggunakan AWS Signature Version 4.

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

Sesi peran yang ditingkatkan identitas IAM

AWS Security Token Service Ini memungkinkan aplikasi AWS terkelola atau aplikasi yang dikelola pelanggan untuk mendapatkan sesi peran yang ditingkatkan identitasIAM. 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 ditingkatkan identitas saat membuat permintaan ke aplikasi AWS terkelola, dan aplikasi yang AWS dikelola dapat mengotorisasi akses ke sumber daya berdasarkan pengguna yang diwakili dalam sesi peran.

Aplikasi memperoleh sesi peran yang ditingkatkan identitas dengan membuat permintaan untuk AWS STS AssumeRoleAPItindakan 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 Pusat IAM Identitas 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 yang ditingkatkan identitas IAM.

Jenis sesi peran yang ditingkatkan identitas IAM

AWS STS dapat membuat dua jenis sesi IAM peran 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:identiy_context atau sts:audit_context ke sesi IAM peran. 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 IAM peran 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 ditingkatkan identitas. Saat digunakan, aplikasi yang AWS dikelola mengabaikan konteks saat membuat keputusan otorisasi. Memanggil aplikasi dapat menerima kesalahan jika layanan yang disebut tidak memiliki otorisasi berbasis peran untuk sumber daya tertentu. 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 IAM peran yang ditingkatkan identitas dibuat dengan sts:identity_context

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

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

AWS aplikasi terkelola yang tidak mendukung otorisasi berbasis pengguna mengabaikan. sts:identity_context CloudTrail mencatat pengguna Pusat IAM Identitas dengan semua tindakan yang diambil oleh peran tersebut. userId Untuk informasi lebih lanjut, lihat Pencatatan sesi peran yang ditingkatkan identitas IAM 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 aplikasi AWS terkelola yang disebut mendukung sts:identity_context dan tidak terhubung ke Pusat IAM Identitas, atau jika sumber daya yang diminta tidak dikonfigurasi untuk otorisasi berbasis keanggotaan pengguna atau grup.

Untuk menghindari masalah ini, lakukan hal berikut:

  • Verifikasi bahwa aplikasi AWS terkelola penerima terhubung ke Pusat IAM Identitas.

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

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

Pencatatan sesi peran yang ditingkatkan identitas IAM

Ketika permintaan dibuat untuk Layanan AWS menggunakan sesi IAM peran yang disempurnakan identitas yang dibuat dengan sts:audit_context atausts:identity_context, Pusat IAM Identitas pengguna userId dicatat CloudTrail dalam elemen. 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" } }

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 menggunakan propagasi identitas tepercaya

Langkah-langkah berikut memberikan informasi tambahan tentang proses ini.

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

    1. Connect aplikasi ke instance 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 IAM Pusat Identitas.

    Jika pengguna tidak masuk, Pusat IAM Identitas akan memicu alur autentikasi pengguna ke sumber identitas yang telah Anda tentukan. Ini membuat sesi portal AWS akses baru untuk pengguna dengan durasi yang Anda konfigurasikan di Pusat IAM Identitas. IAMIdentity 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 Pusat IAM Identitas 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.