Gambaran umum kebijakan kustom Azure AD B2C

Kebijakan kustom adalah file konfigurasi yang menentukan perilaku penyewa Azure Active Directory B2C (Azure AD B2C) Anda. Meskipun alur pengguna telah ditentukan sebelumnya di portal Azure AD B2C untuk tugas identitas yang paling umum, kebijakan kustom dapat sepenuhnya diedit oleh pengembang identitas untuk menyelesaikan banyak tugas yang berbeda.

Kebijakan kustom sepenuhnya dapat dikonfigurasi dan didorong oleh kebijakan. Kebijakan kustom mengorkestrasi kepercayaan antara entitas dalam protokol standar. Misalnya, OpenID Connect, OAuth, SAML, dan beberapa yang non-standar, misalnya pertukaran klaim sistem-ke-sistem berbasis REST API. Kerangka kerja ini menciptakan pengalaman berlabel putih yang cocok untuk pengguna.

Kebijakan kustom diwakili sebagai satu atau beberapa file berformat XML, yang merujuk satu sama lain dalam rantai hierarkis. Elemen XML mendefinisikan blok penyusun, interaksi dengan pengguna, dan pihak lain, dan logika bisnis.

Paket pemula kebijakan kustom

Paket pemula kebijakan kustom Azure AD B2C dilengkapi dengan beberapa kebijakan bawaan untuk membuat Anda berjalan dengan cepat. Masing-masing paket pemula ini berisi sejumlah kecil profil teknis dan perjalanan pengguna yang diperlukan untuk mencapai skenario yang dijelaskan:

  • LocalAccounts - Hanya memungkinkan penggunaan akun lokal.
  • SocialAccounts - Hanya memungkinkan penggunaan akun sosial (atau federasi).
  • SocialAndLocalAccounts - Memungkinkan penggunaan akun lokal dan sosial. Sebagian besar sampel kami mengacu pada kebijakan ini.
  • SocialAndLocalAccountsWithMFA mengaktifkan opsi autentikasi sosial, lokal, dan multifaktor.

Di Repositori GitHub sampel Azure AD B2C, Anda akan menemukan sampel untuk beberapa perjalanan pengguna CIAM kustom Azure AD B2C. Misalnya, penyempurnaan kebijakan akun lokal, penyempurnaan kebijakan akun sosial, penyempurnaan MFA, penyempurnaan antarmuka pengguna, penyempurnaan umum, migrasi aplikasi, migrasi pengguna, akses bersyarat, pengujian web, dan CI/CD.

Memahami dasar-dasarnya

Klaim

Klaim menyediakan penyimpanan data sementara selama eksekusi kebijakan Azure AD B2C. Ini dapat menyimpan informasi tentang pengguna, seperti nama depan, nama belakang, atau klaim lain yang diperoleh dari pengguna atau sistem lain (pertukaran klaim). Skema klaim adalah tempat di mana Anda menyatakan klaim Anda.

Ketika kebijakan berjalan, Azure AD B2C mengirim dan menerima klaim ke dan dari pihak internal dan eksternal dan kemudian mengirim subset klaim ini ke aplikasi pihak yang mengandalkan Anda sebagai bagian dari token. Klaim digunakan dengan cara berikut:

  • Klaim disimpan, dibaca, atau diperbarui terhadap obyek pengguna direktori.
  • Klaim diterima dari penyedia identitas eksternal.
  • Klaim dikirim atau diterima menggunakan layanan REST API kustom.
  • Data dikumpulkan sebagai klaim dari pengguna selama pendaftaran atau mengedit alur profil.

Memanipulasi klaim Anda

Transformasi klaim adalah fungsi yang telah ditentukan sebelumnya yang dapat digunakan untuk mengonversi klaim yang diberikan ke yang lain, mengevaluasi klaim, atau menetapkan nilai klaim. Misalnya menambahkan item ke koleksi string, mengubah kasus string, atau mengevaluasi klaim tanggal dan waktu. Transformasi klaim menentukan metode transformasi.

Mengkustomisasi dan melokalisasi UI Anda

Untuk Anda ingin mengumpulkan informasi dari pengguna Anda dengan menyajikan halaman di browser web mereka, gunakan profil teknis yang divalidasi sendiri. Anda dapat mengedit profil teknis yang ditegaskan sendiri untuk menambahkan klaim dan menyesuaikan input pengguna.

