Bagikan melalui


Tutorial: Mengonfigurasi Ping Identity dengan Azure Active Directory B2C untuk akses hibrid yang aman

Penting

Berlaku mulai 1 Mei 2025, Azure AD B2C tidak akan lagi tersedia untuk dibeli untuk pelanggan baru. Pelajari lebih lanjut di FAQ kami.

Dalam tutorial ini, pelajari cara memperluas kemampuan Azure Active Directory B2C (Azure AD B2C) dengan PingAccess dan PingFederate. PingAccess menyediakan akses ke aplikasi dan API, dan mesin kebijakan untuk akses pengguna yang diotorisasi. PingFederate adalah server federasi perusahaan untuk autentikasi pengguna dan akses menyeluruh, otoritas yang mengizinkan pelanggan, karyawan, dan mitra untuk mengakses aplikasi dari perangkat. Gunakan bersama-sama untuk mengaktifkan akses hibrid aman (SHA).

Banyak situs e-niaga dan aplikasi web yang terekspos ke internet disebarkan di belakang sistem proksi, atau sistem proksi terbalik. Sistem proksi ini melakukan pra-autentikasi, menerapkan kebijakan, dan merutekan lalu lintas. Skenario umum termasuk melindungi aplikasi web dari lalu lintas web masuk dan menyediakan manajemen sesi yang seragam di seluruh penyebaran server terdistribusi.

Umumnya, konfigurasi menyertakan lapisan terjemahan autentikasi yang eksternalisasi autentikasi dari aplikasi web. Proksi terbalik menyediakan konteks pengguna yang sudah terautentikasi pada aplikasi web, seperti nilai header dalam bentuk teks biasa atau digest. Aplikasi ini tidak menggunakan token standar industri seperti Security Assertion Markup Language (SAML), OAuth, atau OpenID Connect (OIDC). Sebagai gantinya, proksi menyediakan konteks autentikasi dan mempertahankan sesi dengan agen pengguna akhir seperti browser atau aplikasi asli. Sebagai layanan yang berjalan sebagai perantara, proksi memberikan kontrol sesi secara signifikan. Layanan proksi efisien dan dapat diskalakan, bukan hambatan untuk aplikasi di belakang layanan proksi. Diagram menunjukkan implementasi proksi terbalik dan aliran komunikasi.

Diagram dari implementasi proksi terbalik.

Modernisasi

Jika Anda ingin memodernisasi platform identitas dalam konfigurasi tersebut, mungkin ada kekhawatiran pelanggan:

  • Memisahkan upaya untuk memodernisasi aplikasi dari memodernisasi platform identitas
  • Lingkungan dengan autentikasi modern dan autentikasi lama, memanfaatkan penyedia layanan identitas yang telah dimodernisasi.
    • Mendorong konsistensi pengalaman pengguna akhir
    • Memberikan pengalaman masuk tunggal di seluruh aplikasi

Sebagai jawaban atas kekhawatiran ini, pendekatan dalam tutorial ini adalah integrasi Azure AD B2C, PingAccess, dan PingFederate .

Lingkungan bersama

Solusi yang layak secara teknis, dan hemat biaya, adalah mengonfigurasi sistem proksi terbalik untuk menggunakan sistem identitas modern, mendelegasikan autentikasi.
Proksi mendukung protokol autentikasi modern dan menggunakan autentikasi berbasis pengalihan (pasif) yang mengirim pengguna ke Penyedia Identitas (IdP) baru.

Azure AD B2C sebagai penyedia identitas

Di Azure AD B2C, Anda menentukan kebijakan yang mendorong pengalaman dan perilaku pengguna, juga disebut perjalanan pengguna. Setiap kebijakan tersebut mengekspos titik akhir protokol yang dapat melakukan autentikasi sebagai IdP. Di sisi aplikasi, tidak ada penanganan khusus yang diperlukan untuk kebijakan tertentu. Aplikasi membuat permintaan autentikasi standar ke titik akhir autentikasi khusus protokol yang diekspos oleh kebijakan.
Anda dapat mengonfigurasi Azure AD B2C untuk berbagi penerbit yang sama di seluruh kebijakan atau penerbit unik untuk setiap kebijakan. Setiap aplikasi dapat menunjuk ke kebijakan dengan membuat permintaan autentikasi asli protokol, yang mendorong perilaku pengguna seperti masuk, pendaftaran, dan pengeditan profil. Diagram menunjukkan alur kerja aplikasi OIDC dan SAML.

Diagram alur kerja aplikasi OIDC dan SAML.

Skenario ini bisa menjadi tantangan bagi aplikasi warisan untuk mengalihkan pengguna secara akurat. Permintaan akses ke aplikasi mungkin tidak menyertakan konteks pengalaman pengguna. Dalam kebanyakan kasus, lapisan proksi, atau agen terintegrasi pada aplikasi web, mencegat permintaan akses.

Proksi terbalik PingAccess

Anda dapat menyebarkan PingAccess sebagai proksi terbalik. PingAccess mencegat permintaan langsung dengan menjadi man-in-the-middle, atau sebagai pengalihan dari agen yang berjalan di server aplikasi web.

