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> } [ , ... ]
Copy

여기서

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>'
Copy
objectParams ::=
    ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR = TRUE | FALSE
    NETWORK_POLICY = <string>
Copy
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>
Copy

참고

가독성을 위해 사용자에 맞춰 설정할 수 있는 세션 매개 변수의 전체 목록은 여기에 포함되지 않습니다. 계정 및 오브젝트 매개 변수뿐 아니라 설명을 포함한 모든 세션 매개 변수의 전체 목록은 매개 변수 를 참조하십시오.

매개 변수

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_DUOEXT_AUTHN_UID 오브젝트 속성은 수정할 수 없습니다.

다단계 인증 을 사용 또는 사용 중지하려면 사용자의 DISABLE_MFA 속성을 수정하십시오. 계정 관리자가 ALTER USER 명령을 실행하여 DISABLE_MFATRUE 로 설정하면 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;
Copy

user1 로 명명된 사용자의 비밀번호를 H8MZRqa8gEe/kvHzvJ+Giq94DuCYoQXmfbb$Xnt 로 설정하고, 사용자가 Snowflake 웹 인터페이스에 로그인하여 자신의 비밀번호를 변경하도록 요구합니다.

ALTER USER user1 SET PASSWORD = 'H8MZRqa8gEe/kvHzvJ+Giq94DuCYoQXmfbb$Xnt' MUST_CHANGE_PASSWORD = TRUE;
Copy

사용자의 기존 설명 제거:

ALTER USER user1 UNSET COMMENT;
Copy