Azure Active Directory B2C에서 암호 강제 재설정 흐름 설정

시작하기 전에 이 페이지 위쪽의 정책 유형 선택 선택기를 사용하여 설정하려는 정책 유형을 선택합니다. Azure Active Directory B2C는 사용자가 애플리케이션과 상호 작용하는 방법을 정의하는 두 가지 방법, 즉 미리 정의된 사용자 흐름 또는 완전히 구성 가능한 사용자 지정 정책을 통해 제공합니다. 이 문서에서 필요한 단계는 각 방법마다 다릅니다.

개요

관리자는 사용자가 암호를 잊어버린 경우 사용자의 암호를 재설정할 수 있습니다. 또는 암호를 강제로 재설정하도록 할 수 있습니다. 이 문서에서는 이러한 시나리오에서 암호를 강제로 재설정하는 방법을 알아봅니다.

관리자가 Azure Portal을 통해 사용자의 암호를 재설정하면 forceChangePasswordNextSignIn 특성의 값이 true로 설정됩니다. 로그인 및 등록 과정에서 이 특성의 값을 확인합니다. 특성이 true로 설정된 경우 사용자는 로그인을 완료한 후 암호를 재설정해야 합니다. 그런 다음, 특성의 값이 다시 false로 설정됩니다.

Force password reset flow

암호 재설정 흐름은 로그인을 위해 암호와 함께 이메일 주소 또는 사용자 이름을 사용하는 Azure AD B2C의 로컬 계정에 적용됩니다.

필수 조건

사용자 흐름 구성

등록 또는 로그인 사용자 흐름에서 Forced password reset(암호 강제 재설정) 설정을 사용하려면 다음을 수행합니다.

  1. Azure Portal에 로그인합니다.
  2. 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 선택하여 디렉터리 + 구독 메뉴에서 Azure AD B2C 테넌트로 전환합니다.
  3. Azure Portal에서 Azure AD B2C를 검색하고 선택합니다.
  4. 사용자 흐름을 선택합니다.
  5. 사용자 지정하려는 등록 및 로그인 또는 로그인 사용자 흐름(권장 형식)을 선택합니다.
  6. 왼쪽 메뉴의 설정에서 속성을 선택합니다.
  7. 암호 구성에서 강제 암호 재설정을 선택합니다.
  8. 저장을 선택합니다.

사용자 흐름 테스트

  1. 사용자 관리자 또는 암호 관리자로 Azure Portal에 로그인합니다. 사용 가능한 역할에 대한 자세한 내용은 Microsoft Entra ID에서 관리자 역할 할당을 참조하세요.
  2. 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 선택하여 디렉터리 + 구독 메뉴에서 Azure AD B2C 테넌트로 전환합니다.
  3. Azure Portal에서 Azure AD B2C를 검색하고 선택합니다.
  4. 사용자를 선택합니다. 암호 재설정을 테스트하는 데 사용할 사용자를 검색하여 선택하고 암호 재설정을 선택합니다.
  5. Azure Portal에서 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 Portal에 로그인합니다.
  2. 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 선택하여 디렉터리 + 구독 메뉴에서 Azure AD B2C 테넌트로 전환합니다.
  3. Azure Portal의 왼쪽 상단 모서리에서 모든 서비스를 선택하고 Azure AD B2C를 검색하여 선택합니다.
  4. ID 경험 프레임워크를 선택합니다.
  5. 사용자 지정 정책에서 정책 업로드를 선택합니다.
  6. TrustFrameworkExtensionsCustomForcePasswordReset.xml 파일을 선택합니다.
  7. 업로드를 선택합니다.
  8. 신뢰 당사자 파일 TrustFrameworkExtensionsCustomForcePasswordReset.xml에 대해 6~8단계를 반복합니다.

정책 실행

  1. 업로드한 B2C_1A_TrustFrameworkExtensions_custom_ForcePasswordReset 정책을 엽니다.
  2. 애플리케이션에서 이전에 등록한 애플리케이션을 선택합니다. 토큰을 보려면 회신 URLhttps://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일 후 암호 강제 재설정

관리자는 MS Graph를 사용하여 사용자의 암호 만료를 90일로 설정할 수 있습니다. 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로 업데이트합니다.

참고 항목

사용자가 암호를 초기화하면 passwordPolicies가 다시 DisablePasswordExpiration으로 변경됩니다.

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

{
  "passwordPolicies": "DisableStrongPassword"
}

암호 만료 정책이 설정되면 이 문서에 설명된 대로 암호 강제 재설정 흐름도 구성해야 합니다.

암호 만료 기간

기본적으로 암호는 만료되지 않도록 설정되어 있습니다. 그러나 값은 Microsoft Graph PowerShell 모듈의 Update-MgDomain cmdlet을 사용하여 구성할 수 있습니다. 이 명령은 테넌트를 업데이트하여 구성한 일 수 후에 모든 사용자의 암호가 만료되도록 합니다. 예시:

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은(는) 사용자가 암호가 곧 만료된다는 첫 번째 알림이 전송되는 암호 만료 날짜 전의 기간(일)을 나타냅니다.

다음 단계

셀프 서비스 암호 재설정을 지정합니다.