Настройка требований к сложности паролей в Azure Active Directory B2C.

Для начала с помощью селектора Choose a policy type (Выбрать тип политики) выберите тип пользовательской политики. Azure Active Directory B2C предлагает два метода определения способа взаимодействия пользователей с вашими приложениями: с помощью предопределенных потоков пользователей или полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.

Azure Active Directory B2C (Azure AD B2C) поддерживает изменение требований сложности к паролям, которые пользователи указывают при создании учетной записи. По умолчанию Azure AD B2C использует надежные пароли. Azure AD B2C также поддерживает параметры конфигурации для управления сложностью паролей, используемых клиентами.

Необходимые компоненты

Применение правила к паролю

Во время регистрации или сброса паролей пользователю необходимо ввести пароль, отвечающий требованиям сложности. Правила сложности пароля применяются согласно потоку пользователя. Для одного потока пользователя может потребоваться четырехзначный пин-код во время регистрации, а для другого потока пользователя требуется восемь символьных строк во время регистрации. Например, вы можете использовать поток пользователя с разной сложностью пароля для взрослых и детей.

Требования к сложности пароля не применяются во время входа. Во время входа пользователям никогда не предлагается сменить пароль, так как это не соответствует текущим требованиям сложности.

Сложность пароля можно настроить в следующих типах потоков пользователей:

  • поток пользователя регистрации или входа в систему;
  • поток пользователя сброса пароля;

Если вы используете пользовательские политики, можно настроить сложность паролей в пользовательской политике.

Настройка сложности пароля

  1. Войдите на портал Azure.
  2. Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок.
  3. В портале Azure найдите и выберите Azure AD B2C.
  4. Выберите Потоки пользователей.
  5. Выберите поток пользователя и щелкните Свойства.
  6. В разделе Сложность пароля выберите значение Простой, Надежный или Настраиваемый.

Сравнительная таблица

Сложность Description
Простой Пароль, который не менее 864 символов.
Строгие Пароль, который не менее 864 символов. Для этого требуется 3 из 4 строчных регистров, прописных букв, чисел или символов.
Пользовательское Этот параметр обеспечивает полный контроль над правилами сложности пароля. Он дает возможность настроить пользовательскую длину, а также принимать только числовые пароли (ПИН-коды).

Настраиваемые параметры

Кодировка

Дает возможность принимать только цифры (ПИН-коды) или полную кодировку.

  • При использовании типа Только цифры во время ввода пароля можно применять только цифры (0–9).
  • При использовании типа Все можно применять любые буквы, цифры или символы.

Длина

Дает возможность управлять требованиями к длине пароля.

  • Минимальная длина предусматривает не менее 4 знаков.
  • Максимальная длина предусматривает большее количество знаков, чем используется в минимальной длине (или равное ей), но не более 256 знаков.

Категории знаков

Позволяет управлять типами других знаков, используемых в пароле.

  • Тип 2 из 4: знаки нижнего и верхнего регистра, цифры (0–9), символы гарантирует, что в пароле используются по крайней мере два типа знаков, например цифра и знак нижнего регистра.

  • Тип 3 из 4: знаки нижнего и верхнего регистра, цифры (0–9), символы гарантирует, что в пароле используются по крайней мере три типа знаков, например цифра, знак нижнего и верхнего регистра.

  • Тип 4 из 4: знаки нижнего и верхнего регистра, цифры (0–9), символы гарантирует, что в пароле используются все типы знаков.

    Примечание.

    Использование типа 4 из 4 может вызвать трудности у пользователей. Некоторые исследования показали, что это требование не повысит энтропию пароля. См. раздел Appendix A — Strength of Memorized Secrets(Приложение А — надежность запоминаемых секретов).

Проверка предиката пароля

Чтобы настроить сложность пароля, переопределите типы утвержденийnewPassword и reenterPassword с помощью ссылки на проверки предикатов. Элемент PredicateValidations группирует набор предикатов для формирования пользовательской проверки ввода, которую можно применить к типу утверждения. Откройте файл расширения политики. Например, SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  1. Найдите элемент BuildingBlocks. Если такой элемент не существует, добавьте его.

  2. Найдите элемент ClaimsSchema. Если такой элемент не существует, добавьте его.

  3. Добавьте утверждения newPassword и reenterPassword в элемент ClaimsSchema.

    <!-- 
    <BuildingBlocks>
      <ClaimsSchema> -->
        <ClaimType Id="newPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
        <ClaimType Id="reenterPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
      <!-- 
      </ClaimsSchema>
    </BuildingBlocks>-->
    
  4. Элемент Predicate определяет основную проверку (значения типа утверждения) и возвращает true или false. Проверка выполняется с помощью указанного элемента метода и набора соответствующих методу параметров. Добавьте следующие предикаты в элемент BuildingBlocks сразу после завершения элемента </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. Добавьте следующие проверки предиката в элемент BuildingBlocks сразу после завершения элемента </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>-->
    

Отключение надежного пароля

Ниже приведены технические профили Active Directory, которые считывают и записывают данные в идентификатор Microsoft Entra. Переопределите эти технические профили в файле расширения. Используйте PersistedClaims, чтобы отключить политику надежных паролей. Найдите элемент ClaimsProviders. Добавьте следующие поставщики утверждений, как показано ниже.

<!-- 
<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>-->

Если вы используете политику входа на основе имени пользователя, обновите технические профили AAD-UserWriteUsingLogonEmail, AAD-UserWritePasswordUsingObjectId и LocalAccountWritePasswordUsingObjectId с помощью политики DisableStrongPassword.

Сохраните файл политики.

Тестирование политики

Передача файлов

  1. Войдите на портал Azure.
  2. Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок.
  3. Выберите Все службы в левом верхнем углу окна портала Azure, а затем найдите и выберите Azure AD B2C.
  4. Выберите Инфраструктура процедур идентификации.
  5. На странице "Настраиваемые политики" выберите " Отправить политику".
  6. Выберите Перезаписать политику, если она существует, а затем найдите и выберите файл TrustFrameworkExtensions.xml.
  7. Выберите Отправить.

Запуск политики

  1. Откройте политику регистрации или входа, например B2C_1A_signup_signin.
  2. В разделе Приложение выберите зарегистрированное ранее приложение. Чтобы маркер отображался, URL-адрес ответа должен быть следующим: https://jwt.ms.
  3. Выберите Запустить сейчас.
  4. Выберите Зарегистрироваться сейчас, введите адрес электронной почты и новый пароль. Отображаются рекомендации по ограничению для пароля. Завершите ввод сведений о пользователе и нажмите кнопку "Создать". Вы увидите содержимое возвращенного маркера.

Следующие шаги