중요합니다
2025년 5월 1일부터 새 고객을 위해 Azure AD B2C를 더 이상 구매할 수 없습니다. FAQ에서 자세히 알아보세요.
시작하기 전에 이 페이지의 맨 위에 있는 정책 유형 선택기를 사용하여 설정하려는 정책 유형을 선택합니다. Azure Active Directory B2C는 미리 정의된 사용자 흐름 또는 완전히 구성 가능한 사용자 지정 정책을 통해 사용자가 애플리케이션과 상호 작용하는 방법을 정의하는 두 가지 방법을 제공합니다. 이 게시물에서 필요한 단계는 각 방법마다 다릅니다.
Azure AD B2C(Azure Active Directory B2C)는 계정을 만들 때 최종 사용자가 제공하는 암호에 대한 복잡성 요구 사항 변경을 지원합니다. 기본적으로 Azure AD B2C는 강력한 암호를 사용합니다. Azure AD B2C는 고객이 사용할 수 있는 암호의 복잡성을 제어하는 구성 옵션도 지원합니다.
필수 조건
- 사용자가 애플리케이션에 가입하고 로그인할 수 있도록 사용자 흐름을 만듭니다.
- 웹 애플리케이션 등록.
- Active Directory B2C에서 사용자 지정 정책을 사용하여 시작하기에 있는 단계를 완료합니다. 이 자습서에서는 Azure AD B2C 테넌트 구성을 사용하도록 사용자 지정 정책 파일을 업데이트하는 방법을 안내합니다.
- 웹 애플리케이션 등록.
암호 규칙 적용
등록 또는 암호 재설정 중에 최종 사용자는 복잡성 규칙을 충족하는 암호를 제공해야 합니다. 암호 복잡성 규칙은 사용자 흐름별로 적용됩니다. 등록하는 동안 한 사용자 흐름에 4자리 핀이 필요하고 다른 사용자 흐름에는 등록 중에 8자 문자열이 필요할 수 있습니다. 성인의 경우 자녀와는 다른 암호 복잡성을 사용하는 사용자 흐름을 예로 들 수 있습니다.
로그인하는 동안 암호 복잡성은 적용되지 않습니다. 로그인하는 동안 사용자에게 현재 복잡성 요구 사항을 충족하지 않으므로 암호를 변경하라는 메시지가 표시되지 않습니다.
다음과 같은 유형의 사용자 흐름에서 암호 복잡성을 구성할 수 있습니다.
- 사용자 등록 및 로그인 흐름
- 사용자 암호 재설정 흐름
사용자 지정 정책을 사용하는 경우 사용자 지정 정책에서 암호 복잡성을 구성할 수 있습니다.
암호 복잡성 구성
- Azure Portal에 로그인합니다.
- 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 선택하여 디렉터리 + 구독 메뉴에서 Azure AD B2C 테넌트로 전환합니다.
- Azure Portal에서 Azure AD B2C를 검색하고 선택합니다.
- 사용자 흐름을 선택합니다.
- 사용자 흐름을 선택하고 속성을 선택합니다.
- 암호 복잡성에서 이 사용자 흐름의 암호 복잡성을 Simple, Strong 또는 Custom으로 변경합니다.
비교 차트
복잡성 | 설명 |
---|---|
단순 | 8~64자 이상의 암호입니다. |
강력 | 8~64자 이상의 암호입니다. 소문자, 대문자, 숫자 또는 기호 중 4개 중 3개가 필요합니다. |
관습 | 이 옵션은 암호 복잡성 규칙을 가장 제어할 수 있습니다. 사용자 지정 길이를 구성할 수 있습니다. 또한 숫자 전용 암호(핀)를 수락할 수 있습니다. |
사용자 지정 옵션
문자 집합
숫자만(핀) 또는 전체 문자 집합을 허용할 수 있습니다.
- 숫자는 암호를 입력하는 동안에만 숫자(0-9)만 허용합니다.
- 모든 문자, 숫자 또는 기호를 허용합니다.
길이
암호의 길이 요구 사항을 제어할 수 있습니다.
- 최소 길이 는 4 이상이어야 합니다.
- 최대 길이는 최소 길이보다 크거나 같아야 하며 최대 256자일 수 있습니다.
문자 클래스
암호에 사용되는 다양한 문자 형식을 제어할 수 있습니다.
2/4: 소문자, 대문자, 숫자(0-9), 기호 는 암호에 두 개 이상의 문자 형식을 포함하도록 합니다. 예를 들어 숫자와 소문자 문자입니다.
3/4: 소문자, 대문자, 숫자(0-9), 기호 는 암호에 세 개 이상의 문자 형식을 포함하도록 합니다. 예를 들어 숫자, 소문자 및 대문자입니다.
4/4: 소문자, 대문자, 숫자(0-9), 기호 는 암호에 네 가지 문자 형식을 모두 포함하도록 합니다.
비고
4/4를 요구하면 최종 사용자가 좌절할 수 있습니다. 일부 연구에 따르면 이 요구 사항은 암호 엔트로피를 개선하지 않습니다. NIST 암호 지침 참조
암호 조건자 유효성 검사
암호 복잡성을 구성하려면 newPassword
에 대한 참조를 통해 reenterPassword
및 클레임 형식을 재정의합니다. PredicateValidations 요소는 조건자 집합을 그룹화하여 클레임 형식에 적용할 수 있는 사용자 입력 유효성 검사를 형성합니다. 정책의 확장 파일을 엽니다. 예: SocialAndLocalAccounts/
TrustFrameworkExtensions.xml
.
BuildingBlocks 요소를 검색합니다. 요소가 없으면 추가합니다.
ClaimsSchema 요소를 찾습니다. 요소가 없으면 추가합니다.
newPassword
및reenterPassword
클레임을 ClaimsSchema 요소에 추가합니다.<!-- <BuildingBlocks> <ClaimsSchema> --> <ClaimType Id="newPassword"> <PredicateValidationReference Id="CustomPassword" /> </ClaimType> <ClaimType Id="reenterPassword"> <PredicateValidationReference Id="CustomPassword" /> </ClaimType> <!-- </ClaimsSchema> </BuildingBlocks>-->
조건자는 클레임 형식의 값을 확인하는 기본 유효성 검사를 정의하고 true 또는 false를 반환합니다. 유효성 검사는 지정된 메서드 요소 및 메서드와 관련된 매개 변수 집합을 사용하여 수행됩니다. 요소를 닫은 직후
</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>-->
요소를 닫은 직후에
</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>-->
강력한 암호 사용 안 함
다음 기술 프로필은 Microsoft Entra ID에 데이터를 읽고 쓰는 Active Directory 기술 프로필입니다. 확장 파일에서 이러한 기술 프로필을 재정의합니다. 강력한 암호 정책을 사용하지 않도록 설정하는 데 사용합니다 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 정책으로 업데이트합니다.
정책 파일을 저장합니다.
정책 테스트
파일 업로드
- Azure Portal에 로그인합니다.
- 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 선택하여 디렉터리 + 구독 메뉴에서 Azure AD B2C 테넌트로 전환합니다.
- Azure Portal의 왼쪽 상단 모서리에서 모든 서비스를 선택하고 Azure AD B2C를 검색하여 선택합니다.
- ID 경험 프레임워크를 선택합니다.
- 사용자 지정 정책 페이지에서 정책 업로드를 선택합니다.
- 정책 덮어쓰기(있는 경우)를 선택한 다음 ,TrustFrameworkExtensions.xml 파일을 검색하여 선택합니다.
- 업로드선택합니다.
정책 실행
- 등록 또는 로그인 정책(예: B2C_1A_signup_signin)을 엽니다.
-
애플리케이션의 경우 이전에 등록한 애플리케이션을 선택합니다. 토큰을 보려면 회신 URL 이 표시됩니다
https://jwt.ms
. - 지금 실행을 선택합니다.
- 지금 등록을 선택하고, 전자 메일 주소를 입력하고, 새 암호를 입력합니다. 암호 제한에 대한 지침이 제공됩니다. 사용자 정보 입력을 완료한 다음 만들기를 선택합니다. 반환된 토큰의 내용이 표시됩니다.
관련 콘텐츠
- Azure Active Directory B2C에서 암호 변경을 구성하는 방법을 알아봅니다.
- IEF 참조의 Predicates 및 PredicateValidations 요소에 대해 자세히 알아봅니다.