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

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

  1. Masuk ke portal Azure.
  2. 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.
  3. Di portal Microsoft Azure, cari dan pilih AAD B2C.
  4. Pilih Alur pengguna.
  5. Pilih alur pengguna, dan klik Properti.
  6. 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 reenterPassworddan 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.

  1. Cari elemen BuildingBlocks. Jika elemen tersebut tidak ada, tambahkan.

  2. Temukan elemen ClaimsSchema. Jika elemen tersebut tidak ada, tambahkan.

  3. Tambahkan klaim newPassword dan reenterPassword ke elemen ClaimsSchema.

    <!-- 
    <BuildingBlocks>
      <ClaimsSchema> -->
        <ClaimType Id="newPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
        <ClaimType Id="reenterPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
      <!-- 
      </ClaimsSchema>
    </BuildingBlocks>-->
    
  4. 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">@#$%^&amp;*\-_+=[]{}|\\:',.?/`~"();!</Parameter>
          </Parameters>
        </Predicate>
      </Predicates>
    <!-- 
    </BuildingBlocks>-->
    
  5. 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

  1. Masuk ke portal Azure.
  2. 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.
  3. Pilih Semua layanan di pojok kiri atas portal Microsoft Azure, lalu cari dan pilih AAD B2C.
  4. Pilih IEF.
  5. Pada halaman Kebijakan Kustom, pilih Unggah Kebijakan.
  6. Pilih Timpa kebijakan jika ada, lalu telusuri dan pilih file TrustFrameworkExtensions.xml.
  7. Pilih Unggah.

Menjalankan kebijakan

  1. Buka kebijakan pendaftaran atau masuk seperti B2C_1A_signup_signin.
  2. Untuk Aplikasi, pilih aplikasi Anda yang sebelumnya Anda daftarkan. Untuk melihat token tersebut, URL Balasan akan menampilkan https://jwt.ms.
  3. Pilih Jalankan sekarang.
  4. 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