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, pengembang identitas dapat mengedit kebijakan kustom 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 Koneksi, OAuth, SAML, dan beberapa yang tidak biasa, 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 memulai 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 - Memungkinkan opsi autentikasi sosial, lokal, dan multifaktor.
Dalam repositori GitHub sampel Azure AD B2C, Anda menemukan sampel untuk beberapa perjalanan dan skenario pengguna CIAM kustom Azure AD B2C yang disempurnakan. 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. Klaim lebih seperti variabel dalam bahasa pemrograman. 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, yang juga telah ditentukan sebelumnya.
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.
Semua aplikasi pihak yang mengandalkan yang menggunakan kebijakan yang sama menerima klaim token yang sama, dan pengguna melewati perjalanan pengguna yang sama.
Perjalanan pengguna
Perjalanan pengguna memungkinkan Anda menentukan logika bisnis dengan jalur yang diikuti pengguna 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.
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.
Profil teknis
Profil teknis menyediakan antarmuka untuk berkomunikasi dengan berbagai jenis pihak. Perjalanan pengguna menggabungkan panggilan profil teknis melalui langkah-langkah pengelolaan 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 cara Azure AD B2C menggunakan profil teknis validasi untuk memvalidasi info masuk pengguna.
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.
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 mengambil alih kebijakan dasar dengan mereferensikan ID yang sama. Pendekatan ini memungkinkan Anda untuk menskalakan proyek Anda sambil mempermudah peningkatan 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 Entra 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.
- Integrasikan Application Insights dengan Azure AD B2C untuk mendiagnosis pengecualian.
- Ekstensi Azure AD B2C untuk Visual Studio Code dapat membantu Anda mengakses dan memvisualisasikan log berdasarkan nama dan waktu kebijakan.
- Kesalahan paling umum dalam menyiapkan kebijakan kustom adalah XML yang diformat secara tidak benar. Gunakan validasi skema XML untuk mengidentifikasi kesalahan sebelum Anda mengunggah file XML Anda.
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.
Menyiapkan lingkungan Anda
Anda mulai menggunakan kebijakan kustom Azure AD B2C:
- Buat penyewa Azure AD B2C
- Daftarkan aplikasi web menggunakan portal Microsoft Azure sehingga Anda dapat menguji kebijakan Anda.
- Tambahkan kunci kebijakan yang diperlukan dan daftarkan aplikasi Identity Experience Framework.
- Dapatkan paket pemula kebijakan Azure AD B2C dan unggah ke penyewa Anda.
- Setelah Mengupload paket pemula, uji kebijakan pendaftaran atau masuk Anda.
- Sebaiknya Anda mengunduh dan menginstal Visual Studio Code (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.
- Jika Anda ingin memahami bagaimana kebijakan kustom dibuat dari awal, pelajari cara Membuat dan menjalankan kebijakan kustom Anda sendiri di seri panduan panduan Azure Active Directory B2C.