Untuk menyesuaikan antarmuka pengguna untuk profil teknis yang ditegaskan sendiri, Anda menentukan URL dalam elemen definisi konten dengan konten HTML yang dikustomisasi. Dalam profil teknis yang ditegaskan sendiri, Anda menunjuk ke ID definisi konten ini.

Untuk menyesuaikan string spesifik bahasa, gunakan elemen lokalisasi. Definisi konten mungkin berisi referensi lokalisasi yang menentukan daftar sumber daya yang dilokalkan untuk dimuat. Azure AD B2C menggabungkan elemen antarmuka pengguna dengan konten HTML yang dimuat dari URL Anda lalu menampilkan halaman tersebut kepada pengguna.

Mengandalkan gambaran umum kebijakan partai

Aplikasi pihak yang mengandalkan, yang dalam protokol SAML dikenal sebagai penyedia layanan, menyebut kebijakan pihak yang mengandalkan untuk menjalankan perjalanan pengguna tertentu. Kebijakan pihak yang mengandalkan menentukan perjalanan pengguna yang akan dieksekusi, dan daftar klaim yang termasuk token.

Diagram showing the policy execution flow

Semua aplikasi pihak yang mengandalkan yang menggunakan kebijakan yang sama akan menerima klaim token yang sama, dan pengguna melalui perjalanan pengguna yang sama.

Perjalanan pengguna

Perjalanan pengguna memungkinkan Anda untuk menentukan logika bisnis dengan jalur di mana pengguna akan mengikuti untuk mendapatkan akses ke aplikasi Anda. Pengguna dibawa melalui perjalanan pengguna untuk mengambil klaim yang akan disajikan ke aplikasi Anda. Perjalanan pengguna dibangun dari urutan langkah orkestrasi. Pengguna harus mencapai langkah terakhir untuk mendapatkan token.

Instruksi berikut menjelaskan bagaimana Anda dapat menambahkan langkah-langkah orkestrasi ke kebijakan paket pemula akun sosial dan lokal. Berikut ini contoh panggilan REST API yang telah ditambahkan.

customized user journey

Langkah-langkah orkestrasi

Langkah orkestrasi mengacu pada metode yang mengimplementasikan tujuan atau fungsionalitas yang dimaksudkan. Metode ini disebut profil teknis. Ketika perjalanan pengguna Anda membutuhkan percabangan untuk lebih mewakili logika bisnis, langkah orkestrasi referensi ke sub perjalanan. Sub perjalanan berisi serangkaian langkah orkestrasinya sendiri.

Pengguna harus mencapai langkah orkestrasi terakhir dalam perjalanan pengguna untuk memperoleh token. Tetapi pengguna mungkin tidak perlu melakukan perjalanan melalui semua langkah orkestrasi. Langkah orkestrasi dapat dieksekusi secara kondisional berdasarkan prakondisi yang ditentukan dalam langkah orkestrasi.

Setelah langkah orkestrasi selesai, Azure AD B2C menyimpan klaim yang dihasilkan dalam kantong klaim. Klaim dalam kantong klaim dapat digunakan dengan langkah orkestrasi lebih lanjut dalam perjalanan pengguna.

Diagram berikut menunjukkan bagaimana langkah-langkah orkestrasi perjalanan pengguna dapat mengakses kantong klaim.

Azure AD B2C user journey

Profil teknis

Profil teknis menyediakan antarmuka untuk berkomunikasi dengan berbagai jenis pihak. Perjalanan pengguna menggabungkan panggilan profil teknis melalui langkah-langkah orkestrasi untuk menentukan logika bisnis Anda.

Semua jenis profil teknis memiliki konsep yang sama. Anda mengirim klaim input, menjalankan transformasi klaim, dan berkomunikasi dengan pihak yang dikonfigurasi. Setelah proses selesai, profil teknis mengembalikan klaim output ke kantong klaim. Untuk informasi selengkapnya, lihat gambaran umum profil teknis.

Profil teknis validasi

Saat pengguna berinteraksi dengan antarmuka pengguna, Anda mungkin ingin memvalidasi data yang dikumpulkan. Untuk berinteraksi dengan pengguna, profil teknis yang ditegaskan sendiri harus digunakan.

