Azure Active Directory의 암호 정책 및 계정 제한Password policies and account restrictions in Azure Active Directory

Azure AD (Azure Active Directory)에는 암호 복잡성, 길이 또는 연령와 같은 설정을 정의 하는 암호 정책이 있습니다.In Azure Active Directory (Azure AD), there's a password policy that defines settings like the password complexity, length, or age. 또한 사용자 이름에 대해 허용 되는 문자 및 길이를 정의 하는 정책도 있습니다.There's also a policy that defines acceptable characters and length for usernames.

SSPR (셀프 서비스 암호 재설정)를 사용 하 여 Azure AD에서 암호를 변경 하거나 다시 설정 하는 경우 암호 정책이 확인 됩니다.When self-service password reset (SSPR) is used to change or reset a password in Azure AD, the password policy is checked. 암호가 정책 요구 사항을 충족 하지 않으면 사용자에 게 다시 시도 하 라는 메시지가 표시 됩니다.If the password doesn't meet the policy requirements, the user is prompted to try again. Azure 관리자는 일반 사용자 계정과 다른 SSPR 사용에 대 한 몇 가지 제한 사항이 있습니다.Azure administrators have some restrictions on using SSPR that are different to regular user accounts.

이 문서에서는 Azure AD 테 넌 트의 사용자 계정과 관련 된 암호 정책 설정 및 복잡성 요구 사항과 PowerShell을 사용 하 여 암호 만료 설정을 확인 하거나 설정 하는 방법을 설명 합니다.This article describes the password policy settings and complexity requirements associated with user accounts in your Azure AD tenant, and how you can use PowerShell to check or set password expiration settings.

사용자 이름 정책Username policies

Azure AD에 로그인 하는 모든 계정에는 계정과 연결 된 고유한 UPN (사용자 계정 이름) 특성 값이 있어야 합니다.Every account that signs in to Azure AD must have a unique user principal name (UPN) attribute value associated with their account. Azure AD Connect를 사용 하 여 온-프레미스 Active Directory Domain Services (AD DS) 환경을 Azure AD로 동기화 하는 하이브리드 환경에서는 기본적으로 Azure AD UPN이 온-프레미스 UPN으로 설정 됩니다.In hybrid environments with an on-premises Active Directory Domain Services (AD DS) environment synchronized to Azure AD using Azure AD Connect, by default the Azure AD UPN is set to the on-prem UPN.

다음 표에서는 Azure AD에 동기화 된 온-프레미스 AD DS 계정과 Azure AD에서 직접 만든 클라우드 전용 사용자 계정에 모두 적용 되는 사용자 이름 정책을 간략히 설명 합니다.The following table outlines the username policies that apply to both on-premises AD DS accounts that are synchronized to Azure AD, and for cloud-only user accounts created directly in Azure AD:

속성Property UserPrincipalName 요구 사항UserPrincipalName requirements
허용되는 문자Characters allowed
  • A-ZA – Z
  • a-za - z
  • 0-90 – 9
  • ' .' . - _ ! - _ ! # ^ ~# ^ ~
허용되지 않는 문자Characters not allowed
  • 도메인에서 사용자 이름을 구분하지 않는 모든 "@"" 문자입니다.Any "@" character that's not separating the username from the domain.
  • "@"" 기호 바로 앞에는 "."(마침표) 문자를 사용할 수 없습니다.Can't contain a period character "." immediately preceding the "@" symbol
길이 제약 조건Length constraints
  • 총 길이는 113자를 초과할 수 없습니다.The total length must not exceed 113 characters
  • "@"" 기호 앞에는 최대 64자를 사용할 수 있습니다.There can be up to 64 characters before the "@" symbol
  • "@"" 기호 뒤에는 최대 48자를 사용할 수 있습니다.There can be up to 48 characters after the "@" symbol

Azure AD 암호 정책Azure AD password policies

Azure AD에서 직접 만들고 관리 하는 모든 사용자 계정에 암호 정책이 적용 됩니다.A password policy is applied to all user accounts that are created and managed directly in Azure AD. Azure AD 암호 보호 또는 계정 잠금 매개 변수에 대 한 사용자 지정 금지 된 암호를 구성할 수 있지만 이러한 암호 정책 설정 중 일부는 수정할 수 없습니다.Some of these password policy settings can't be modified, though you can configure custom banned passwords for Azure AD password protection or account lockout parameters.

