SHOW CALLER GRANTS¶
제한된 호출자의 권한을 구현하는 데 사용되는 호출자 권한 을 목록으로 표시합니다.
구문¶
SHOW CALLER GRANTS
{
{ ON <object_type> <object_name> | ON ACCOUNT }
| TO { ROLE | DATABASE ROLE } <owner_name>
}
매개 변수¶
ON object_type object_name또는 .ON ACCOUNT특정 오브젝트에 대한 호출자 권한을 나열할지, 아니면 해당 계정과 관련된 모든 호출자 권한을 나열할지 지정합니다.
object_type의 단수형(예:TABLE또는WAREHOUSE)을 사용합니다.TO ROLE <owner_name>또는 .TO DATABASE ROLE <owner_name>실행 파일 소유자를 지정하면 해당 소유자에게 부여된 모든 호출자 권한이 목록으로 표시됩니다.
출력¶
명령의 출력에는 오브젝트의 속성과 메타데이터를 설명하는 다음 열이 포함됩니다.
열 |
설명 |
|---|---|
|
호출자 권한이 부여된 날짜와 시간입니다. |
|
|
|
오브젝트에 직접 부여되었는지 또는 해당 유형의 모든 오브젝트에 부여되었는지에 관계없이 호출자 부여의 대상이 되는 오브젝트 유형입니다. |
|
호출자 권한이 특정 오브젝트에 직접 부여된 경우 오브젝트의 이름을 지정합니다. |
|
|
|
GRANT INHERITED CALLER 또는 GRANT ALL INHERITED CALLER PRIVILEGES 문을 사용하여 특정 유형의 모든 오브젝트에 호출자 권한이 부여된 경우 부여된 수준을 나타냅니다. |
|
|
|
|
|
호출자 권한이 부여된 실행 파일 소유자의 유형입니다. |
|
호출자 권한이 부여된 실행 파일 소유자의 이름입니다. |
액세스 제어 요구 사항¶
모든 사용자가 SHOW CALLER GRANTS TO … 명령을 실행하여 특정 실행 파일 소유자에게 부여된 호출자 권한을 목록으로 확인할 수 있습니다.
SHOW CALLER GRANTS ON … 명령을 실행하려면 다음 권한이 필요합니다.
권한 |
오브젝트 |
참고 |
|---|---|---|
모든 권한 |
지정된 오브젝트 |
SHOW CALLER GRANTS 명령에 지정된 오브젝트에 대한 권한이 하나 이상 필요합니다. |
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
SHOW CALLER GRANTS ON … 문을 실행할 때 출력의 행에 따라 다른 내용을 나타낼 수 있습니다. 예를 들어, 한 행은 호출자 권한이 오브젝트에 직접 부여되었음을 나타내고 다른 행은 GRANT 문에서 IN 절을 사용하여 오브젝트를 지정했음을 나타낼 수 있습니다. 자세한 내용은 호출자에 부여된 권한 나열하기 섹션을 참조하십시오.
사용자가 SHOW CALLER GRANTS 를 실행하면 결과에는 최소한 하나 이상의 권한이 있는 오브젝트만 포함됩니다. 자세한 내용은 조건부 출력 섹션을 참조하십시오.
이 명령을 실행하기 위해 실행 중인 웨어하우스가 꼭 필요하지는 않습니다.
이 명령은 현재 사용자의 현재 역할에 하나 이상의 액세스 권한이 부여된 오브젝트만 반환합니다.
MANAGE GRANTS 액세스 권한은 그 권한을 보유한 자가 계정에 있는 모든 오브젝트를 볼 수 있도록 암시적으로 허용합니다. 기본적으로, 계정 관리자(ACCOUNTADMIN 역할 이 있는 사용자)와 보안 관리자(SECURITYADMIN 역할이 있는 사용자)만 MANAGE GRANTS 권한을 가집니다.
이 명령의 출력을 후처리하기 위해 파이프 연산자 (
->>) 또는 RESULT_SCAN 함수를 사용할 수 있습니다. 두 구문 모두 출력을 쿼리할 수 있는 결과 세트로 간주합니다.For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.
When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column
type, specifySELECT "type".You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.
예¶
테이블 t1 에 부여된 호출자 권한을 목록으로 표시합니다.
SHOW CALLER GRANTS ON TABLE t1;
현재 계정에 대해 부여된 모든 호출자 권한을 목록으로 표시합니다. 여기에는 계정에 직접 부여되는 권한(GRANT CALLER … ON ACCOUNT)과 계정의 모든 오브젝트에 대한 권한(GRANT INHERITED CALLER … IN ACCOUNT)이 포함됩니다.
SHOW CALLER GRANTS ON ACCOUNT;
데이터베이스 역할 db.owner_role 에 대해 부여된 모든 호출자 권한을 목록으로 표시합니다.
SHOW CALLER GRANTS TO DATABASE ROLE db.owner_role;