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> ] mfaActions
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> } [ , ... ]
여기서
mfaActions ::= { ENROLL MFA SET DEFAULT_MFA_METHOD = { PASSKEY | TOTP | DUO } REMOVE MFA METHOD <mfa_method> MODIFY MFA METHOD <mfa_method> SET COMMENT = '<string>' }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> TYPE = PERSON | SERVICE | LEGACY_SERVICE | NULL COMMENT = '<string>'objectParams ::= ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR = TRUE | FALSE ENABLE_UNREDACTED_SECURE_OBJECT_ERROR = TRUE | FALSE NETWORK_POLICY = <string> PREVENT_UNLOAD_TO_INLINE_URL = TRUE | FALSE PREVENT_UNLOAD_TO_INTERNAL_STAGES = TRUE | FALSEsessionParams ::= ABORT_DETACHED_QUERY = TRUE | FALSE AUTOCOMMIT = TRUE | FALSE BINARY_INPUT_FORMAT = <string> BINARY_OUTPUT_FORMAT = <string> DATE_INPUT_FORMAT = <string> DATE_OUTPUT_FORMAT = <string> DEFAULT_NULL_ORDERING = <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 [ , ... ]
사용하려고 설정하거나 설정 해제할 하나 이상의 오브젝트 속성을 지정합니다. 오브젝트 속성을 설정 해제하면 다시 기본값으로 재설정됩니다.
TYPE = { PERSON | SERVICE | LEGACY_SERVICE | NULL }
사용자 유형을 변경합니다. 이 속성을 설정하여 인간 사용자, 서비스 사용자, 레거시 서비스 사용자를 구분할 수 있습니다. 이러한 유형의 사용자 특성에 대한 자세한 내용은 사용자 유형 섹션을 참조하십시오.
PERSON
Snowflake와 상호 작용하는 인간 사용자입니다.
SERVICE
사람의 개입 없이 Snowflake와 상호 작용하는 서비스 또는 애플리케이션인 사용자입니다.
사용자가 ALTER USER 명령을 사용하여
TYPE
속성을SERVICE
로 설정한 경우 호환되지 않는 속성은 계속 저장되지만 DESCRIBE USER 와 같은 명령에 의해 반환되지 않습니다. 호환되지 않는 속성은 ALTER USER 명령을 사용하여 설정할 수 없습니다.TYPE
속성이SERVICE
로 설정된 사용자가TYPE
속성이PERSON
또는NULL
로 설정된 사용자로 변경되는 경우, 호환되지 않는 속성이 복원되고PASSWORD
속성을 포함하여 변경될 수 있습니다.LEGACY_SERVICE
TYPE
속성이LEGACY_SERVICE
로 설정된 사용자는 비대화형 통합을 나타냅니다.SERVICE
와 유사하지만 비밀번호와 SAML 인증을 허용합니다.NULL
PERSON 과 동일한 기능을 합니다.
DISABLE_MFA = { TRUE | FALSE }
이 매개 변수의 효과는 사용자가 자발적으로 MFA 에 등록했는지 또는 등록을 요구받았는지에 따라 달라집니다.
사용자가 MFA 를 사용해야 하는 인증 정책의 적용을 받는 경우 이 매개 변수를 TRUE 로 설정하면 사용자의 MFA 방법이 지워집니다. 사용자가 다음에 로그인할 때 두 번째 인증 요소로 사용할 수 있는 새로운 MFA 방법을 추가하라는 메시지가 표시됩니다.
사용자가 자발적으로 MFA 에 등록한 경우 이 매개 변수를 TRUE 로 설정하면 두 번째 인증 요소 없이 비밀번호 사용자가 인증할 수 있습니다.
설정할 수 있는 다른 오브젝트 속성(예: PASSWORD, LOGIN_NAME, DEFAULT_ROLE)에 대한 자세한 내용은 CREATE USER 섹션을 참조하십시오.
속성 설정 및 설정 해제에 대한 더 일반적인 세부 정보는 이 항목에 있는 사용법 노트 를 참조하십시오.
오브젝트 매개 변수(objectParams
)¶
SET ...
사용자를 위해 설정할 하나 이상의 매개 변수를 지정합니다(공백, 쉼표 또는 줄 바꿈으로 구분됨).
ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR = { TRUE | FALSE }
구문 또는 구문 분석 오류로 인해 실패한 쿼리가 쿼리 기록에 표시되는 방식을 제어합니다. FALSE인 경우 쿼리 기록을 제공하는 뷰, 페이지, 함수에서 실패한 쿼리의 내용이 수정됩니다.
이 매개 변수는 쿼리를 실행한 사용자가 아니라 쿼리 기록을 보는 사용자의 동작을 제어합니다.
AUDIT 권한이 부여되거나 상속되는 역할을 가진 사용자만 ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR 매개 변수를 설정할 수 있습니다.
ENABLE_UNREDACTED_SECURE_OBJECT_ERROR = { TRUE | FALSE }
보안 오브젝트와 관련된 오류 메시지를 메타데이터에서 삭제할지 여부를 제어합니다. 보안 오브젝트에 대한 오류 메시지 수정에 대한 자세한 내용은 오브젝트 보안: 오류 메시지의 정보 삭제: 오류 메시지의 정보 삭제 섹션을 참조하십시오.
AUDIT 권한이 부여되거나 상속되는 역할을 가진 사용자만 ENABLE_UNREDACTED_SECURE_OBJECT_ERROR 매개 변수를 설정할 수 있습니다.
ALTER USER 명령을 사용하여 특정 사용자에 대한 매개 변수를
TRUE
로 설정할 때는 오류를 일으킨 사용자가 아니라 메타데이터에서 수정된 오류 메시지를 보려는 사용자를 수정하십시오.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 등)에 대한 자세한 내용은 매개 변수 를 참조하십시오.
또한, 매개 변수 설정 및 설정 해제에 대한 더 일반적인 세부 정보는 이 항목에 있는 사용법 노트 섹션을 참조하십시오.
다단계 인증(MFA) 작업(mfaActions)¶
user ENROLL MFA
지정된 사용자를 다단계 인증(MFA)에 등록하고 두 번째 인증 요소를 추가하라는 메시지를 표시합니다.
사용자에게 인증된 이메일이 있는 경우 Snowflake는 MFA 인증 방법을 추가하라는 이메일을 보냅니다.
사용자에게 인증된 이메일이 없는 경우 Snowflake는 사용자에게 MFA 인증 방법을 추가하라는 페이지의 URL 을 반환합니다.
SET DEFAULT_MFA_METHOD = { PASSKEY | TOTP | DUO }
현재 사용자에게 MFA 방법이 두 개 이상 있는 경우 두 번째 인증 요소로 사용할 방법을 지정합니다.
user REMOVE MFA METHOD mfa_method
지정된 사용자가 이전에 설정한 MFA 방법을 제거합니다. 사용자는 더 이상 MFA 방법을 인증의 두 번째 요소로 사용할 수 없습니다.
mfa_method
의 식별자를 얻으려면 SHOW MFA METHODS 명령을 실행하고name
열에서 값을 찾습니다.[ user ] MODIFY MFA METHOD mfa_method SET COMMENT = 'string'
지정된 MFA 방법의 설명 이름을 설정합니다.
mfa_method
의 식별자를 얻으려면 SHOW MFA METHODS 명령을 실행하고name
열에서 값을 찾습니다.사용자는
user
를 생략하고 자신의 MFA 방법에 대한 설명 이름을 설정할 수 있습니다.
사용법 노트¶
사용자에 대한 OWNERSHIP 권한을 가진 역할이나 더 높은 역할만 이 명령을 실행하여 대부분의 사용자 속성을 수정할 수 있습니다.
팁
SET PASSWORD = 'string'
을 사용하여 사용자의 비밀번호를 변경할 때 다른 인터페이스(예: SnowSQL 또는 다른 클라이언트 애플리케이션)를 통해 Snowflake에 로그인하기 전에 사용자가 웹 인터페이스에 로그인하고 비밀번호를 변경할 수밖에 없도록MUST_CHANGE_PASSWORD = TRUE
도 지정하는 것이 좋습니다.또는
RESET PASSWORD
를 사용하여 사용자가 비밀번호를 변경하기 위해 액세스할 수 있는 웹 페이지로 연결되는 URL을 생성합니다.ACCOUNTADMIN 역할이 있는 사용자만 다음 매개 변수를 설정할 수 있습니다.
PREVENT_UNLOAD_TO_INLINE_URL
PREVENT_UNLOAD_TO_INTERNAL_STAGES
개별 사용자는 스스로 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
를 대신 사용하십시오.사용자의
TYPE
속성이SERVICE
인 경우 다음 명령은 사용할 수 없습니다.ALTER USER RESET PASSWORD
ALTER USER SET DISABLE_MFA = TRUE
메타데이터 관련:
주의
고객은 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;
사용자 유형 을 프로그래밍 방식으로 Snowflake와 상호 작용하는 애플리케이션으로 변경합니다.
ALTER USER user1 SET TYPE = SERVICE;
사용자의 기존 설명 제거:
ALTER USER user1 UNSET COMMENT;
기본적으로 보조 역할은 활성화하지 않습니다.
ALTER USER user1 SET DEFAULT_SECONDARY_ROLES = ();
기본적으로 모든 보조 역할을 활성화합니다.
ALTER USER user1 UNSET DEFAULT_SECONDARY_ROLES;
OR
ALTER USER user1 SET DEFAULT_SECONDARY_ROLES = ('ALL');