기본적으로 잘못 된 암호를 사용 하 여 로그인 시도를 10 번 실패 한 후 계정이 잠깁니다.By default, an account is locked out after 10 unsuccessful sign-in attempts with the wrong password. 사용자는 1 분 동안 잠깁니다.The user is locked out for one minute. 잘못된 로그인을 더 시도하면 사용자가 잠기는 시간이 더 늘어납니다.Further incorrect sign-in attempts lock out the user for increasing durations of time. 스마트 잠금은 마지막 3 개의 잘못 된 암호 해시를 추적 하 여 동일한 암호에 대 한 잠금 카운터가 증가 하지 않도록 합니다.Smart lockout tracks the last three bad password hashes to avoid incrementing the lockout counter for the same password. 누군가가 동일한 잘못 된 암호를 여러 번 입력 하는 경우이 동작으로 인해 계정이 잠기지 않습니다. 스마트 잠금 임계값 및 기간을 정의할 수 있습니다.If someone enters the same bad password multiple times, this behavior will not cause the account to lock out. You can define the smart lockout threshold and duration.

EnforceCloudPasswordPolicyForPasswordSyncedUsers 를 사용 하도록 설정 하지 않으면 Azure AD Connect를 사용 하 여 온-프레미스 AD DS 환경에서 동기화 된 사용자 계정에 Azure AD 암호 정책이 적용 되지 않습니다.The Azure AD password policy doesn't apply to user accounts synchronized from an on-premises AD DS environment using Azure AD Connect, unless you enable EnforceCloudPasswordPolicyForPasswordSyncedUsers.

다음 Azure AD 암호 정책 옵션이 정의 됩니다.The following Azure AD password policy options are defined. 별도로 언급 하지 않는 한 이러한 설정은 변경할 수 없습니다.Unless noted, you can't change these settings:

속성Property 요구 사항Requirements
허용되는 문자Characters allowed
  • A-ZA – Z
  • a-za - z
  • 0-90 – 9
  • @ # $ % ^ & * - _ !@ # $ % ^ & * - _ ! + = [] {} | : ',.+ = [ ] { } | \ : ' , . ?? / ` ~ " ( ) ; / ` ~ " ( ) ;
  • 공백blank space
허용되지 않는 문자Characters not allowed 유니코드 문자Unicode characters.
암호 제한Password restrictions
  • 최소 8 자에서 최대 256 자까지 입력할 수가 있습니다.A minimum of 8 characters and a maximum of 256 characters.
  • 다음 4개 중 3개가 필요합니다.Requires three out of four of the following:
    • 소문자Lowercase characters.
    • 대문자Uppercase characters.
    • 숫자(0-9)Numbers (0-9).
    • 기호(이전 암호 제한 참조)Symbols (see the previous password restrictions).
암호 만료 기간 (최대 암호 사용 기간)Password expiry duration (Maximum password age)
  • 기본값: 90Default value: 90 days.
  • 값은 Windows PowerShell용 Azure Active Directory 모듈에서 Set-MsolPasswordPolicy cmdlet을 사용하여 구성할 수 있습니다.The value is configurable by using the Set-MsolPasswordPolicy cmdlet from the Azure Active Directory Module for Windows PowerShell.
암호 만료 알림 (사용자에 게 암호 만료 알림이 제공 된 경우)Password expiry notification (When users are notified of password expiration)
  • 기본값: 14 일(암호 만료 이전)Default value: 14 days (before password expires).
  • 값은 Set-MsolPasswordPolicy cmdlet을 사용하여 구성할 수 있습니다.The value is configurable by using the Set-MsolPasswordPolicy cmdlet.
