ALTER PASSWORD POLICY

ALTER PASSWORD POLICY

기존 암호 정책(password policy)의 속성을 수정하는 명령이에요. 암호 정책 속성에 대한 변경 사항은 해당 정책을 사용하는 다음 SQL 쿼리가 실행될 때 적용돼요.

출처: 문서

본문

DDL 명령에 대한 자세한 내용은 암호 정책 관리를 참고하세요.

구문 (Syntax)

ALTER PASSWORD POLICY [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER PASSWORD POLICY [ IF EXISTS ] <name> SET [ PASSWORD_MIN_LENGTH = <integer> ]
                                               [ PASSWORD_MAX_LENGTH = <integer> ]
                                               [ PASSWORD_MIN_UPPER_CASE_CHARS = <integer> ]
                                               [ PASSWORD_MIN_LOWER_CASE_CHARS = <integer> ]
                                               [ PASSWORD_MIN_NUMERIC_CHARS = <integer> ]
                                               [ PASSWORD_MIN_SPECIAL_CHARS = <integer> ]
                                               [ PASSWORD_MIN_AGE_DAYS = <integer> ]
                                               [ PASSWORD_MAX_AGE_DAYS = <integer> ]
                                               [ PASSWORD_MAX_RETRIES = <integer> ]
                                               [ PASSWORD_LOCKOUT_TIME_MINS = <integer> ]
                                               [ PASSWORD_HISTORY = <integer> ]
                                               [ COMMENT = '<string_literal>' ]

ALTER PASSWORD POLICY [ IF EXISTS ] <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER PASSWORD POLICY [ IF EXISTS ] <name> UNSET TAG <tag_name> [ , <tag_name> ... ]

ALTER PASSWORD POLICY [ IF EXISTS ] <name> UNSET [ PASSWORD_MIN_LENGTH ]
                                                 [ PASSWORD_MAX_LENGTH ]
                                                 [ PASSWORD_MIN_UPPER_CASE_CHARS ]
                                                 [ PASSWORD_MIN_LOWER_CASE_CHARS ]
                                                 [ PASSWORD_MIN_NUMERIC_CHARS ]
                                                 [ PASSWORD_MIN_SPECIAL_CHARS ]
                                                 [ PASSWORD_MIN_AGE_DAYS ]
                                                 [ PASSWORD_MAX_AGE_DAYS ]
                                                 [ PASSWORD_MAX_RETRIES ]
                                                 [ PASSWORD_LOCKOUT_TIME_MINS ]
                                                 [ PASSWORD_HISTORY ]
                                                 [ COMMENT ]

매개변수 (Parameters)

name — 암호 정책의 식별자로, 계정에서 고유해야 해요.

식별자 값은 알파벳 문자로 시작해야 하며, 전체 식별자 문자열을 큰따옴표로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없어요(예: "My object"). 큰따옴표로 묶은 식별자는 대소문자를 구분해요. 자세한 내용은 식별자 요구사항을 참고하세요.

RENAME TO new_name — 세션 정책의 새 식별자를 지정해요. 계정에서 고유해야 해요.

자세한 내용은 식별자 요구사항을 참고하세요.

객체의 이름을 바꾸면서 다른 데이터베이스 및/또는 스키마로 이동할 수 있어요. 그러려면 db_name.schema_name.object_name 또는 schema_name.object_name 형식으로 새 데이터베이스 및/또는 스키마 이름이 포함된 정규화된(qualified) new_name 값을 지정해요.

참고

  • 대상 데이터베이스 및/또는 스키마는 이미 존재해야 해요. 또한 새 위치에 이미 같은 이름의 객체가 있으면 안 돼요. 그렇지 않으면 문이 오류를 반환해요.
  • 객체 소유자(즉 객체에 OWNERSHIP 권한이 있는 역할)가 대상 스키마도 소유하지 않는 한, 객체를 관리형 접근 스키마(managed access schema)로 이동하는 것은 금지돼요.

SET ... — 공백, 콤마 또는 줄바꿈으로 구분해 암호 정책에 설정할 하나 이상의 매개변수를 지정해요.

PASSWORD_MIN_LENGTH = integer — 암호가 포함해야 하는 최소 문자 수를 지정해요.

지원 범위: 8 ~ 256 (포함).

기본값: 14

PASSWORD_MAX_LENGTH = integer — 암호가 포함해야 하는 최대 문자 수를 지정해요. 이 값은 PASSWORD_MIN_LENGTH, PASSWORD_MIN_UPPER_CASE_CHARS, PASSWORD_MIN_LOWER_CASE_CHARS의 합보다 크거나 같아야 해요.

지원 범위: 8 ~ 256 (포함).

기본값: 256

PASSWORD_MIN_UPPER_CASE_CHARS = integer — 암호가 포함해야 하는 최소 대문자 수를 지정해요.

지원 범위: 0 ~ 256 (포함).

기본값: 1

PASSWORD_MIN_LOWER_CASE_CHARS = integer — 암호가 포함해야 하는 최소 소문자 수를 지정해요.

지원 범위: 0 ~ 256 (포함).

기본값: 1

PASSWORD_MIN_NUMERIC_CHARS = integer — 암호가 포함해야 하는 최소 숫자 수를 지정해요.

지원 범위: 0 ~ 256 (포함).

기본값: 1

PASSWORD_MIN_SPECIAL_CHARS = integer — 암호가 포함해야 하는 최소 특수 문자 수를 지정해요.

지원 범위: 0 ~ 256 (포함).

기본값: 0

PASSWORD_MIN_AGE_DAYS = integer — 최근에 변경한 암호를 다시 변경할 수 있을 때까지 사용자가 대기해야 하는 일수를 지정해요.

지원 범위: 0 ~ 999 (포함).

기본값: 0

PASSWORD_MAX_AGE_DAYS = integer — 암호를 변경해야 하는 최대 일수를 지정해요.

지원 범위: 0 ~ 999 (포함).

값이 0(즉 0)이면 암호를 변경할 필요가 없음을 나타내요. Snowflake는 기본 계정 수준 암호 정책이나 사용자 수준 정책에 이 값을 선택하는 것을 권장하지 않아요. 대신 내부 보안 지침에 맞는 값을 선택하세요.

기본값: 90 (암호를 매 90일마다 변경해야 함을 의미).

중요: 이 매개변수는 상태 유지(stateful) 방식이에요. 자세한 내용은 계정 및 사용자에 대한 사용자 정의 암호 정책의 참고를 확인하세요.

PASSWORD_MAX_RETRIES = integer — 잠기기 전까지 암호를 입력할 수 있는 최대 시도 횟수를 지정해요.

지원 범위: 1 ~ 10 (포함).

기본값: 5

중요: 이 매개변수는 상태 유지 방식이에요. 자세한 내용은 계정 및 사용자에 대한 사용자 정의 암호 정책의 참고를 확인하세요.

PASSWORD_LOCKOUT_TIME_MINS = integer — 지정된 암호 재시도 횟수(즉 PASSWORD_MAX_RETRIES)를 모두 소진한 후 사용자 계정이 잠겨 있을 시간(분)을 지정해요.

지원 범위: 1 ~ 999 (포함).

기본값: 15

중요: 이 매개변수는 상태 유지 방식이에요. 자세한 내용은 계정 및 사용자에 대한 사용자 정의 암호 정책의 참고를 확인하세요.

PASSWORD_HISTORY = integer — Snowflake가 저장하는 가장 최근 암호 수를 지정해요. 사용자가 암호를 업데이트할 때 이 저장된 암호들은 재사용할 수 없어요.

현재 암호 값은 히스토리에 포함되지 않아요.

히스토리 값을 늘리면 Snowflake는 이전 값들을 저장해요.

값을 줄이면 Snowflake는 설정된 값까지 저장된 값을 유지해요. 예를 들어 히스토리 값이 8인데 3으로 변경하면 Snowflake는 가장 최근 3개의 암호 값을 저장하고 히스토리에서 5개의 더 오래된 암호 값을 삭제해요.

기본값: 5

최대값: 24

COMMENT = 'string_literal' — 암호 정책에 주석을 추가하거나 기존 주석을 덮어써요.

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]태그 이름과 태그 문자열 값을 지정해요.