Untuk memvalidasi input pengguna, profil teknis validasi dipanggil dari profil teknis yang ditegaskan sendiri. Profil teknis validasi adalah metode untuk memanggil profil teknis non-interaktif apa pun. Dalam hal ini, profil teknis dapat mengembalikan klaim output, atau pesan kesalahan. Pesan kesalahan dirender kepada pengguna di layar, memungkinkan pengguna untuk mencoba kembali.

Diagram berikut ini menggambarkan bagaimana Azure AD B2C menggunakan profil teknis validasi untuk memvalidasi kredensial pengguna.

Validation technical profile diagram

Model pewarisan

Setiap paket pemula menyertakan file berikut:

  • File Dasar yang berisi sebagian besar definisi. Untuk membantu pemecahan masalah dan pemeliharaan jangka panjang kebijakan Anda, coba minimalkan jumlah perubahan yang Anda lakukan pada file ini.
  • File Pelokalan yang memegang untai (karakter) pelokalan. File kebijakan ini berasal dari file Base. Gunakan file ini untuk mengakomodasi berbagai bahasa yang sesuai dengan kebutuhan pelanggan Anda.
  • File Ekstensi yang menyimpan perubahan konfigurasi unik untuk penyewa Anda. File kebijakan ini berasal dari file Pelokalan. Gunakan file ini untuk menambahkan fungsionalitas baru atau mengesampingkan fungsionalitas yang ada. Misalnya, gunakan file ini untuk federasi dengan penyedia identitas baru.
  • File RP (Relying Party/ Pihak yang mengandalkan) yang merupakan file tunggal yang berfokus pada tugas yang dipanggil langsung oleh aplikasi pihak yang mengandalkan, seperti aplikasi web, seluler, atau desktop Anda. Setiap tugas unik, seperti pendaftaran, masuk, atau pengeditan profil, memerlukan file kebijakan pihak yang diandalkan masing-masing. Berkas kebijakan ini berasal dari berkas ekstensi.

Model pewarisan adalah sebagai berikut:

  • Kebijakan anak di tingkat mana pun dapat mewarisi dari kebijakan induk dan memperluasnya dengan menambahkan elemen baru.
  • Untuk skenario yang lebih kompleks, Anda dapat menambahkan lebih banyak tingkat warisan (total hingga 10).
  • Anda dapat menambahkan kebijakan pihak yang lebih mengandalkan. Misalnya, hapus akun saya, ubah nomor telepon, SAML yang mengandalkan kebijakan pihak yang mengandalkan dan banyak lagi.

Diagram berikut menunjukkan hubungan antara file kebijakan dan aplikasi pihak yang mengandalkan.

Diagram showing the trust framework policy inheritance model

Panduan dan praktik terbaik

Praktik terbaik

Dalam kebijakan kustom Azure AD B2C, Anda dapat mengintegrasikan logika bisnis Anda sendiri untuk membangun pengalaman pengguna yang Anda butuhkan dan memperluas fungsionalitas layanan. Kami memiliki serangkaian praktik dan rekomendasi terbaik untuk memulai.

  • Buat logika Anda dalam kebijakan ekstensi, atau kebijakan pihak yang mengandalkan. Anda dapat menambahkan elemen baru, yang akan mengesampingkan kebijakan dasar dengan mereferensikan ID yang sama. Pendekatan ini akan memungkinkan Anda untuk meluaskan skala proyek Anda sekaligus memudahkan untuk meningkatkan kebijakan dasar nanti jika Microsoft merilis paket pemula baru.
  • Dalam kebijakan dasar,kami sangat menyarankan untuk menghindari perubahan apa pun. Bila perlu, buat komentar di mana perubahan dilakukan.
  • Saat Anda mengesampingkan elemen, seperti metadata profil teknis, hindari menyalin seluruh profil teknis dari kebijakan dasar. Sebaliknya, salin hanya bagian elemen yang diperlukan. Lihat Menonaktifkan verifikasi email untuk contoh cara melakukan perubahan.
  • Untuk mengurangi duplikasi profil teknis, di mana fungsi inti dibagikan, gunakan inklusi profil teknis.
  • Hindari menulis ke direktori Microsoft Azure Active Directory selama masuk, yang dapat menyebabkan masalah pembatasan.
  • Jika kebijakan Anda memiliki dependensi eksternal, seperti API REST, pastikan kebijakan tersebut sangat tersedia.
  • Untuk pengalaman pengguna yang lebih baik, pastikan templat HTML kustom Anda, diterapkan secara global menggunakan pengiriman konten online. Azure Content Delivery Network (CDN) memungkinkan Anda mengurangi waktu muat, menyimpan bandwidth, dan meningkatkan kecepatan respons.
  • Jika Anda ingin melakukan perubahan pada perjalanan pengguna, salin seluruh perjalanan pengguna dari kebijakan dasar ke kebijakan ekstensi. Berikan ID perjalanan pengguna yang unik untuk perjalanan pengguna yang telah Anda salin. Kemudian dalam kebijakan pihak yang mengandalkan, ubah elemen perjalanan pengguna default untuk menunjuk ke perjalanan pengguna baru.