암호 만료 (암호 사용 기간 제한 없음)Password expiry (Let passwords never expire)
  • 기본값: false (암호의 만료 날짜를 나타냄).Default value: false (indicates that password's have an expiration date).
  • Set-MsolUser cmdlet을 사용하여 개별 사용자 계정에 대한 값을 구성할 수 있습니다.The value can be configured for individual user accounts by using the Set-MsolUser cmdlet.
암호 변경 기록Password change history 사용자 암호를 변경할 때 마지막 암호를 다시 사용할 수 없습니다.The last password can't be used again when the user changes a password.
암호 재설정 기록Password reset history 사용자가 잊어버린 암호를 재설정할 때 마지막 암호를 다시 사용할 수 있습니다.The last password can be used again when the user resets a forgotten password.

관리자 재설정 정책의 차이점Administrator reset policy differences

기본적으로 관리자 계정은 셀프 서비스 암호 재설정을 사용 하도록 설정 되 고 강력한 기본 두 게이트 암호 재설정 정책이 적용 됩니다.By default, administrator accounts are enabled for self-service password reset, and a strong default two-gate password reset policy is enforced. 이 정책은 사용자에 대해 정의한 정책과 다를 수 있으며이 정책은 변경할 수 없습니다.This policy may be different from the one you have defined for your users, and this policy can't be changed. 항상 Azure 관리자 역할이 할당되지 않은 사용자로 암호 재설정 기능을 테스트해야 합니다.You should always test password reset functionality as a user without any Azure administrator roles assigned.

두 게이트 정책을 사용할 경우 관리자는 보안 질문을 사용할 수 없습니다.With a two-gate policy, administrators don't have the ability to use security questions.

두 게이트 정책은 이메일 주소, 인증자 앱 또는 전화 번호와 같은 두 가지 인증 데이터를 요구합니다.The two-gate policy requires two pieces of authentication data, such as an email address, authenticator app, or a phone number. 다음과 같은 경우에 두 게이트 정책이 적용됩니다.A two-gate policy applies in the following circumstances:

  • 다음과 같은 모든 Azure 관리자 역할이 영향을 받습니다.All the following Azure administrator roles are affected:

    • 기술 지원팀 관리자Helpdesk administrator
    • 서비스 지원 관리자Service support administrator
    • 대금 청구 관리자Billing administrator
    • 파트너 계층1 지원Partner Tier1 Support
    • 파트너 계층2 지원Partner Tier2 Support
    • Exchange 관리자Exchange administrator
    • 사서함 관리자Mailbox Administrator
    • 비즈니스용 Skype 관리자Skype for Business administrator
    • 사용자 관리자User administrator
    • 디렉터리 작성자Directory writers
    • 전역 관리자 또는 회사 관리자Global administrator or company administrator
    • SharePoint 관리자SharePoint administrator
    • 규정 준수 관리자Compliance administrator
    • 애플리케이션 관리자Application administrator
    • 보안 관리자Security administrator
    • 권한 있는 역할 관리자Privileged role administrator
    • Intune 관리자Intune administrator
    • Azure AD 조인 장치 로컬 관리자Azure AD Joined Device Local Administrator
    • 애플리케이션 프록시 서비스 관리자Application proxy service administrator
    • Dynamics 365 관리자Dynamics 365 administrator
    • Power BI 서비스 관리자Power BI service administrator
    • 인증 관리자Authentication administrator
    • 암호 관리자Password administrator
    • 권한 있는 인증 관리자Privileged Authentication administrator
  • 평가판 구독에서 30일이 경과한 경우 또는If 30 days have elapsed in a trial subscription; or

  • Azure AD 테 넌 트에 대해 사용자 지정 도메인 (예: contoso.com;)이 구성 되었습니다. 디스크나A custom domain has been configured for your Azure AD tenant, such as contoso.com; or

  • Azure AD Connect가 온-프레미스 디렉터리에서 ID를 동기화하는 경우Azure AD Connect is synchronizing identities from your on-premises directory

Set-msolcompanysettings PowerShell cmdlet을 사용 하 여 관리자 계정에 SSPR를 사용 하지 않도록 설정할 수 있습니다.You can disable the use of SSPR for administrator accounts using the Set-MsolCompanySettings PowerShell cmdlet. -SelfServePasswordResetEnabled $False매개 변수는 관리자에 대해 SSPR를 사용 하지 않도록 설정 합니다.The -SelfServePasswordResetEnabled $False parameter disables SSPR for administrators.

예외Exceptions

한 게이트 정책은 전자 메일 주소 또는 전화 번호 등, 한 가지 인증 데이터를 요구합니다.A one-gate policy requires one piece of authentication data, such as an email address or phone number. 다음과 같은 경우에 한 게이트 정책이 적용됩니다.A one-gate policy applies in the following circumstances:

  • 평가판 구독의 처음 30일 이내인 경우 또는It's within the first 30 days of a trial subscription; or
  • 사용자 지정 도메인은 Azure AD 테 넌 트에 대해 구성 되지 않았으므로 기본 *. onmicrosoft.com 을 사용 합니다.A custom domain hasn't been configured for your Azure AD tenant so is using the default *.onmicrosoft.com. 기본 *. onmicrosoft.com 도메인은 프로덕션에 사용 하지 않는 것이 좋습니다. 하거나The default *.onmicrosoft.com domain isn't recommended for production use; and
  • Azure AD Connect가 ID를 동기화하지 않는 경우Azure AD Connect isn't synchronizing identities

암호 만료 정책Password expiration policies

전역 관리자 또는 사용자 관리자Windows PowerShell용 Microsoft Azure AD 모듈 을 사용 하 여 만료 되지 않는 사용자 암호를 설정할 수 있습니다.A global administrator or user administrator can use the Microsoft Azure AD Module for Windows PowerShell to set user passwords not to expire.

PowerShell cmdlet을 사용 하 여 만료 되지 않는 구성을 제거 하거나 어떤 사용자 암호가 만료 되지 않도록 설정 되어 있는지 확인할 수도 있습니다.You can also use PowerShell cmdlets to remove the never-expires configuration or to see which user passwords are set to never expire.

이 지침은 id 및 디렉터리 서비스에 Azure AD를 사용 하는 Intune 및 Microsoft 365 같은 다른 공급자에 적용 됩니다.This guidance applies to other providers, such as Intune and Microsoft 365, which also rely on Azure AD for identity and directory services. 암호 만료는 정책에서 변경할 수 있는 유일한 부분입니다.Password expiration is the only part of the policy that can be changed.

참고

Azure AD Connect를 통해 동기화 되지 않는 사용자 계정의 암호만 만료 되지 않도록 구성할 수 있습니다.Only passwords for user accounts that aren't synchronized through Azure AD Connect can be configured to not expire. 디렉터리 동기화에 대한 자세한 내용은 Azure AD와 AD 연결을 참조하세요.For more information about directory synchronization, see Connect AD with Azure AD.

PowerShell을 사용하여 암호 정책 설정 또는 확인Set or check the password policies by using PowerShell

시작 하려면 AZURE Ad PowerShell 모듈을 다운로드 하 여 설치 하 고 azure ad 테 넌 트에 연결합니다.To get started, download and install the Azure AD PowerShell module and connect it to your Azure AD tenant.

모듈을 설치한 후에는 다음 단계를 사용 하 여 필요에 따라 각 작업을 완료 합니다.After the module is installed, use the following steps to complete each task as needed.

암호에 대한 만료 정책 확인Check the expiration policy for a password

  1. PowerShell 프롬프트를 열고 전역 관리자 또는 사용자 관리자 계정을 사용 하 여 Azure AD 테 넌 트에 연결 합니다.Open a PowerShell prompt and connect to your Azure AD tenant using a global administrator or user administrator account.

  2. 개별 사용자 또는 모든 사용자에 대해 다음 명령 중 하나를 실행 합니다.Run one of the following commands for either an individual user or for all users:

    • 단일 사용자의 암호가 만료 되지 않도록 설정 되어 있는지 확인 하려면 다음 cmdlet을 실행 합니다.To see if a single user's password is set to never expire, run the following cmdlet. <user ID> 확인 하려는 사용자의 사용자 ID (예: driley @ contoso.onmicrosoft.com)로 바꿉니다.Replace <user ID> with the user ID of the user you want to check, such as driley@contoso.onmicrosoft.com:

      Get-AzureADUser -ObjectId <user ID> | Select-Object @{N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}
      
    • 모든 사용자에 대한 암호 사용 기간 제한 없음 설정을 보려면 cmdlet을 실행합니다.To see the Password never expires setting for all users, run the following cmdlet:

      Get-AzureADUser -All $true | Select-Object UserPrincipalName, @{N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}
      

암호가 만료되도록 설정Set a password to expire

  1. PowerShell 프롬프트를 열고 전역 관리자 또는 사용자 관리자 계정을 사용 하 여 Azure AD 테 넌 트에 연결 합니다.Open a PowerShell prompt and connect to your Azure AD tenant using a global administrator or user administrator account.

  2. 개별 사용자 또는 모든 사용자에 대해 다음 명령 중 하나를 실행 합니다.Run one of the following commands for either an individual user or for all users:

    • 암호가 만료 되도록 한 사용자의 암호를 설정 하려면 다음 cmdlet을 실행 합니다.To set the password of one user so that the password expires, run the following cmdlet. <user ID> 확인 하려는 사용자의 사용자 ID (예: driley @ contoso.onmicrosoft.com )로 바꿉니다.Replace <user ID> with the user ID of the user you want to check, such as driley@contoso.onmicrosoft.com

      Set-AzureADUser -ObjectId <user ID> -PasswordPolicies None
      
    • 조직의 모든 사용자 암호가 만료되도록 설정하려면 다음 cmdlet을 사용합니다. To set the passwords of all users in the organization so that they expire, use the following cmdlet:

      Get-AzureADUser -All $true | Set-AzureADUser -PasswordPolicies None
      

암호가 만료되지 않도록 설정Set a password to never expire

  1. PowerShell 프롬프트를 열고 전역 관리자 또는 사용자 관리자 계정을 사용 하 여 Azure AD 테 넌 트에 연결 합니다.Open a PowerShell prompt and connect to your Azure AD tenant using a global administrator or user administrator account.

  2. 개별 사용자 또는 모든 사용자에 대해 다음 명령 중 하나를 실행 합니다.Run one of the following commands for either an individual user or for all users:

    • 한 사용자의 암호를 만료 되지 않도록 설정 하려면 다음 cmdlet을 실행 합니다.To set the password of one user to never expire, run the following cmdlet. <user ID> 확인 하려는 사용자의 사용자 ID (예: driley @ contoso.onmicrosoft.com )로 바꿉니다.Replace <user ID> with the user ID of the user you want to check, such as driley@contoso.onmicrosoft.com

      Set-AzureADUser -ObjectId <user ID> -PasswordPolicies DisablePasswordExpiration
      
    • 조직 내 모든 사용자의 암호를 기간 제한 없음으로 설정하려면 다음 cmdlet을 실행합니다.To set the passwords of all the users in an organization to never expire, run the following cmdlet:

      Get-AzureADUser -All $true | Set-AzureADUser -PasswordPolicies DisablePasswordExpiration
      

    경고

    -PasswordPolicies DisablePasswordExpiration로 설정된 암호는 계속해서 pwdLastSet 특성에 따라 사용 기간이 계산됩니다.Passwords set to -PasswordPolicies DisablePasswordExpiration still age based on the pwdLastSet attribute. pwdLastSet 특성에 따라, 만료를 -PasswordPolicies None로 변경한 경우 pwdLastSet이 90일보다 오래된 모든 암호는 다음 번에 로그인할 때 변경해야 합니다.Based on the pwdLastSet attribute, if you change the expiration to -PasswordPolicies None, all passwords that have a pwdLastSet older than 90 days require the user to change them the next time they sign in. 이 변경으로 많은 사용자가 영향을 받을 수 있습니다.This change can affect a large number of users.

다음 단계Next steps

SSPR을 시작 하려면 자습서: 셀프 서비스 암호 재설정을 사용 Azure Active Directory 하 여 사용자가 계정의 잠금을 해제 하거나 암호를 다시 설정할 수 있도록 설정을 참조 하세요.To get started with SSPR, see Tutorial: Enable users to unlock their account or reset passwords using Azure Active Directory self-service password reset.

사용자 또는 사용자가 SSPR에 문제가 있는 경우 셀프 서비스 암호 재설정 문제 해결 을 참조 하세요.If you or users have problems with SSPR, see Troubleshoot self-service password reset