Настройка процедуры принудительного сброса пароля в Azure Active Directory B2C

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

Обзор

Как администратор вы можете сбросить пароль пользователя, если пользователь забыл свой пароль. Или если вам необходимо, чтобы он сбросил пароль. В этой статье содержатся сведения о принудительном сбросе пароля в описанных сценариях.

Когда администратор сбрасывает пароль пользователя через портал Azure, для атрибута forceChangePasswordNextSignIn задается значение true. На этапе входа и регистрации выполняется проверка значения этого атрибута. Если для атрибута установлено значение true, после завершения входа пользователь должен будет сбросить свой пароль. После этого для атрибута снова задается значение false.

Force password reset flow

Процедура сброса пароля применима к локальным учетным записям в Azure AD B2C, которые используют адрес электронной почты или имя пользователя с паролем для входа.

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

Настройка потока пользователя

Чтобы включить параметр Forced password reset (Принудительный сброс пароля) в процессе регистрации или входа в систему, выполните следующие действия:

  1. Войдите на портал Azure.
  2. Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок.
  3. В портале Azure найдите и выберите Azure AD B2C.
  4. Выберите Потоки пользователей.
  5. Выберите поток регистрации и входа или поток пользователей для входа (типа Рекомендуемый), который необходимо настроить.
  6. С меню слева в разделе Параметры выберите Свойства.
  7. В разделе Password configuration (Конфигурация пароля) выберите Forced password reset (Принудительный сброс пароля).
  8. Выберите Сохранить.

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

  1. Войдите на портал Azure в качестве администратора пользователя или администратора паролей. Дополнительные сведения о доступных ролях см. в разделе "Назначение ролей администратора" в идентификаторе Microsoft Entra.
  2. Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок.
  3. В портале Azure найдите и выберите Azure AD B2C.
  4. Выберите Пользователи. Найдите и выберите пользователя, которого вы будете использовать для проверки сброса пароля, а затем выберите Сбросить пароль.
  5. В портале Azure найдите и выберите Azure AD B2C.
  6. Выберите Потоки пользователей.
  7. Выберите поток пользователя регистрации или входа (или введите Рекомендуемый), который необходимо проверить.
  8. Выберите Выполнить поток пользователя.
  9. В разделе Приложение выберите зарегистрированное ранее веб-приложение с именем webapp1. В поле URL-адрес ответа должно содержаться значение https://jwt.ms.
  10. Выберите Выполнить поток пользователя.
  11. Войдите в систему с помощью учетной записи пользователя, для которой вы сбросили пароль.
  12. Теперь необходимо изменить пароль для пользователя. Измените пароль и щелкните Продолжить. Токен должен вернуться по адресу https://jwt.ms и отобразиться пользователю.

Конфигурация настраиваемой политики

Получите пример политики принудительного сброса пароля на сайте GitHub. Замените строку yourtenant именем вашего клиента Azure AD B2C в каждом файле. Например, если имя вашего клиента B2C — contosob2c, все экземпляры yourtenant.onmicrosoft.com должны иметь вид contosob2c.onmicrosoft.com.

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

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

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

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

Принудительный сброс пароля при следующем входе в систему

Чтобы принудительно сбросить пароль при следующем входе в систему, обновите профиль пароля учетной записи с помощью операции MS Graph Обновление пользователя. Для этого необходимо назначить приложению Microsoft Graph роль администратора пользователя. Выполните действия, описанные в разделе Предоставление роли администратора пользователя, чтобы назначить приложению Microsoft Graph роль администратора пользователей.

В следующем примере профиль пароля для атрибута forceChangePasswordNextSignIn обновляется значением true. Это вынуждает пользователя сбрасывать пароль при следующем входе в систему.

PATCH https://graph.microsoft.com/v1.0/users/<user-object-ID>
Content-type: application/json

{
    "passwordProfile": {
      "forceChangePasswordNextSignIn": true
    }
}

После установки профиля пароля учетной записи необходимо также настроить процедуру принудительного сброса пароля, как описано в этой статье.

Принудительный сброс пароля через 90 дней

Как администратор вы можете установить срок действия пароля пользователя на 90 дней с помощью MS Graph. Через 90 дней для атрибута forceChangePasswordNextSignIn автоматически устанавливается значение true. Чтобы принудительно сбросить пароль через 90 дней, удалите значение DisablePasswordExpiration из атрибута Политика паролей профиля пользователя.

В следующем примере для политики паролей задается значение None, что приводит к принудительному сбросу пароля через 90 дней:

PATCH https://graph.microsoft.com/v1.0/users/<user-object-ID>
Content-type: application/json

{
  "passwordPolicies": "None"
}

Если вы отключили обязательное использование надежных паролей, обновите политику паролей, задав значение DisableStrongPassword :

Примечание.

После сброса пароля пользователь будет изменен на DisablePasswordExpiration.

PATCH https://graph.microsoft.com/v1.0/users/<user-object-ID>
Content-type: application/json

{
  "passwordPolicies": "DisableStrongPassword"
}

После установки политики истечения срока действия пароля необходимо также настроить процедуру принудительного сброса пароля, как описано в этой статье.

Длительность срока действия пароля

По умолчанию пароль не истекает. Однако значение можно настроить с помощью командлета Update-MgDomain из модуля Microsoft Graph PowerShell. Эта команда обновляет клиент, чтобы срок действия паролей всех пользователей истекал через несколько дней. Например:

Import-Module Microsoft.Graph.Identity.DirectoryManagement

Connect-MgGraph  -Scopes 'Domain.ReadWrite.All'

$domainId = "contoso.com"
$params = @{
	passwordValidityPeriodInDays = 90
	passwordNotificationWindowInDays = 15
}

Update-MgDomain -DomainId $domainId -BodyParameter $params

Примечание.

passwordValidityPeriodInDays указывает продолжительность времени в днях, когда пароль остается действительным до его изменения. passwordNotificationWindowInDays указывает время в днях до даты окончания срока действия пароля, когда пользователи получают свое первое уведомление, чтобы указать, что срок действия пароля истекает.

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

Настройте самостоятельный сброс пароля.