태그 값은 항상 문자열이며, 최대 문자 수는 256이에요. 문에서 태그를 지정하는 방법은 태그 할당량을 참고하세요.

UNSET ... — 암호 정책에서 하나 이상의 매개변수를 해제해 시스템 기본값으로 되돌려요.

하나의 ALTER 문으로 여러 속성을 재설정할 수 있어요. 각 속성은 콤마로 구분해야 해요. 속성을 재설정할 때는 이름만 지정해요. 속성에 값을 지정하면 오류가 반환돼요.

접근 제어 요구사항 (Access control requirements)

이 작업을 실행하는 데 사용되는 역할은 최소한 다음 권한을 보유해야 해요: GRANT OWNERSHIP

권한 객체 설명
OWNERSHIP Password policy OWNERSHIP은 객체를 만든 역할에 자동으로 부여되는 객체의 특별한 권한이에요. 소유 역할(또는 MANAGE GRANTS 권한이 있는 역할)이 GRANT OWNERSHIP 명령으로 다른 역할에 이전할 수도 있어요.

스키마의 객체를 조작하려면 상위 데이터베이스에 대해 하나 이상의 권한과 상위 스키마에 대해 하나 이상의 권한이 필요해요.

지정한 권한 집합을 가진 사용자 정의 역할을 만드는 방법은 사용자 정의 역할 만들기를 참고하세요.

보호 객체에서 SQL 작업을 수행할 때 역할과 권한 부여에 대한 일반 정보는 접근 제어 개요를 참고하세요.

암호 정책 DDL과 권한에 대한 추가 내용은 DDL 명령을 참고하세요.

사용 메모 (Usage notes)

기존 암호 정책을 업데이트하려고 하는데 현재 정의를 확인해야 한다면 GET_DDL 함수를 호출하거나 DESCRIBE PASSWORD POLICY 명령을 실행해요.

  • 암호 정책 소유자(즉 암호 정책에 OWNERSHIP 권한이 있는 역할)가 대상 스키마도 소유하지 않는 한, 암호 정책을 관리형 접근 스키마로 이동하는 것은 금지돼요. 자세한 내용은 접근 제어 권한 개요를 참고하세요.

예시 (Examples)

다음 예시는 현재 암호 정책을 설명한 뒤 허용된 암호 재시도 횟수를 지정하도록 암호 정책을 업데이트해요.

DESC PASSWORD POLICY password_policy_prod_1;

ALTER PASSWORD POLICY password_policy_prod_1 SET PASSWORD_MAX_RETRIES = 3;

더 알아보기 (Learn more)