다음을 통해 공유


암호 정책

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

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

암호 복잡도

암호 복잡성 정책은 가능한 암호 수를 늘려 무차별 암호 대입 공격을 방지하도록 설계되었습니다. 암호 복잡성 정책이 적용되는 경우 새 암호는 다음 지침을 충족해야 합니다.

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

  • 암호 길이가 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)을 사용합니다.

CREATE LOGIN(Transact-SQL)

ALTER LOGIN(Transact-SQL)

CREATE USER(Transact-SQL)

ALTER USER(Transact-SQL)

로그인 만들기

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

강력한 암호