SHOW ROLES

시스템 정의 역할과 존재하는 모든 사용자 지정 역할을 포함하여, 전체 계정에서 볼 수 있는 모든 역할을 나열합니다.

중요

Snowflake를 사용해 역할을 나열할 수 있지만, 역할을 나열할 수 있다는 것이 역할을 사용하는 것과 같은 의미는 아닙니다. 역할의 이름을 알면 추가 액세스가 허용되지 않습니다.

이는 임의적 액세스 제어와 역할 기반 액세스 제어의 일부입니다. 자세한 내용은 액세스 제어의 개요 섹션을 참조하십시오.

참고 항목:

SHOW GRANTS , CREATE ROLE , ALTER ROLE , DROP ROLE

구문

SHOW [ TERSE ] ROLES
  [ LIKE '<pattern>' ]
  [ IN CLASS <class_name> ]
  [ STARTS WITH '<name_string>']
  [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

매개 변수

TERSE

열 중 일부만 반환합니다.

is_default

명령을 실행하는 데 사용되는 역할이 사용자의 기본 역할인지 여부를 지정합니다.

is_current

명령을 실행하는 데 사용되는 역할이 사용자의 현재 역할인지 여부를 지정합니다.

is_inherited

명령을 실행하는 데 사용되는 역할이 지정된 역할을 상속하는지 여부를 지정합니다.

LIKE 'pattern'

오브젝트 이름으로 명령 출력을 선택적으로 필터링합니다. 이 필터는 SQL 와일드카드 문자(%_) 지원과 함께 대/소문자를 구분하지 않는 패턴 일치를 사용합니다.

예를 들어, 다음 패턴은 같은 결과를 반환합니다.

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

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

IN CLASS class_name

지정된 클래스(class_name)의 레코드를 반환합니다.

STARTS WITH 'name_string'

오브젝트 이름의 시작 부분에 나타나는 문자를 기반으로 명령 출력을 선택적으로 필터링합니다. 문자열은 작은따옴표로 묶어야 하며 대/소문자를 구분 합니다.

예를 들어, 다음 문자열은 서로 다른 결과를 반환합니다.

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

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

LIMIT rows [ 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' 는 결과를 반환합니다(입력 문자열과 일치하는 행이 있는 경우).

사용법 노트

  • 이 명령을 실행하기 위해 실행 중인 웨어하우스가 꼭 필요하지는 않습니다.

  • 이 명령의 출력을 사후 처리하려면 출력을 쿼리할 수 있는 테이블로 처리하는 RESULT_SCAN 함수를 사용하면 됩니다.

  • CLASS 를 지정하면 다음 열만 반환됩니다.

    | created_on | name | comment |
    

모든 역할을 표시합니다.

SHOW ROLES;
Copy
---------------------------------+---------------+------------+------------+--------------+-------------------+------------------+---------------+---------------+--------------------------+
           created_on            |     name      | is_default | is_current | is_inherited | assigned_to_users | granted_to_roles | granted_roles |     owner     |         comment          |
---------------------------------+---------------+------------+------------+--------------+-------------------+------------------+---------------+---------------+--------------------------+
 Fri, 05 Dec 2014 16:25:06 -0800 | ACCOUNTADMIN  | Y          | Y          | N            | 1                 | 0                | 2             |               |                          |
 Mon, 15 Dec 2014 17:58:33 -0800 | ANALYST       | N          | N          | N            | 0                 | 6                | 0             | SECURITYADMIN | Data analyst             |
 Fri, 05 Dec 2014 16:25:06 -0800 | PUBLIC        | N          | N          | Y            | 0                 | 0                | 0             |               |                          |
 Fri, 05 Dec 2014 16:25:06 -0800 | SECURITYADMIN | N          | N          | Y            | 0                 | 1                | 0             |               |                          |
 Fri, 05 Dec 2014 16:25:06 -0800 | SYSADMIN      | N          | N          | Y            | 5                 | 1                | 2             |               |                          |
---------------------------------+---------------+------------+------------+--------------+-------------------+------------------+---------------+---------------+--------------------------+

이 예에서:

  • ACCOUNTADMIN 시스템 정의 역할은 현재 사용자(즉, 로그인한 사용자)의 현재 역할과 기본 역할입니다.

  • 네 가지 시스템 정의 역할 외에도 한 가지 사용자 지정 역할(ANALYST)이 생성되었습니다. 이 역할은 SECURITYADMIN 시스템 정의 역할이 소유합니다.

계정에서 my_role2 라는 첫 번째 역할 뒤로 최대 10개의 계정 역할을 반환합니다.

SHOW ROLES LIMIT 10 FROM 'my_role2';
Copy