Mengonfigurasi persyaratan kompleksitas untuk kata sandi di Azure Active Directory B2C
Sebelum memulai, gunakan pemilih Pilih jenis kebijakan untuk memilih jenis kebijakan yang Anda siapkan. Azure Active Directory B2C menawarkan dua metode untuk menentukan cara pengguna berinteraksi dengan aplikasi Anda: melalui alur pengguna yang telah ditentukan sebelumnya atau melalui kebijakan kustom yang sepenuhnya dapat dikonfigurasi. Langkah yang diperlukan dalam artikel ini berbeda untuk setiap metode.
Azure Active Directory B2C (Azure AD B2C) mendukung perubahan persyaratan kompleksitas untuk kata sandi yang disediakan oleh pengguna akhir saat membuat akun. Secara default, Azure AD B2C menggunakan kata sandi yang Kuat. Azure AD B2C juga mendukung opsi konfigurasi untuk mengontrol kompleksitas kata sandi yang dapat digunakan pelanggan.
Prasyarat
- Buat alur pengguna agar pengguna dapat mendaftar dan masuk ke aplikasi Anda.
- Daftarkan aplikasi web.
- Selesaikan langkah-langkah dalam Memulai dengan kebijakan kustom di Active Directory B2C
- Daftarkan aplikasi web.
Pemberlakuan aturan kata sandi
Selama pendaftaran atau reset kata sandi, pengguna akhir harus menyediakan kata sandi yang memenuhi aturan kompleksitas. Aturan kompleksitas kata sandi diberlakukan per alur pengguna. Dimungkinkan untuk memiliki satu alur pengguna memerlukan pin empat digit selama pendaftaran sementara alur pengguna lain memerlukan string delapan karakter selama pendaftaran. Misalnya, Anda dapat menggunakan alur pengguna dengan kompleksitas kata sandi yang berbeda untuk orang dewasa daripada untuk anak-anak.
Kompleksitas kata sandi tidak pernah diberlakukan selama rincian masuk. Pengguna tidak akan diminta untuk mengubah kata sandi mereka saat memberikan rincian masuk karena itu tidak memenuhi persyaratan kompleksitas saat ini.
Anda dapat mengonfigurasi kompleksitas kata sandi dalam jenis alur pengguna berikut:
- Alur pengguna pendaftaran atau rincian masuk
- Alur pengguna Reset Kata Sandi
Jika Anda menggunakan kebijakan kustom, Anda dapat mengonfigurasi kompleksitas kata sandi dalam kebijakan kustom.
Mengonfigurasi kompleksitas kata sandi
- Masuk ke portal Azure.
- Jika Anda memiliki akses ke beberapa penyewa, pilih ikon Pengaturan di menu atas untuk beralih ke penyewa Azure AD B2C Anda dari menu Direktori + langganan.
- Di portal Microsoft Azure, cari dan pilih AAD B2C.
- Pilih Alur pengguna.
- Pilih alur pengguna, dan klik Properti.
- Di bawah Kompleksitas kata sandi, ubah kompleksitas kata sandi untuk alur pengguna ini menjadi Sederhana, Kuat, atau Kustom.
Bagan Perbandingan
Kompleksitas | Deskripsi |
---|---|
Sederhana | Kata sandi yang setidaknya 8 hingga 64 karakter. |
Kuat | Kata sandi yang setidaknya 8 hingga 64 karakter. Ini membutuhkan 3 dari 4 huruf kecil, huruf besar, angka, atau simbol. |
Adat | Opsi ini memberikan kontrol paling besar atas aturan kompleksitas kata sandi. Opsi ini memungkinkan konfigurasi panjang kustom. Opsi ini juga memungkinkan menerima kata sandi (pin) hanya angka. |
Opsi kustom
Tataan Karakter
Memungkinkan Anda menerima digit saja (pin) atau tataan karakter lengkap.
- Angka hanya memungkinkan hanya angka (0-9) saat memasukkan kata sandi.
- Semua memungkinkan huruf, angka, atau simbol apa pun.
Panjang
Memungkinkan Anda mengontrol persyaratan panjang kata sandi.
- Panjang Minimum harus minimal 4.
- Panjang Maksimum harus lebih besar atau sama dengan panjang minimum dan paling banyak bisa 256 karakter.
Kelas karakter
Memungkinkan Anda mengontrol berbagai jenis karakter yang digunakan dalam kata sandi.
2 dari 4: karakter Huruf kecil, karakter Huruf besar, Angka (0-9), Simbol memastikan kata sandi berisi setidaknya dua jenis karakter. Misalnya, angka dan karakter huruf kecil.
3 dari 4: karakter Huruf kecil, karakter Huruf besar, Angka (0-9), Simbol memastikan kata sandi berisi setidaknya tiga jenis karakter. Misalnya, angka, karakter huruf kecil, dan karakter huruf besar.
4 dari 4: karakter Huruf kecil, karakter Huruf besar, Angka (0-9), Simbol memastikan sandi berisi semua jenis karakter.
Catatan
Mewajibkan 4 dari 4 dapat menyebabkan pengguna akhir frustrasi. Beberapa penelitian menunjukkan bahwa persyaratan ini tidak meningkatkan entropi kata sandi. Lihat Panduan Kata Sandi NIST
Validasi predikat kata sandi
Untuk mengonfigurasi kompleksitas kata sandi, ganti newPassword
tipe reenterPassword
dan klaim dengan referensi untuk membuat predikat validasi. Elemen PredicateValidations mengkelompokkan set predikat untuk membentuk validasi input pengguna yang dapat diterapkan ke jenis klaim. Buka file ekstensi kebijakan Anda. Contohnya, SocialAndLocalAccounts/
TrustFrameworkExtensions.xml
.
Cari elemen BuildingBlocks. Jika elemen tersebut tidak ada, tambahkan.
Temukan elemen ClaimsSchema. Jika elemen tersebut tidak ada, tambahkan.
Tambahkan klaim
newPassword
danreenterPassword
ke elemen ClaimsSchema.<!-- <BuildingBlocks> <ClaimsSchema> --> <ClaimType Id="newPassword"> <PredicateValidationReference Id="CustomPassword" /> </ClaimType> <ClaimType Id="reenterPassword"> <PredicateValidationReference Id="CustomPassword" /> </ClaimType> <!-- </ClaimsSchema> </BuildingBlocks>-->
Predikat menentukan validasi dasar untuk memeriksa nilai jenis klaim dan mengembalikan benar atau salah. Validasi dilakukan dengan menggunakan elemen metode yang ditentukan, dan set parameter yang relevan dengan metode. Tambahkan predikat berikut ke elemen BuildingBlocks, segera setelah penutupan elemen
</ClaimsSchema>
:<!-- <BuildingBlocks>--> <Predicates> <Predicate Id="LengthRange" Method="IsLengthRange"> <UserHelpText>The password must be between 6 and 64 characters.</UserHelpText> <Parameters> <Parameter Id="Minimum">6</Parameter> <Parameter Id="Maximum">64</Parameter> </Parameters> </Predicate> <Predicate Id="Lowercase" Method="IncludesCharacters"> <UserHelpText>a lowercase letter</UserHelpText> <Parameters> <Parameter Id="CharacterSet">a-z</Parameter> </Parameters> </Predicate> <Predicate Id="Uppercase" Method="IncludesCharacters"> <UserHelpText>an uppercase letter</UserHelpText> <Parameters> <Parameter Id="CharacterSet">A-Z</Parameter> </Parameters> </Predicate> <Predicate Id="Number" Method="IncludesCharacters"> <UserHelpText>a digit</UserHelpText> <Parameters> <Parameter Id="CharacterSet">0-9</Parameter> </Parameters> </Predicate> <Predicate Id="Symbol" Method="IncludesCharacters"> <UserHelpText>a symbol</UserHelpText> <Parameters> <Parameter Id="CharacterSet">@#$%^&*\-_+=[]{}|\\:',.?/`~"();!</Parameter> </Parameters> </Predicate> </Predicates> <!-- </BuildingBlocks>-->
Tambahkan validasi predikat berikut ke elemen BuildingBlocks, segera setelah penutupan elemen
</Predicates>
:<!-- <BuildingBlocks>--> <PredicateValidations> <PredicateValidation Id="CustomPassword"> <PredicateGroups> <PredicateGroup Id="LengthGroup"> <PredicateReferences MatchAtLeast="1"> <PredicateReference Id="LengthRange" /> </PredicateReferences> </PredicateGroup> <PredicateGroup Id="CharacterClasses"> <UserHelpText>The password must have at least 3 of the following:</UserHelpText> <PredicateReferences MatchAtLeast="3"> <PredicateReference Id="Lowercase" /> <PredicateReference Id="Uppercase" /> <PredicateReference Id="Number" /> <PredicateReference Id="Symbol" /> </PredicateReferences> </PredicateGroup> </PredicateGroups> </PredicateValidation> </PredicateValidations> <!-- </BuildingBlocks>-->
Menonaktifkan kata sandi yang kuat
Profil teknis berikut adalah profil teknis Direktori Aktif, yang membaca dan menulis data ke ID Microsoft Entra. Ambil alih profil teknis ini dalam file ekstensi. Gunakan PersistedClaims
untuk menonaktifkan kebijakan kata sandi yang kuat. Temukan elemen ClaimsProviders. Tambahkan penyedia klaim sebagai berikut:
<!--
<ClaimsProviders>-->
<ClaimsProvider>
<DisplayName>Azure Active Directory</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="AAD-UserWriteUsingLogonEmail">
<PersistedClaims>
<PersistedClaim ClaimTypeReferenceId="passwordPolicies" DefaultValue="DisablePasswordExpiration, DisableStrongPassword"/>
</PersistedClaims>
</TechnicalProfile>
<TechnicalProfile Id="AAD-UserWritePasswordUsingObjectId">
<PersistedClaims>
<PersistedClaim ClaimTypeReferenceId="passwordPolicies" DefaultValue="DisablePasswordExpiration, DisableStrongPassword"/>
</PersistedClaims>
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
<!--
</ClaimsProviders>-->
Jika Anda menggunakan kebijakan rincian masuk berbasis nama pengguna, perbarui profil teknis AAD-UserWriteUsingLogonEmail
, AAD-UserWritePasswordUsingObjectId
, dan LocalAccountWritePasswordUsingObjectId
dengan kebijakan DisableStrongPassword.
Simpan file kebijakan.
Menguji kebijakan Anda
Unggah file
- Masuk ke portal Azure.
- Jika Anda memiliki akses ke beberapa penyewa, pilih ikon Pengaturan di menu atas untuk beralih ke penyewa Azure AD B2C Anda dari menu Direktori + langganan.
- Pilih Semua layanan di pojok kiri atas portal Microsoft Azure, lalu cari dan pilih AAD B2C.
- Pilih IEF.
- Pada halaman Kebijakan Kustom, pilih Unggah Kebijakan.
- Pilih Timpa kebijakan jika ada, lalu telusuri dan pilih file TrustFrameworkExtensions.xml.
- Pilih Unggah.
Menjalankan kebijakan
- Buka kebijakan pendaftaran atau masuk seperti B2C_1A_signup_signin.
- Untuk Aplikasi, pilih aplikasi Anda yang sebelumnya Anda daftarkan. Untuk melihat token tersebut, URL Balasan akan menampilkan
https://jwt.ms
. - Pilih Jalankan sekarang.
- Pilih Daftar sekarang, masukkan alamat email, dan masukkan kata sandi baru. Panduan membahas tentang pembatasan kata sandi. Selesai memasukkan informasi pengguna, lalu pilih Buat. Anda akan melihat isi token yang dikembalikan.
Langkah berikutnya
- Pelajari cara Mengonfigurasi perubahan kata sandi di Azure Active Directory B2C.
- Pelajari selengkapnya tentang elemen Predikat dan PredicateValidations dalam referensi IEF.