Pemecahan Masalah

Saat mengembangkan kebijakan Azure AD B2C, Anda mungkin mengalami kesalahan atau pengecualian saat menjalankan perjalanan pengguna Anda. Yang dapat diselidiki menggunakan Application Insights.

Integrasi berkelanjutan

Dengan menggunakan saluran integrasi dan pengiriman berkelanjutan (CI/CD) yang Anda siapkan di Azure Pipelines, Anda dapat menyertakan kebijakan kustom Azure AD B2C dalam pengiriman perangkat lunak dan otomatisasi kontrol kode. Saat Anda menerapkan ke lingkungan Azure AD B2C yang berbeda, misalnya dev, test, dan production, kami sarankan Anda menghapus proses manual dan melakukan pengujian otomatis dengan menggunakan Azure Pipelines.

Siapkan lingkungan Anda

Anda mulai menggunakan kebijakan kustom Azure AD B2C:

  1. Buat penyewa Azure AD B2C
  2. Daftarkan aplikasi web menggunakan portal Microsoft Azure sehingga Anda dapat menguji kebijakan Anda.
  3. Tambahkan kunci kebijakan yang diperlukan dan daftarkan aplikasi Identity Experience Framework.
  4. Dapatkan paket pemula kebijakan Azure AD B2C dan unggah ke penyewa Anda.
  5. Setelah Mengupload paket pemula, uji kebijakan pendaftaran atau masuk Anda.
  6. Kami menyarankan Anda untuk mengunduh dan menginstal Kode Visual Studio (VS Code). Visual Studio Code adalah editor kode sumber yang ringan namun kuat, yang berjalan di desktop Anda dan tersedia untuk Windows, macOS, dan Linux. Dengan VS Code, Anda dapat dengan cepat menavigasi dan mengedit file XML kebijakan kustom Azure AD B2C Anda dengan menginstal ekstensi Azure AD B2C untuk VS Code

Langkah berikutnya

Setelah menyiapkan dan menguji kebijakan Azure AD B2C, Anda bisa mulai menyesuaikan kebijakan Anda. Bacalah artikel berikut ini untuk mempelajari cara:

  • Tambahkan klaim dan sesuaikan input pengguna menggunakan kebijakan kustom. Pelajari cara menentukan klaim dan menambahkan klaim ke antarmuka pengguna dengan menyesuaikan beberapa profil teknis paket pemula.
  • Sesuaikan antarmuka pengguna aplikasi Anda menggunakan kebijakan kustom. Pelajari cara membuat konten HTML Anda sendiri, dan menyesuaikan definisi konten.
  • Lokalkan antarmuka pengguna aplikasi Anda menggunakan kebijakan kustom. Pelajari cara menyiapkan daftar bahasa yang didukung, dan menyediakan label khusus bahasa, dengan menambahkan elemen sumber daya yang dilokalkan.
  • Selama pengembangan dan pengujian kebijakan, Anda dapat menonaktifkan verifikasi email. Pelajari cara menimpa metadata profil teknis.
  • Siapkan login dengan akun Google menggunakan kebijakan kustom. Pelajari cara membuat penyedia klaim baru dengan profil teknis OAuth2. Kemudian sesuaikan perjalanan pengguna untuk menyertakan opsi masuk Google.
  • Untuk mendiagnosis masalah dengan kebijakan kustom Anda, Anda dapat Mengumpulkan log Azure Active Directory B2C dengan Application Insights. Pelajari cara menambahkan profil teknis baru, dan mengonfigurasi kebijakan pihak yang mengandalkan Anda.