RDS for SQL Server에서 SQL Server 로그인에 암호 정책 사용 - Amazon Relational Database Service

RDS for SQL Server에서 SQL Server 로그인에 암호 정책 사용

Amazon RDS를 사용하면 Microsoft SQL Server를 실행하는 Amazon RDS DB 인스턴스에 암호 정책을 설정할 수 있습니다. 이를 사용하여 SQL Server 인증으로 DB 인스턴스를 인증하는 로그인의 복잡성, 길이 및 잠금 요구 사항을 설정할 수 있습니다.

주요 용어

로그인

SQL Server에서는 데이터베이스 인스턴스에 대해 인증할 수 있는 서버 수준 보안 주체를 로그인이라고 합니다. 다른 데이터베이스 엔진에서는 이 보안 주체를 사용자로 지칭할 수 있습니다. RDS for SQL Server에서는 SQL Server 인증 또는 Windows 인증을 사용하여 로그인을 인증할 수 있습니다.

SQL Server 로그인

SQL Server 인증을 사용하여 사용자 이름과 암호를 통해 인증하는 로그인은 SQL Server 로그인입니다. DB 파라미터를 통해 구성한 암호 정책은 SQL Server 로그인에만 적용됩니다.

Windows 로그인

Windows 보안 주체를 기반으로 하고 Windows 인증을 사용하여 인증하는 로그인은 Windows 로그인입니다. Active Directory에서 Windows 로그인에 대한 암호 정책을 구성할 수 있습니다. 자세한 내용은 RDS for SQL Server를 사용하여 Active Directory 작업 단원을 참조하십시오.

각 로그인에 대한 정책 활성화 및 비활성화

각 SQL Server 로그인에는 CHECK_POLICYCHECK_EXPIRATION 플래그가 있습니다. 기본적으로 새 로그인은 ON으로 설정된 CHECK_POLICYOFF로 설정된 CHECK_EXPIRATION으로 생성됩니다.

로그인에 대해 CHECK_POLICY가 활성화된 경우 RDS for SQL Server는 복잡성 및 최소 길이 요구 사항을 기준으로 암호의 유효성을 검사합니다. 잠금 정책 또한 적용됩니다. CHECK_POLICYCHECK_EXPIRATION을 활성화하기 위한 예제 T-SQL 문:

ALTER LOGIN [master_user] WITH CHECK_POLICY = ON, CHECK_EXPIRATION = ON;

CHECK_EXPIRATION이 활성화된 경우 암호에는 암호 수명 정책이 적용됩니다. CHECK_POLICYCHECK_EXPIRATION 설정 여부를 확인하기 위한 T-SQL 문:

SELECT name, is_policy_checked, is_expiration_checked FROM sys.sql_logins;

암호 정책 파라미터

모든 암호 정책 파라미터는 동적이므로 DB를 재부팅하지 않아도 적용됩니다. 다음 표에는 SQL Server 로그인에 대한 암호 정책을 수정하기 위해 설정할 수 있는 DB 파라미터가 나열되어 있습니다.

DB 파라미터 설명 허용된 값 기본 값
rds.password_complexity_enabled SQL Server 로그인을 위한 암호를 만들거나 변경할 때는 암호 복잡성 요구 사항을 충족해야 합니다. 다음 제약 조건을 충족해야 합니다.
  • 암호에는 다음 중 세 가지 범주의 문자가 포함되어야 합니다.

    • 라틴 소문자(a~z)

    • 라틴 대문자(A~Z)

    • 영숫자 이외의 문자(예: 느낌표(!), 달러 기호($), 숫자 기호(#) 또는 퍼센트(%)).

  • 암호에 사용자의 계정 이름이 포함되지 않음

0, 1 0
rds.password_min_length SQL Server 로그인을 위한 암호에 필요한 최소 문자 수입니다. 0~14 0
rds.password_min_age 사용자가 SQL Server 로그인 암호를 변경할 수 있기 전에 사용해야 하는 최소 일수입니다. 0으로 설정되어 있는 경우 암호를 즉시 변경할 수 있습니다. 0~998 0
rds.password_max_age

SQL Server 로그인 암호를 사용할 수 있는 최대 일수입니다. 이 기간이 지나면 사용자가 암호를 변경해야 합니다. 0으로 설정되어 있는 경우 암호가 만료되지 않습니다.

0~999 42
rds.password_lockout_threshold SQL Server 로그인이 잠기기 전에 연속으로 실패할 수 있는 로그인 시도 횟수입니다. 0~999 0
rds.password_lockout_duration 잠긴 SQL Server 로그인이 잠금 해제될 때까지 기다려야 하는 시간(분)입니다. 1~60 10
rds.password_lockout_reset_counter_after 로그인 시도 실패 후 로그인 시도 실패 카운터가 0으로 재설정되기 전에 경과해야 하는 시간(분)입니다. 1~60 10
참고

SQL Server 암호 정책에 대한 자세한 내용은 암호 정책을 참조하세요.

암호 복잡성 및 최소 길이 정책은 포함된 데이터베이스의 DB 사용자에게도 적용됩니다. 자세한 내용은 포함된 데이터베이스를 참조하세요.

암호 정책 매개변수에는 다음 제약 조건이 적용됩니다.

  • rds.password_max_age가 0으로 설정되어 있지 않는 한 rds.password_min_age 파라미터는 rds.password_max_age parameter보다 작아야 합니다.

  • rds.password_lockout_reset_counter_after 파라미터는 rds.password_lockout_duration 파라미터보다 작거나 같아야 합니다.

  • rds.password_lockout_threshold가 0으로 설정되어 있으면 rds.password_lockout_durationrds.password_lockout_reset_counter_after는 적용되지 않습니다.

기존 로그인에 대한 고려 사항

인스턴스의 암호 정책을 수정한 후에는 로그인을 위한 기존 암호가 새로운 암호 복잡성 및 길이 요구 사항을 기준으로 소급 평가되지 않습니다. 새 암호만 새 정책을 기준으로 검증됩니다.

SQL Server는 수명 요구 사항을 기준으로 기존 암호를 평가합니다.

암호 정책이 수정되는 즉시 암호가 만료될 수도 있습니다. 예를 들어 로그인에 CHECK_EXPIRATION이 활성화되어 있고 100일 전에 암호를 마지막으로 변경했으며 rds.password_max_age 파라미터를 5일로 설정한 경우 암호가 즉시 만료되므로 다음 로그인 시도 시 암호를 변경해야 합니다.

참고

RDS for SQL Server는 암호 기록 정책을 지원하지 않습니다. 기록 정책은 로그인이 이전에 사용한 암호를 재사용하지 못하도록 합니다.

다중 AZ 배포에 대한 고려 사항

다중 AZ 인스턴스의 로그인 시도 실패 카운터 및 잠금 상태는 노드 간에 복제되지 않습니다. 다중 AZ 인스턴스가 장애 조치될 때 로그인이 잠기는 경우 새 노드에서 로그인이 이미 잠금 해제되어 있을 수 있습니다.