DESCRIBE USER
DESCRIBE USER
사용자(User)의 속성에 대한 현재 값과 기본 값을 포함해 사용자를 설명하는 명령어입니다. DESCRIBE는 DESC로 줄여서 쓸 수 있어요.
출처: 문서
본문
DESCRIBE USER는 사용자의 속성에 대한 현재 값과 기본 값을 포함해 사용자를 설명합니다. 관련 명령어로 DROP USER, ALTER USER, CREATE USER, SHOW USERS가 있어요.
구문 (Syntax)
{ DESC | DESCRIBE } USER <name>
파라미터 (Parameters)
- name — 설명할 사용자의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 감싸야 합니다. 큰따옴표로 감싼 식별자는 대소문자를 구분해요. 자세한 내용은 Identifier requirements를 참고하세요.
출력 (Output)
명령어 출력은 객체의 속성과 메타데이터를 설명하는 다음 컬럼을 포함합니다.
| 컬럼 | 설명 |
|---|---|
| property | 속성의 이름입니다(사용자의 속성 참고). |
| property_type | 속성의 데이터 유형입니다(예: Boolean 또는 String). |
| property_value | 속성에 할당된 값입니다. |
| property_default | 속성의 기본 값입니다. |
property 컬럼에는 사용자의 다음 속성이 포함될 수 있습니다.
| 속성 | 설명 |
|---|---|
| NAME | 사용자의 이름입니다. |
| COMMENT | 사용자에 대한 주석입니다. |
| DISPLAY_NAME | Snowsight에서 사용자에게 표시되는 이름입니다. |
| TYPE | 사용자의 유형입니다. 가능한 값 목록은 Types of users를 참고하세요. |
| LOGIN_NAME | 사용자가 시스템에 로그인할 때 입력하는 이름입니다. |
| FIRST_NAME | 사용자의 이름(성)입니다. |
| MIDDLE_NAME | 사용자의 가운데 이름입니다. |
| LAST_NAME | 사용자의 성(이름)입니다. |
| 사용자의 이메일 주소입니다. | |
| PASSWORD | 사용자의 난독화된 비밀번호입니다. |
| MUST_CHANGE_PASSWORD | TRUE이면 다음 로그인(처음/초기 로그인 포함) 시 비밀번호를 변경해야 합니다. |
| DISABLED | TRUE이면 Snowflake에서 잠겨 로그인할 수 없습니다. |
| SNOWFLAKE_LOCK | TRUE이면 Snowflake에 의해 잠깁니다. 잠김 해제 전까지 로그인할 수 없습니다. |
| SNOWFLAKE_SUPPORT | TRUE이면 Snowflake 지원팀이 사용자 또는 계정을 사용할 수 있습니다. |
| DAYS_TO_EXPIRY | 이 기간(일)이 지나면 사용자 상태가 "Expired"로 설정되어 로그인이 허용되지 않습니다. |
| MINS_TO_UNLOCK | 사용자 로그인의 임시 잠금이 해제될 때까지 남은 시간(분)입니다. |
| DEFAULT_WAREHOUSE | 로그인 시 사용자 세션에서 기본으로 활성화되는 가상 웨어하우스입니다. |
| DEFAULT_NAMESPACE | 로그인 시 사용자 세션에서 기본으로 활성화되는 네임스페이스(데이터베이스만 또는 데이터베이스와 스키마)입니다. |
| DEFAULT_ROLE | 로그인 시 사용자 세션에서 기본으로 활성화되는 기본 역할입니다. |
| DEFAULT_SECONDARY_ROLES | 로그인 시 사용자 세션에서 활성화되는 보조 역할 집합입니다. |
| EXT_AUTHN_DUO | TRUE이면 Duo가 사용자에 대해 활성화되어 로그인 시 MFA(다중 인증)를 사용해야 합니다. |
| EXT_AUTHN_UID | Duo에 사용되는 인증 ID입니다. |
| DEFAULT_MFA_METHOD | 사용자의 기본 MFA 방법입니다. |
| HAS_MFA | TRUE이면 사용자가 MFA(다중 인증)에 등록되어 있습니다. |
| HAS_PAT | TRUE이면 사용자에게 하나 이상의 프로그래매틱 액세스 토큰이 있습니다. |
| HAS_WORKLOAD_IDENTITY | TRUE이면 사용자가 워크로드 ID 페더레이션으로 인증하도록 구성되어 있습니다. |
| MINS_TO_BYPASS_MFA | 사용자에 대한 MFA 요구 사항을 일시적으로 우회하는 시간(분)입니다. |
| MINS_TO_BYPASS_NETWORK_POLICY | 프로그래매틱 액세스 토큰에 네트워크 정책이 있어야 하는 요구 사항을 일시적으로 우회하는 시간(분)입니다. |
| RSA_PUBLIC_KEY | 키-쌍 인증을 위한 사용자의 RSA 공개 키입니다. |
| RSA_PUBLIC_KEY_FP | 사용자 RSA 공개 키의 지문입니다. |
| RSA_PUBLIC_KEY_LAST_SET_TIME | RSA 공개 키가 마지막으로 설정된 날짜와 시간입니다. |
| RSA_PUBLIC_KEY_2 | 키-쌍 교체 중 사용할 사용자의 두 번째 RSA 공개 키입니다. |
| RSA_PUBLIC_KEY_2_FP | 사용자의 두 번째 RSA 공개 키의 지문입니다. |
| RSA_PUBLIC_KEY_2_LAST_SET_TIME | 두 번째 RSA 공개 키가 마지막으로 설정된 날짜와 시간입니다. |
| PASSWORD_LAST_SET_TIME | 마지막으로 NULL이 아닌 비밀번호가 설정된 날짜와 시간입니다. 비밀번호가 설정된 적이 없으면 NULL입니다. |
| CUSTOM_LANDING_PAGE_URL | 향후 사용을 위해 예약되었습니다. |
| CUSTOM_LANDING_PAGE_URL_FLUSH_NEXT_UI_LOAD | 향후 사용을 위해 예약되었습니다. |
| IS_FROM_ORGANIZATION_USER | TRUE이면 사용자가 전역 조직 사용자로부터 가져온 것입니다. |
접근 제어 요구 사항 (Access control requirements)
- 개별 사용자는 자신의 이름을 지정해 이 명령어를 실행하면 자신의 속성을 볼 수 있습니다.
- 다른 사용자의 속성을 보려면 다음 권한이 있는 역할을 사용해야 합니다: OWNERSHIP (객체: User).
스키마 안의 객체를 조작하려면 상위 데이터베이스에 대한 권한이 1개 이상, 상위 스키마에 대한 권한이 1개 이상 필요합니다. 지정된 권한 집합으로 커스텀 역할을 만드는 방법은 Creating custom roles을, securable 객체에 대한 역할과 권한 부여에 관한 일반 정보는 Overview of Access Control을 참고하세요.
사용 참고 사항 (Usage notes)
- 사용자 객체 속성
MINS_TO_BYPASS_NETWORK_POLICY는 사용자가 기존 네트워크 정책을 따르지 않고 Snowflake에 액세스할 수 있는 시간(분)을 정의합니다. 이 값은 Snowflake만 설정할 수 있으며(기본값: NULL), 사용자가 Snowflake에 액세스할 수 있도록 하는 임시 해결책으로 사용됩니다. 이 속성의 값을 설정하려면 Snowflake 지원팀에 문의하세요. - 이 명령어는 사용자의 세션 파라미터 기본 값을 보여주지 않습니다. 대신
SHOW PARAMETERS IN USER를 사용하세요. - 사용자 객체 속성
PASSWORD_LAST_SET_TIME은 아직 비밀번호가 설정되지 않은 경우 NULL이 기본입니다.292278994-08-17 07:12:55.807또는1969-12-31 23:59:59.999값은 이 행이 포함되기 전에 비밀번호가 설정되었음을 나타냅니다.1969-12-31 23:59:59.999값은 만료된 비밀번호를 나타낼 수도 있으며 사용자가 비밀번호를 변경해야 합니다. - 이 명령어의 출력을 후처리하려면 파이프 연산자(
->>)나RESULT_SCAN함수를 사용할 수 있어요. 두 방식 모두 출력을 조회 가능한 결과 집합으로 취급합니다. 예를 들어 SHOW 명령어 출력에서 원하는 컬럼만 선택하거나 행을 필터링할 수 있어요. - 출력 컬럼을 참조할 때는 컬럼 이름을 큰따옴표 식별자로 사용하세요. 예를 들어 출력 컬럼
type을 선택하려면SELECT "type"처럼 지정합니다. SHOW 명령어의 출력 컬럼 이름은 소문자이므로 큰따옴표 식별자를 반드시 사용해야 해요.
예제 (Examples)
다음은 my_user라는 사용자를 설명하는 예제입니다.
DESCRIBE USER my_user;
+--------------------------------------------+-------------------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------+
| property | value | default | description |
|--------------------------------------------+-------------------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------|
| NAME | JSMITH | null | Name |
| COMMENT | null | null | user comment associated to an object in the dictionary |
| DISPLAY_NAME | Jane Smith | null | Display name of the associated object |
| TYPE | PERSON | null | Type of the account, application package, data exchange, data exchange listing, replication group, secret, network rule, or user. |
| LOGIN_NAME | JSMITH | null | Login name of the user |
| FIRST_NAME | Jane | null | First name of the user |
| MIDDLE_NAME | null | null | Middle name of the user |
| LAST_NAME | Smith | null | Last name of the user |
| EMAIL | [email protected] | null | Email address of the user |
| PASSWORD | ******** | null | Password of the user |
| MUST_CHANGE_PASSWORD | false | false | User must change the password |
| DISABLED | false | false | Whether the entity is disabled |
| SNOWFLAKE_LOCK | false | false | Whether the user, account, or organization is locked by Snowflake |
| SNOWFLAKE_SUPPORT | false | false | Snowflake Support is allowed to use the user or account |
| DAYS_TO_EXPIRY | null | null | User record will be treated as expired after specified number of days |
| MINS_TO_UNLOCK | null | null | Temporary lock on the user will be removed after specified number of minutes |
| DEFAULT_WAREHOUSE | MY_WAREHOUSE | null | Default warehouse for this user |
| DEFAULT_NAMESPACE | MY_DB.MY_SCHEMA | null | Default database namespace prefix for this user |
| DEFAULT_ROLE | MY_ROLE | null | Primary principal of user session will be set to this role |
| DEFAULT_SECONDARY_ROLES | [] | [ALL] | The secondary roles will be set to all roles provided here. |
| EXT_AUTHN_DUO | false | false | Whether Duo Security is enabled as second factor authentication |
| EXT_AUTHN_UID | null | null | External authentication ID of the user |
| DEFAULT_MFA_METHOD | null | null | Default MFA method for the user |
| HAS_MFA | true | false | Whether the user is enrolled in multi-factor authentication |
| HAS_PAT | true | false | Whether the user has a programmatic access token |
| HAS_FEDERATED_WORKLOAD_AUTHENTICATION | false | false | Reserved for future use |
| MINS_TO_BYPASS_MFA | null | null | Temporary bypass MFA for the user for a specified number of minutes |
| MINS_TO_BYPASS_NETWORK_POLICY | null | null | Temporary bypass network policy on the user for a specified number of minutes |
| RSA_PUBLIC_KEY | ... | null | RSA public key of the user |
| RSA_PUBLIC_KEY_FP | SHA256:...= | null | Fingerprint of user's RSA public key. |
| RSA_PUBLIC_KEY_LAST_SET_TIME | null | null | The timestamp at which the RSA public key was last set for the user. Defaults to null if no RSA public key has been set yet. |
| RSA_PUBLIC_KEY_2 | ... | null | Second RSA public key of the user |
| RSA_PUBLIC_KEY_2_FP | SHA256:...= | null | Fingerprint of user's second RSA public key. |
| RSA_PUBLIC_KEY_2_LAST_SET_TIME | null | null | The timestamp at which the second RSA public key was last set for the user. Defaults to null if no second RSA public key has been set yet. |
| PASSWORD_LAST_SET_TIME | 2020-10-08 01:33:13.43 | null | The timestamp on which the last non-null password was set for the user. Default to null if no password has been set yet. |
| CUSTOM_LANDING_PAGE_URL | null | null | Reserved for future use |
| CUSTOM_LANDING_PAGE_URL_FLUSH_NEXT_UI_LOAD | false | false | Reserved for future use |
+--------------------------------------------+-------------------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------+