SHOW USERS

SHOW USERS

시스템의 모든 사용자를 나열하는 명령이에요.

출처: 문서

본문

시스템의 모든 사용자를 나열해요.

구문

SHOW [ TERSE ] USERS
  [ LIKE '<pattern>' ]
  [ STARTS WITH '<name_string>' ]
  [ LIMIT <rows> [ FROM '<name_string>' ] ]

매개변수

TERSE

다음 출력 컬럼만 반환해요: name, created_on, display_name, first_name, last_name, email, org_identity, comment, has_password, has_rsa_public_key, type, has_mfa, has_pat, has_federated_workload_authentication, is_from_organization_user.

LIKE 'pattern'

선택적으로 객체 이름으로 명령 출력을 필터링해요. 필터는 SQL 와일드카드 문자(%_)를 지원하며 대소문자를 구분하지 않는 패턴 매칭을 사용해요. 예를 들어 다음 패턴들은 같은 결과를 반환해요:

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

기본값: 값 없음(출력에 필터링이 적용되지 않음).

STARTS WITH 'name_string'

선택적으로 객체 이름의 시작 부분에 나타나는 문자를 기준으로 명령 출력을 필터링해요. 문자열은 작은따옴표로 묶어야 하고 대소문자를 구분해요. 예를 들어 다음 문자열들은 다른 결과를 반환해요:

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

기본값: 값 없음(출력에 필터링이 적용되지 않음).

LIMIT [ FROM 'name_string' ]

선택적으로 반환되는 최대 행 수를 제한하면서 결과의 "페이지 매김"도 가능하게 해요. 선택적 FROM 'name_string' 하위 절은 결과의 "커서" 역할을 해요. 문자열은 작은따옴표로 묶어야 하고 대소문자를 구분해요. 전체 객체 이름을 포함할 필요는 없고 부분 이름도 지원돼요. 기본값: 값 없음(출력에 제한이 적용되지 않음).

참고: FROM 'name_string'STARTS WITH 'name_string' 절을 모두 지원하는 SHOW 명령에서는 같은 문장에서 두 절을 모두 조합할 수 있어요. 그러나 두 조건이 모두 충족되어야 하며, 그렇지 않으면 서로 상쇄되어 결과가 반환되지 않아요. 또한 객체는 이름으로 사전순으로 반환되므로 FROM 'name_string'은 STARTS WITH 'name_string'이 반환한 행보다 사전순 값이 더 높은 행만 반환해요. 예를 들어 ... STARTS WITH 'A' LIMIT ... FROM 'B'는 결과를 반환하지 않고, ... STARTS WITH 'B' LIMIT ... FROM 'A'도 결과를 반환하지 않아요. ... STARTS WITH 'A' LIMIT ... FROM 'AB'는 결과를 반환할 수 있어요.

출력

명령 출력은 객체의 속성과 메타데이터를 설명하는 다음 컬럼을 포함해요:

컬럼 설명
name 사용자의 이름이에요.
created_on 사용자가 생성된 날짜와 시각이에요.
login_name 사용자가 시스템에 로그인할 때 입력하는 이름이에요.
display_name Snowsight에서 사용자에게 표시되는 이름이에요.
first_name 사용자의 이름(first name)이에요.
last_name 사용자의 성(last name)이에요.
email 사용자의 이메일 주소예요.
mins_to_unlock 사용자 로그인에 대한 임시 잠금이 해제될 때까지 남은 분 수예요.
days_to_expiry 이후에 사용자 상태가 "Expired"로 설정되고 사용자가 더 이상 로그인할 수 없게 되는 일 수예요.
comment 사용자에 대한 주석이에요.
disabled TRUE면 사용자가 Snowflake에서 잠겨 로그인할 수 없어요.
must_change_password TRUE면 사용자가 다음 로그인(첫/초기 로그인 포함)에서 비밀번호를 바꿔야 해요.
snowflake_lock TRUE면 사용자가 Snowflake에 의해 잠겼어요. 사용자가 잠기면 잠금이 해제될 때까지 로그인할 수 없어요.
default_warehouse 로그인 시 사용자 세션에 기본으로 활성화되는 가상 웨어하우스예요.
default_namespace 로그인 시 사용자 세션에 기본으로 활성화되는 네임스페이스(데이터베이스만, 또는 데이터베이스와 스키마)예요.
default_role 로그인 시 사용자 세션에 기본으로 활성화되는 기본 역할이에요.
default_secondary_roles 로그인 시 사용자 세션에 활성화되는 보조 역할의 집합이에요.
ext_authn_duo TRUE면 사용자에 Duo가 활성화되어 로그인 시 MFA(다단계 인증)를 사용해야 해요.
ext_authn_uid Duo에 사용되는 인증 ID예요.
mins_to_bypass_mfa 사용자의 MFA 요구 사항을 일시적으로 건너뛰는 분 수예요.
owner 사용자를 소유하는 역할이에요.
last_success_login 사용자가 Snowflake에 마지막으로 로그인한 날짜와 시각이에요.
expires_at_time 사용자 상태가 EXPIRED로 설정되어 더 이상 로그인할 수 없게 되는 날짜와 시각이에요.
locked_until_time 사용자 로그인에 대한 임시 잠금이 해제될 때까지 남은 분 수예요.
has_password TRUE면 사용자에게 비밀번호가 있어요.
has_rsa_public_key TRUE면 사용자에게 키 페어 인증용 공개 키가 있어요.
type 사용자의 유형이에요. 가능한 값 목록은 사용자 유형(Types of users)을 참고해요.
has_mfa TRUE면 사용자가 다단계 인증(MFA)에 등록되어 있어요.
has_pat TRUE면 사용자에게 프로그래매틱 액세스 토큰이 하나 이상 있어요.
has_workload_identity TRUE면 사용자가 워크로드 아이덴티티 연합(workload identity federation)으로 인증하도록 구성되어 있어요.
is_from_organization_user TRUE면 사용자가 전역 조직 사용자에서 가져온 거예요.

