암호 정책

적용 대상:SQL Server

SQL Server는 Windows 암호 정책 메커니즘을 사용할 수 있습니다. 암호 정책은 SQL Server 인증을 사용하는 로그인과 암호를 가진 포함된 데이터베이스 사용자에게 적용됩니다.

SQL Server는 Windows에서 사용되는 것과 동일한 복잡성 및 만료 정책을 SQL Server 내에서 사용되는 암호에 적용할 수 있습니다. 이 기능은 API에 NetValidatePasswordPolicy 따라 달라집니다.

참고 항목

Azure SQL Database는 암호 복잡성을 적용합니다. 암호 만료 및 정책 적용 섹션은 Azure SQL Database에 적용되지 않습니다.

Azure SQL Managed Instance의 암호 정책에 대한 자세한 내용은 SQL Managed Instance FAQ를 참조하세요.

암호 복잡성

암호 복잡성 정책은 가능한 암호의 수를 늘려 문자 조합을 이용한 공격(brute force attacks)을 방지하도록 설계되었습니다. 암호 복잡성 정책이 적용되는 경우 새 암호는 다음 지침을 충족해야 합니다.

  • 암호에 사용자의 계정 이름이 포함되어 있지 않습니다.

  • 암호 길이가 8자 이상입니다.

  • 암호에는 다음 네 가지 범주 중 세 가지의 문자가 포함됩니다.

    • 라틴어 대문자(A~Z)

    • 라틴어 소문자(a - z)

    • 기본 10자리(0~9)

    • 느낌표(!), 달러 기호($), 숫자 기호(#) 또는 백분율(%)과 같은 영숫자가 아닌 문자입니다.

암호 길이는 128자까지 가능하며 가능한 한 길고 복잡한 암호를 사용합니다.

암호 만료

암호 만료 정책을 사용하여 암호의 수명을 관리합니다. SQL Server에서 암호 만료 정책을 강제로 적용하면 사용자에게 기존 암호를 변경할 것과 암호가 만료되어 해당 계정을 사용할 수 없게 됨을 알려 줍니다.

정책 적용

암호 정책 적용은 각 SQL Server 로그인에 대해 별도로 구성할 수 있습니다. ALTER LOGIN(Transact-SQL)을 사용하여 SQL Server 로그인의 암호 정책 옵션을 구성합니다. 다음 규칙은 암호 정책 적용 구성에 적용됩니다.

  • CHECK_POLICY ON으로 변경되면 다음과 같은 동작이 발생합니다.

    • CHECK_EXPIRATION 명시적으로 OFF로 설정되지 않는 한 ON으로 설정됩니다.

    • 암호 기록이 현재 암호 해시 값으로 초기화됩니다.

    • 계정 잠금 기간, 계정 잠금 임계값다시 설정 후 계정 잠금 카운터 도 사용하도록 설정됩니다.

  • CHECK_POLICY OFF로 변경되면 다음과 같은 동작이 발생합니다.

    • CHECK_EXPIRATION도 OFF로 설정됩니다.

    • 암호 기록이 삭제됩니다.

    • lockout_time 이 다시 설정됩니다.

정책 옵션의 일부 조합은 지원되지 않습니다.

  • MUST_CHANGE를 지정한 경우에는 CHECK_EXPIRATION 및 CHECK_POLICY를 ON으로 설정해야 합니다. 그렇지 않으면 문이 실패합니다.

  • CHECK_POLICY OFF로 설정된 경우 CHECK_EXPIRATION ON으로 설정할 수 없습니다. 이 옵션 조합을 사용하면 ALTER LOGIN 문이 실패합니다.

  • CHECK_POLICY = ON을 설정하면 다음과 같은 암호의 생성을 방지합니다.

    • Null 또는 비어 있음

    • 컴퓨터 또는 로그인의 이름과 동일

    • "password", "admin", "administrator", "sa", "sysadmin" 중 어느 것이든지

보안 정책은 Windows에서 설정되거나 도메인에서 수신될 수 있습니다. 컴퓨터에서 암호 정책을 보려면 로컬 보안 정책 MMC 스냅인(secpol.msc)을 사용합니다.

참고 항목

CHECK_POLICY 사용하도록 설정된 SQL Server 로그인의 경우 ALTER LOGIN을 실행하고 암호를 변경하는 명령에 OLD_PASSWORD 포함하지 않으면 암호 기록 적용이 무시됩니다. 이는 이전에 사용한 암호에도 불구하고 암호 재설정을 허용하는 기본 동작입니다. 길이 및 복잡성을 포함하여 CHECK_POLICY 관련된 다른 검사는 OLD_PASSWORD 사용 여부에 관계없이 검사됩니다.

CREATE LOGIN(Transact-SQL)

ALTER LOGIN(Transact-SQL)

CREATE USER(Transact-SQL)

ALTER USER(Transact-SQL)

로그인 만들기

데이터베이스 사용자 만들기

강력한 암호