Memigrasikan pengguna ke Azure AD B2C

Migrasi dari IdP lain ke Azure Active Directory B2C (Azure AD B2C) mungkin juga memerlukan migrasi akun pengguna yang sudah ada. Dua metode migrasi dibahas di sini, pramigrasi dan migrasi yang mulus. Dengan kedua pendekatan tersebut, Anda diharuskan menulis aplikasi atau skrip yang menggunakan Microsoft Graph API untuk membuat akun pengguna di Azure AD B2C.

Tonton video ini untuk mempelajari tentang strategi migrasi pengguna Azure Active Directory B2C dan langkah-langkah yang perlu dipertimbangkan.

Catatan

Sebelum memulai migrasi, pastikan kuota penyewa B2C yang tidak digunakan Azure AD dapat mengakomodasi semua pengguna yang ingin Anda migrasikan. Pelajari cara Mendapatkan penggunaan penyewa Anda. Jika Anda perlu meningkatkan batas kuota penyewa, hubungi Dukungan Microsoft.

Pramigrasi

Dalam alur pramigrasi, aplikasi migrasi Anda melakukan langkah-langkah berikut untuk setiap akun pengguna:

  1. Baca akun pengguna dari IdP lama, termasuk info masuknya saat ini (nama pengguna dan kata sandi).
  2. Buat akun terkait di direktori Azure AD B2C Anda dengan info masuk saat ini.

Gunakan alur pramigrasi dalam salah satu dari dua situasi berikut:

  • Anda memiliki akses ke info masuk teks biasa pengguna (nama pengguna dan kata sandi mereka).
  • Info masuk dienkripsi, tetapi Anda dapat mendekripsinya.

Untuk informasi tentang membuat akun pengguna secara terprogram, lihat Mengelola akun pengguna Azure AD B2C dengan Microsoft Graph.

Migrasi yang mulus

Gunakan aliran migrasi yang mulus jika kata sandi teks biasa di IdP lama tidak dapat diakses. Misalnya, ketika:

  • Kata sandi disimpan dalam format terenkripsi satu arah, seperti dengan fungsi hash.
  • Kata sandi disimpan oleh IdP warisan dengan cara yang tidak dapat Anda akses. Misalnya, ketika IdP memvalidasi info masuk dengan memanggil layanan web.

Alur migrasi yang mulus masih memerlukan pramigrasi akun pengguna, tetapi kemudian menggunakan kebijakan kustom untuk mengkueri REST API (yang Anda buat) untuk mengatur kata sandi setiap pengguna pada saat pertama kali masuk.

Alur migrasi yang mulus terdiri dari dua fase: pramigrasi dan menetapkan info masuk.

Fase 1: Pramigrasi

  1. Aplikasi migrasi Anda membaca akun pengguna dari IdP lama.
  2. Aplikasi migrasi membuat akun pengguna terkait di direktori Azure AD B2C Anda, tetapi mengatur kata sandi acak yang Anda hasilkan.

Fase 2: Menetapkan info masuk

Setelah pramigrasi akun selesai, kebijakan kustom Anda dan REST API akan melakukan hal berikut saat pengguna masuk:

  1. Baca akun pengguna Azure AD B2C yang terkait dengan alamat email yang dimasukkan.
  2. Periksa apakah akun ditandai untuk migrasi dengan mengevaluasi atribut ekstensi boolean.
    • Jika atribut ekstensi mengembalikan True, panggil REST API Anda untuk memvalidasi sandi terhadap IdP warisan.
      • Jika REST API menentukan kata sandi salah, kembalikan kesalahan yang ramah kepada pengguna.
      • Jika REST API menentukan kata sandi sudah benar, tulis kata sandi ke akun Azure AD B2C dan ubah atribut ekstensi boolean ke False.
    • Jika atribut ekstensi boolean mengembalikan False, lanjutkan proses masuk seperti biasa.

Untuk melihat contoh kebijakan kustom dan REST API, lihat sampel migrasi pengguna yang mulus di GitHub.

Diagram alur dari pendekatan migrasi tanpa masalah untuk migrasi pengguna

Keamanan

Pendekatan migrasi yang mulus menggunakan REST API kustom Anda sendiri untuk memvalidasi info masuk pengguna terhadap IdP warisan.

Anda harus melindungi REST API Anda dari serangan brute-force. Penyerang dapat mengirimkan beberapa kata sandi dengan harapan akhirnya menebak info masuk pengguna. Untuk membantu mengatasi serangan tersebut, berhenti memberi permintaan ke REST API Anda ketika jumlah upaya masuk melewati ambang tertentu. Selain itu, amankan komunikasi antara Azure AD B2C dan REST API Anda. Untuk mempelajari cara mengamankan RESTful API untuk produksi, lihat Mengamankan RESTful API.

Atribut pengguna

Tidak semua informasi di IdP warisan harus dimigrasikan ke direktori Azure AD B2C Anda. Identifikasi set atribut pengguna yang sesuai untuk disimpan di Azure AD B2C sebelum melakukan migrasi.

  • Toko DO di Azure AD B2C:
    • Nama pengguna, kata sandi, alamat email, nomor telepon, nomor keanggotaan/pengidentifikasi.
    • Penanda persetujuan untuk kebijakan privasi dan perjanjian lisensi pengguna akhir.
  • JANGAN simpan di Azure AD B2C:
    • Data sensitif seperti nomor kartu kredit, nomor jaminan sosial (SSN), catatan medis, atau data lain yang diatur oleh badan kepatuhan pemerintah atau industri.
    • Preferensi pemasaran atau komunikasi, perilaku pengguna, dan insight.

Pembersihan direktori

Sebelum memulai proses migrasi, luangkan waktu untuk membersihkan direktori Anda.

  • Identifikasi set atribut pengguna yang akan disimpan di Azure AD B2C, dan migrasikan hanya apa yang Anda butuhkan. Jika perlu, Anda dapat membuat atribut kustom untuk menyimpan lebih banyak data tentang pengguna.
  • Jika Anda bermigrasi dari lingkungan dengan beberapa sumber autentikasi (misalnya, setiap aplikasi memiliki direktori penggunanya sendiri), bermigrasi ke akun terpadu di Azure AD B2C.
  • Jika beberapa aplikasi memiliki nama pengguna yang berbeda, Anda dapat menyimpan semuanya di akun pengguna Azure AD B2C dengan menggunakan kumpulan identitas. Tentang kata sandi, biarkan pengguna memilih satu kata sandi dan mengaturnya di direktori. Misalnya, dengan migrasi yang mulus, hanya kata sandi yang dipilih yang harus disimpan di akun Azure AD B2C.
  • Hapus akun pengguna yang tidak digunakan, atau jangan memigrasikan akun kedaluwarsa.

Kebijakan kata sandi

Jika akun yang Anda migrasi memiliki kekuatan kata sandi yang lebih lemah daripada kekuatan kata sandi yang kuat yang diberlakukan oleh Azure AD B2C, Anda dapat menonaktifkan persyaratan kata sandi yang kuat. Untuk informasi selengkapnya, lihat Properti kebijakan kata sandi.

Langkah berikutnya

azure-ad-b2c/user-migration Repositori di GitHub berisi contoh kebijakan kustom migrasi yang mulus dan sampel kode REST API:

Kebijakan kustom migrasi pengguna yang mulus dan sampel kode REST API