Konfigurasikan PingAccess dengan OIDC, OAuth2, atau SAML untuk autentikasi dengan penyedia autentikasi upstream. Anda dapat mengonfigurasi IdP upstream untuk tujuan ini di server PingAccess. Lihat diagram berikut.

Diagram IDP upstream pada server PingAccess.

Dalam penyebaran Azure AD B2C yang khas dengan kebijakan yang mengekspos IdP, ada tantangan. PingAccess dikonfigurasi dengan sebuah IdP upstream.

Proksi federasi PingFederate

Anda dapat mengonfigurasi PingFederate sebagai penyedia autentikasi, atau proksi, untuk IDP upstream. Lihat diagram berikut.

Diagram PingFederate mengonfigurasi penyedia autentikasi, atau proksi, untuk IDP upstream.

Gunakan fungsi ini untuk mengalihkan permintaan masuk secara kontekstual, dinamis, atau deklaratif ke kebijakan Azure AD B2C. Lihat diagram alur urutan protokol berikut.

Diagram alur urutan protokol untuk PingAccess, PingFederate, Azure AD B2C, dan aplikasi.

Prasyarat

Untuk memulai, Anda memerlukan:

  • Langganan Azure
  • Penyewa Azure AD B2C yang ditautkan ke langganan Azure Anda
  • PingAccess dan PingFederate disebarkan dalam kontainer Docker atau pada komputer virtual (VM) Azure

Konektivitas dan komunikasi

Konfirmasikan konektivitas dan komunikasi berikut.

  • Server PingAccess – Berkomunikasi dengan server PingFederate, browser klien, OIDC, OAuth terkenal dan penemuan kunci yang diterbitkan oleh layanan Azure AD B2C dan server PingFederate
  • Server PingFederate – Berkomunikasi dengan server PingAccess, browser klien, OIDC, OAuth terkenal dan penemuan kunci yang diterbitkan oleh layanan Azure AD B2C
  • Aplikasi AuthN warisan atau berbasis header - Berkomunikasi ke dan dari server PingAccess
  • Aplikasi pihak yang mengandalkan SAML – Mengakses lalu lintas browser dari klien. Mengakses metadata federasi SAML yang diterbitkan oleh layanan Azure AD B2C.
  • Aplikasi modern – Menjangkau lalu lintas browser dari klien. Mengakses penemuan OIDC, OAuth terkenal, dan kunci yang diterbitkan oleh layanan Azure AD B2C.
  • REST API – Mengakses trafik dari klien native atau web. Mengakses penemuan OIDC, OAuth terkenal, dan kunci yang diterbitkan oleh layanan Azure AD B2C

Mengonfigurasi Azure AD B2C

Anda dapat menggunakan alur pengguna dasar atau kebijakan Identity Enterprise Framework (IEF) tingkat lanjut. PingAccess menghasilkan titik akhir metadata, berdasarkan nilai penerbit, dengan menggunakan protokol WebFinger untuk konvensi penemuan. Untuk mengikuti konvensi ini, perbarui penerbit Azure AD B2C menggunakan properti kebijakan alur pengguna.

Cuplikan layar URL klaim sub subjek pada dialog kompatibilitas token.

Dalam kebijakan lanjutan, konfigurasi mencakup elemen metadata IssuanceClaimPattern ke nilai AuthorityWithTfp di profil teknis penerbit JWT.

Mengonfigurasi PingAccess dan PingFederate

Gunakan instruksi di bagian berikut untuk mengonfigurasi PingAccess dan PingFederate. Lihat diagram alur pengguna integrasi keseluruhan berikut.

Diagram alur pengguna integrasi PingAccess dan PingFederate

Mengonfigurasi PingFederate sebagai penyedia token

Untuk mengonfigurasi PingFederate sebagai penyedia token untuk PingAccess, pastikan konektivitas dari PingFederate ke PingAccess. Konfirmasi konektivitas dari PingAccess ke PingFederate.

Mengonfigurasi aplikasi PingAccess untuk autentikasi berbasis header

Gunakan instruksi berikut untuk membuat aplikasi PingAccess untuk aplikasi web target, untuk autentikasi berbasis header.

Membuat host virtual

Penting

Buat host virtual untuk setiap aplikasi.

Untuk membuat host virtual:

  1. Beralih ke Pengaturan>Akses>Host Virtual.
  2. Pilih Tambahkan Host Virtual.
  3. Untuk Host, masukkan bagian FQDN dari URL Aplikasi.
  4. Untuk Port, masukkan 443.
  5. Pilih Simpan.

Membuat sesi web