액세스 제어 요구 사항

누구나 SHOW USERS 명령을 실행할 수 있어요. 출력은 항상 name 컬럼에 사용자 이름을 포함해요. 다른 컬럼에 대해서는 Snowflake가 사용자의 활성 역할에 부여된 권한에 따라 출력을 필터링해요. 활성 역할이 다음 권한 중 하나를 가지면 다른 컬럼의 값이 반환돼요:

권한 객체 참고
OWNERSHIP User
MANAGE GRANTS Account

그렇지 않으면 다른 컬럼은 NULL을 포함해요.

지정된 권한 집합으로 사용자 정의 역할을 만드는 방법은 사용자 정의 역할 만들기(Creating custom roles)를 참고해요. 보안 객체에 대한 SQL 작업 수행을 위한 역할·권한 부여에 대한 일반 정보는 액세스 제어 개요(Overview of Access Control)를 참고해요.

사용 메모

  • 계정에 10,000명 이상의 사용자가 있으면 LIMIT … FROM … 매개변수를 사용해 더 작은 사용자 집합을 반환할 수 있어요.
  • 예를 들어 SHOW USERS LIMIT 10000 FROM my_user를 실행하면 my_user라는 사용자부터 시작해 다음 10,000명의 사용자를 반환해요.
  • 이 명령은 실행에 웨어하우스가 필요하지 않아요.
  • 이 명령은 현재 사용자의 현재 역할에 액세스 권한이 하나 이상 부여된 객체만 반환해요.
  • MANAGE GRANTS 액세스 권한은 보유자에게 계정의 모든 객체를 볼 수 있는 권한을 암묵적으로 부여해요. 기본적으로 계정 관리자(ACCOUNTADMIN 역할)와 보안 관리자(SECURITYADMIN 역할)만 MANAGE GRANTS 권한을 가져요.
  • 이 명령의 출력을 후처리하려면 파이프 연산자(->>)나 RESULT_SCAN 함수를 사용할 수 있어요. 두 구성 모두 출력을 쿼리할 수 있는 결과 집합으로 취급해요. 예를 들어 SHOW 명령 출력에서 특정 컬럼을 선택하거나 행을 필터링할 수 있어요.
  • 출력 컬럼을 참조할 때는 큰따옴표로 묶은 식별자를 사용해요. 예를 들어 type 출력 컬럼을 선택하려면 SELECT "type"이라고 지정해요. SHOW 명령의 출력 컬럼 이름은 소문자이므로 큰따옴표로 묶은 식별자를 사용해야 해요.

예제

다음 예제는 계정의 사용자를 나열해요:

SHOW USERS;
+--------------+-------------------------------+---------------+--------------+------------+-----------+------------------------+----------------+----------------+---------+----------+----------------------+----------------+-------------------+-------------------+--------------+-------------------------+---------------+---------------+--------------------+--------------+-------------------------------+-----------------+-------------------+--------------+--------------------+--------+---------+---------+---------------------------------------+
| name         | created_on                    | login_name    | display_name | first_name | last_name | email                  | mins_to_unlock | days_to_expiry | comment | disabled | must_change_password | snowflake_lock | default_warehouse | default_namespace | default_role | default_secondary_roles | ext_authn_duo | ext_authn_uid | mins_to_bypass_mfa | owner        | last_success_login            | expires_at_time | locked_until_time | has_password | has_rsa_public_key | type   | has_mfa | has_pat | has_federated_workload_authentication |
|--------------+-------------------------------+---------------+-------------+------------+-----------+------------------------+----------------+----------------+---------+----------+----------------------+----------------+-------------------+-------------------+--------------+-------------------------+---------------+---------------+--------------------+--------------+-------------------------------+-----------------+-------------------+--------------+--------------------+--------+---------+---------+---------------------------------------|
| MY_USER_NAME | 2020-04-28 12:24:38.722 -0700 | MY_LOGIN_NAME | Jane Smith   | Jane       | Smith     | [email protected] | NULL           | NULL           | NULL    | false    | false                | false          | MY_WAREHOUSE      | MY_DB.MY_SCHEMA   | MY_ROLE      | []                      | false         | NULL          | NULL               | ACCOUNTADMIN | 2025-06-12 15:02:22.783 -0700 | NULL            | NULL              | true         | true               | PERSON | true    | true    | false                                 |
+--------------+-------------------------------+---------------+--------------+------------+-----------+------------------------+----------------+----------------+---------+----------+----------------------+----------------+-------------------+-------------------+--------------+-------------------------+---------------+---------------+--------------------+--------------+-------------------------------+-----------------+-------------------+--------------+--------------------+--------+---------+---------+---------------------------------------+

더 알아보기 (Learn more)