ALTER USER¶
시스템의 기존 사용자에 대한 속성과 오브젝트/세션 매개 변수를 수정합니다.
관리자는 이 명령을 사용하여 관리자에게 적절한 권한이 있는 모든 사용자의 속성 및 매개 변수 기본값을 변경할 수 있습니다.
개별 사용자는 이 명령을 사용하여 특정 속성과 모든 세션 매개 변수 기본값을 스스로 변경할 수 있습니다. 자세한 내용은 이 항목에 있는 사용법 노트 섹션을 참조하십시오.
사용자가 제출한 모든 쿼리와 기타 SQL 문을 중단하는 데 사용할 수도 있습니다.
- 참고 항목:
CREATE USER , DROP USER, SHOW PARAMETERS, SHOW USERS , DESCRIBE USER
구문¶
ALTER USER [ IF EXISTS ] [ <name> ] RENAME TO <new_name>
ALTER USER [ IF EXISTS ] [ <name> ] RESET PASSWORD
ALTER USER [ IF EXISTS ] [ <name> ] ABORT ALL QUERIES
ALTER USER [ IF EXISTS ] [ <name> ] ADD DELEGATED AUTHORIZATION OF ROLE <role_name> TO SECURITY INTEGRATION <integration_name>
ALTER USER [ IF EXISTS ] [ <name> ] REMOVE DELEGATED { AUTHORIZATION OF ROLE <role_name> | AUTHORIZATIONS } FROM SECURITY INTEGRATION <integration_name>
ALTER USER [ IF EXISTS ] [ <name> ] SET { AUTHENTICATION | PASSWORD | SESSION } POLICY <policy_name>
ALTER USER [ IF EXISTS ] [ <name> ] UNSET { AUTHENTICATION | PASSWORD | SESSION } POLICY
ALTER USER [ IF EXISTS ] [ <name> ] SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER USER [ IF EXISTS ] [ <name> ] UNSET TAG <tag_name> [ , <tag_name> ... ]
ALTER USER [ IF EXISTS ] [ <name> ] SET { [ objectProperties ] [ objectParams ] [ sessionParams ] }
ALTER USER [ IF EXISTS ] [ <name> ] UNSET { <object_property_name> | <object_param_name> | <session_param_name> } [ , ... ]
여기서
objectProperties ::= PASSWORD = '<string>' LOGIN_NAME = <string> DISPLAY_NAME = <string> FIRST_NAME = <string> MIDDLE_NAME = <string> LAST_NAME = <string> EMAIL = <string> MUST_CHANGE_PASSWORD = TRUE | FALSE DISABLED = TRUE | FALSE DAYS_TO_EXPIRY = <integer> MINS_TO_UNLOCK = <integer> DEFAULT_WAREHOUSE = <string> DEFAULT_NAMESPACE = <string> DEFAULT_ROLE = <string> DEFAULT_SECONDARY_ROLES = ( 'ALL' ) MINS_TO_BYPASS_MFA = <integer> DISABLE_MFA = TRUE | FALSE RSA_PUBLIC_KEY = <string> RSA_PUBLIC_KEY_FP = <string> RSA_PUBLIC_KEY_2 = <string> RSA_PUBLIC_KEY_2_FP = <string> COMMENT = '<string>'objectParams ::= ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR = TRUE | FALSE NETWORK_POLICY = <string>sessionParams ::= ABORT_DETACHED_QUERY = TRUE | FALSE AUTOCOMMIT = TRUE | FALSE BINARY_INPUT_FORMAT = <string> BINARY_OUTPUT_FORMAT = <string> DATE_INPUT_FORMAT = <string> DATE_OUTPUT_FORMAT = <string> ERROR_ON_NONDETERMINISTIC_MERGE = TRUE | FALSE ERROR_ON_NONDETERMINISTIC_UPDATE = TRUE | FALSE JSON_INDENT = <num> LOCK_TIMEOUT = <num> QUERY_TAG = <string> ROWS_PER_RESULTSET = <num> S3_STAGE_VPCE_DNS_NAME = <string> SEARCH_PATH = <string> SIMULATED_DATA_SHARING_CONSUMER = <string> STATEMENT_TIMEOUT_IN_SECONDS = <num> STRICT_JSON_OUTPUT = TRUE | FALSE TIMESTAMP_DAY_IS_ALWAYS_24H = TRUE | FALSE TIMESTAMP_INPUT_FORMAT = <string> TIMESTAMP_LTZ_OUTPUT_FORMAT = <string> TIMESTAMP_NTZ_OUTPUT_FORMAT = <string> TIMESTAMP_OUTPUT_FORMAT = <string> TIMESTAMP_TYPE_MAPPING = <string> TIMESTAMP_TZ_OUTPUT_FORMAT = <string> TIMEZONE = <string> TIME_INPUT_FORMAT = <string> TIME_OUTPUT_FORMAT = <string> TRANSACTION_DEFAULT_ISOLATION_LEVEL = <string> TWO_DIGIT_CENTURY_START = <num> UNSUPPORTED_DDL_ACTION = <string> USE_CACHED_RESULT = TRUE | FALSE WEEK_OF_YEAR_POLICY = <num> WEEK_START = <num>
참고
가독성을 위해 사용자에 맞춰 설정할 수 있는 세션 매개 변수의 전체 목록은 여기에 포함되지 않습니다. 계정 및 오브젝트 매개 변수뿐 아니라 설명을 포함한 모든 세션 매개 변수의 전체 목록은 매개 변수 를 참조하십시오.
매개 변수¶
name
변경할 사용자의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
식별자를 생략할 경우 이 문은 활성 사용자(즉, 로그인한 사용자)를 수정합니다. (이 항목의) 사용법 노트 에 설명된 제한 사항이 적용됩니다.
RENAME TO new_name
사용자의 새 식별자를 지정하며, 계정에 고유한 식별자여야 합니다.
자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
RESET PASSWORD
사용자가 새 비밀번호를 입력할 수 있는 웹 페이지가 열리도록 사용자와 공유할 수 있는 URL을 생성합니다. 생성된 URL은 1회용으로 유효하며 4시간 후에는 만료됩니다.
이 매개 변수를 지정해도 사용자의 현재 비밀번호가 무효화되지는 않습니다. 사용자는 URL을 통해 비밀번호를 재설정할 때까지 현재 비밀번호를 계속 사용할 수 있습니다.
현재 비밀번호를 무효화하려면 비밀번호를 새 값으로 변경하는
SET PASSWORD = 'string'
을 대신 사용하십시오.ABORT ALL QUERIES
쿼리가 실행 중이거나 예약된 웨어하우스와 관계없이, 사용자가 현재 실행 중이거나 예약한 모든 쿼리와 기타 SQL 문을 중단합니다.
사용자는 여전히 Snowflake에 로그인하여 새 쿼리를 시작할 수 있습니다.
실행 중이거나 예약된 모든 쿼리를 중단하고 사용자가 Snowflake에 로그인하거나 새 쿼리를 시작하지 못하도록 하려면
SET DISABLED = TRUE
를 대신 지정하십시오.ADD DELEGATED AUTHORIZATION OF ROLE role_name TO SECURITY INTEGRATION integration_name;
특정 통합에 대해 지정된 역할을 사용하여 세션을 시작하기 위한 사용자 동의를 추가합니다.
자세한 내용은 OAuth 사용자 동의를 위해 위임된 권한 추가 를 참조하십시오.
REMOVE DELEGATED AUTHORIZATION OF ROLE role_name FROM SECURITY INTEGRATION integration_name
, .REMOVE DELEGATED AUTHORIZATIONS FROM SECURITY INTEGRATION integration_name
사용자에 대한 동의 취소:
첫 번째 구문은 지정된 역할에 대해 지정된 보안 통합에 대한 동의를 취소합니다. 이는 통합 및 특정 역할과 관련된 OAuth 액세스 토큰을 모두 취소하는 효과가 있습니다.
두 번째 구문은 지정된 보안 통합에서 모든 동의를 취소합니다. 이는 통합과 관련된 OAuth 액세스 토큰을 모두 취소하는 효과가 있습니다.
자세한 내용은 다음을 참조하십시오.
{ AUTHENTICATION | PASSWORD | SESSION } POLICY policy_name
사용자에 대해 다음 정책 중 하나를 지정합니다.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
태그 이름과 태그 문자열 값을 지정합니다.
태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자입니다.
문에서 태그를 지정하는 방법에 대한 자세한 내용은 오브젝트 및 열에 대한 태그 할당량 섹션을 참조하십시오.
오브젝트 속성(objectProperties
)¶
SET property_name = property_value [ ... ]
, .UNSET property_name [ , ... ]
사용하려고 설정하거나 설정 해제할 하나 이상의 오브젝트 속성을 지정합니다. 오브젝트 속성을 설정 해제하면 다시 기본값으로 재설정됩니다.
설정할 수 있는 오브젝트 속성(예: PASSWORD, LOGIN_NAME, DEFAULT_ROLE)에 대한 자세한 내용은 CREATE USER 를 참조하십시오.
참고
EXT_AUTHN_DUO
및 EXT_AUTHN_UID
오브젝트 속성은 수정할 수 없습니다.
다단계 인증 을 사용 또는 사용 중지하려면 사용자의 DISABLE_MFA
속성을 수정하십시오. 계정 관리자가 ALTER USER 명령을 실행하여 DISABLE_MFA
를 TRUE
로 설정하면 FALSE
의 값은 자동으로 EXT_AUTHN_DUO
로 설정됩니다.
속성 설정 및 설정 해제에 대한 더 일반적인 세부 정보는 이 항목에 있는 사용법 노트 를 참조하십시오.
오브젝트 매개 변수(objectParams
)¶
SET ...
사용자를 위해 설정할 하나 이상의 매개 변수를 지정합니다(공백, 쉼표 또는 줄 바꿈으로 구분됨).
ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR = { TRUE | FALSE }
구문 또는 구문 분석 오류로 인해 실패한 쿼리가 쿼리 기록에 표시되는 방식을 제어합니다. FALSE인 경우 쿼리 기록을 제공하는 뷰, 페이지, 함수에서 실패한 쿼리의 내용이 수정됩니다.
이 매개 변수는 쿼리를 실행한 사용자가 아니라 쿼리 기록을 보는 사용자의 동작을 제어합니다.
AUDIT 권한이 부여되거나 상속되는 역할을 가진 사용자만 ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR 매개 변수를 설정할 수 있습니다.
NETWORK_POLICY = string
사용자에게 유효하게 적용되는 네트워크 정책 을 지정합니다.
또한, 매개 변수 설정 및 설정 해제에 대한 더 일반적인 세부 정보는 이 항목에 있는 사용법 노트 섹션을 참조하십시오.
UNSET ...
사용자에 대해 설정 해제할 속성을 지정하여 기본값으로 재설정합니다.
NETWORK_POLICY
SESSION POLICY
TAG tag_name [ , tag_name ... ]
세션 매개 변수(sessionParams
)¶
SET session_param_name = param_value [ ... ]
, .UNSET session_param_name [ , ... ]
사용자에 대해 설정하거나 설정 해제할 하나 이상의 세션 매개 변수를 지정합니다. 세션 매개 변수를 설정 해제하면 다시 기본값으로 재설정됩니다.
설정할 수 있는 세션 매개 변수(ABORT_DETACHED_SESSION, AUTOCOMMIT 등)에 대한 자세한 내용은 매개 변수 를 참조하십시오.
또한, 매개 변수 설정 및 설정 해제에 대한 더 일반적인 세부 정보는 이 항목에 있는 사용법 노트 섹션을 참조하십시오.
사용법 노트¶
사용자에 대한 OWNERSHIP 권한을 가진 역할이나 더 높은 역할만 이 명령을 실행하여 대부분의 사용자 속성을 수정할 수 있습니다.
팁
SET PASSWORD = 'string'
을 사용하여 사용자의 비밀번호를 변경할 때 다른 인터페이스(예: SnowSQL 또는 다른 클라이언트 애플리케이션)를 통해 Snowflake에 로그인하기 전에 사용자가 웹 인터페이스에 로그인하고 비밀번호를 변경할 수밖에 없도록MUST_CHANGE_PASSWORD = TRUE
도 지정하는 것이 좋습니다.또는
RESET PASSWORD
를 사용하여 사용자가 비밀번호를 변경하기 위해 액세스할 수 있는 웹 페이지로 연결되는 URL을 생성합니다.개별 사용자는 스스로 ALTER USER 명령을 실행하고(즉, 명령에 사용자 이름/식별자를 지정하여) 다음을 변경할 수 있습니다.
DEFAULT_WAREHOUSE
DEFAULT_NAMESPACE
DEFAULT_ROLE
세션 매개 변수 기본값 중 임의의 기본값
사용자는 이 명령을 사용하여 비밀번호를 변경할 수 없습니다. 보안상의 이유로, Snowflake는 사용자가 웹 인터페이스 내에서만 비밀번호를 변경할 수 있도록 허용합니다.
하지만 적절한 권한을 가진 관리자는
SET PASSWORD = 'string'
과 함께 이 명령을 사용하여 사용자의 비밀번호를 변경할 수 있습니다.팁
사용자의 비밀번호를 변경할 때 다른 인터페이스(예: SnowSQL 또는 다른 클라이언트 애플리케이션)를 통해 Snowflake에 로그인하기 전에 사용자가 웹 인터페이스에 로그인하고 비밀번호를 변경할 수밖에 없도록
MUST_CHANGE_PASSWORD = TRUE
도 지정하는 것이 좋습니다.또는
RESET PASSWORD
를 사용하여 사용자가 비밀번호를 변경하기 위해 액세스할 수 있는 웹 페이지로 연결되는 URL을 생성합니다.ALTER USER 문은 기본 오브젝트(
DEFAULT_WAREHOUSE
,DEFAULT_NAMESPACE
,DEFAULT_ROLE
)가 존재하는지 확인하지 않습니다.DEFAULT_SECONDARY_ROLES
는 오브젝트 이름을 값으로 허용하지 않지만, ALTER USER 문은 지원되는 값이 지정되었는지 확인합니다.단일 ALTER 문으로 여러 오브젝트 속성과 오브젝트/세션 매개 변수를 설정 및 설정 해제할 수 있습니다.
여러 속성/매개 변수를 설정할 때는 공백, 쉼표 또는 줄 바꿈으로 구분하십시오.
여러 속성/매개 변수를 설정 해제할 때는 쉼표로 구분해야 합니다. 또한, 속성/매개 변수를 설정 해제할 때는 이름만 지정하십시오. 속성/매개 변수 값을 지정하면 오류가 반환됩니다.
사용자에 대해
SET DISABLED = TRUE
를 지정하는 경우는 다음과 같습니다.사용자가 현재 실행 중이거나 예약한 모든 쿼리와 기타 SQL 문이 중단되며 사용자는 추가 쿼리를 시작할 수 없습니다.
사용자는 Snowflake 외부에서 잠기며 다시 로그인할 수 없습니다.
사용자에 대해 실행 중인 쿼리/문과 예약된 쿼리/문만 모두 중단하려면
ABORT ALL QUERIES
를 대신 사용하십시오.메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
예¶
이름을 user1
에서 user2
로 바꾸기:
ALTER USER user1 RENAME TO user2;
user1
로 명명된 사용자의 비밀번호를 H8MZRqa8gEe/kvHzvJ+Giq94DuCYoQXmfbb$Xnt
로 설정하고, 사용자가 Snowflake 웹 인터페이스에 로그인하여 자신의 비밀번호를 변경하도록 요구합니다.
ALTER USER user1 SET PASSWORD = 'H8MZRqa8gEe/kvHzvJ+Giq94DuCYoQXmfbb$Xnt' MUST_CHANGE_PASSWORD = TRUE;
사용자의 기존 설명 제거:
ALTER USER user1 UNSET COMMENT;