Untuk membuat sesi web:

  1. Navigasi ke Pengaturan>Akses>Sesi Web.
  2. Pilih Tambahkan Sesi Web.
  3. Masukkan Nama untuk sesi web.
  4. Pilih Jenis Cookie: JWT yang Ditandatangani atau JWT Terenkripsi.
  5. Masukkan nilai unik untuk Audiens.
  6. Untuk ID Klien, masukkan ID Aplikasi Microsoft Entra.
  7. Untuk Rahasia Klien, masukkan Kunci yang Anda buat untuk aplikasi di ID Microsoft Entra.
  8. (Opsional) Membuat dan menggunakan klaim kustom dengan Microsoft Graph API: Pilih Tingkat Lanjut. Hapus centang Profil Permintaan dan Perbarui Atribut Pengguna. Pelajari selengkapnya tentang klaim kustom: Single sign-on berbasis header untuk aplikasi di lokasi dengan proksi aplikasi Microsoft Entra.
  9. Pilih Simpan

Membuat pemetaan identitas

Nota

Anda dapat menggunakan pemetaan identitas dengan lebih dari satu aplikasi, jika mereka mengharapkan data yang sama di header.

Untuk membuat pemetaan identitas:

  1. Buka Pengaturan>Akses>Pemetaan Identitas.
  2. Pilih Tambahkan Pemetaan Identitas.
  3. Tentukan *Nama.
  4. Pilih Jenis Pemetaan Identitas Pemetaan Identitas Header.
  5. Dalam tabel Pemetaan Atribut , tentukan pemetaan yang diperlukan. Contohnya,
Nama atribut Nama Header
upn x-userprincipalname
email surel x
'Id' X-oid
'SCP' ruang lingkup x
amr x-amr
  1. Pilih Simpan

Membuat situs

Nota

Dalam beberapa konfigurasi, situs dapat berisi beberapa aplikasi. Anda dapat menggunakan situs dengan lebih dari satu aplikasi, jika sesuai.

Untuk membuat situs:

  1. Pergi ke Utama>Situs.
  2. Pilih Tambahkan Situs.
  3. Masukkan Nama situs.
  4. Masukkan situs Target. Targetnya adalah pasangan hostname:port untuk server yang menghosting aplikasi. Jangan masukkan jalur aplikasi di bidang ini. Misalnya, aplikasi di https://mysite:9999/AppName memiliki nilai target mysite:9999.
  5. Tunjukkan apakah target mengharapkan koneksi yang aman.
  6. Jika target mengharapkan koneksi aman, atur Grup Sertifikat Tepercaya ke Percaya Apa Pun.
  7. Pilih Simpan.

Membuat aplikasi

Untuk membuat aplikasi di PingAccess untuk setiap aplikasi di Azure yang ingin Anda lindungi.

  1. Pergi ke Utama>Aplikasi

  2. Pilih Tambahkan Aplikasi

  3. Tentukan Nama untuk aplikasi

  4. Secara opsional, masukkan Deskripsi untuk aplikasi

  5. Tentukan Akar Konteks untuk aplikasi. Misalnya, aplikasi di https://mysite:9999/AppName akan memiliki akar konteks /AppName. Akar konteks harus dimulai dengan garis miring (/), tidak boleh diakhir dengan garis miring (/), dan dapat lebih dari satu lapisan dalam, misalnya, /Apps/MyApp.

  6. Pilih host virtual yang Anda buat

    Nota

    Kombinasi host virtual dan akar konteks harus unik dalam PingAccess.

  7. Pilih sesi web yang Anda buat

  8. Pilih Situs yang Anda buat yang berisi aplikasi

  9. Pilih Pemetaan Identitas yang Anda buat

  10. Pilih Diaktifkan untuk mengaktifkan situs saat Anda menyimpan

  11. Pilih Simpan

Mengonfigurasi kebijakan autentikasi PingFederate

Mengonfigurasi kebijakan autentikasi PingFederate untuk melakukan federasi ke beberapa IdP yang disediakan oleh penyewa Azure AD B2C

  1. Buat kontrak untuk menjembatani atribut antara Penyedia Identitas (IdP) dan Penyedia Layanan (SP). Anda seharusnya hanya memerlukan satu kontrak kecuali SP memerlukan sekumpulan atribut yang berbeda dari setiap IdP. Untuk informasi selengkapnya, lihat Hub federasi dan kontrak kebijakan autentikasi dalam dokumentasi Identitas Ping.

  2. Untuk setiap IdP, buat koneksi IdP antara IdP dan PingFederate, hub federasi yang bertindak sebagai penyedia layanan (SP).

  3. Pada jendela Pemetaan Sesi Target , tambahkan kontrak kebijakan autentikasi yang berlaku ke koneksi IdP.

  4. Pada jendela Pemilih , konfigurasikan pemilih autentikasi. Misalnya, lihat contoh Adaptor Pertama Pengenal untuk memetakan setiap IdP ke koneksi IdP yang sesuai dalam kebijakan autentikasi.

  5. Buat koneksi SP antara PingFederate, hub federasi sebagai IdP, dan SP.

  6. Tambahkan kontrak kebijakan autentikasi yang sesuai ke koneksi SP pada jendela Pemetaan Sumber Autentikasi .

  7. Bekerja sama dengan setiap IdP untuk terhubung ke PingFederate, pusat federasi sebagai Penyedia Layanan (SP).

  8. Bekerja dengan SP untuk menyambungkan ke PingFederate, hub federasi sebagai IdP.

Langkah berikutnya

Untuk informasi tambahan, tinjau artikel berikut