- 카테고리:
시스템 함수 (시스템 정보)
EXPLAIN_GRANTABLE_PRIVILEGES¶
Snowflake의 각 오브젝트 유형에 대해 부여 가능한 모든 권한을 나타내는 JSON 문자열을 반환합니다. 이 함수는 각 권한에 대해 사용 가능한 권한 부여 유형을 포함하여 다양한 오브젝트 유형에 대해 어떤 권한을 부여할 수 있는지에 대한 포괄적인 정보를 제공합니다.
- 참고 항목:
구문¶
인자¶
모든 인자는 선택 사항이며 명명된 매개 변수 구문을 사용합니다.
grantee => 'grantee_type'피부여자 유형별로 결과를 필터링합니다. 유효한 값:
ROLEAPPLICATION
기본값:
ROLE피부여자 유형에 따라 사용 가능한 권한이 결정됩니다. 예를 들어, 애플리케이션은 오브젝트에 대한 개별 소유권을 가질 수 없습니다.
object_type => 'object_type_name'결과를 단일 오브젝트 유형으로 필터링합니다. 오브젝트 유형 이름의 단수 형식을 허용합니다(예:
'DATABASE','TABLE','SCHEMA'). 텍스트는 대/소문자를 구분하지 않습니다.grant_type => 'grant_type_name'특정 권한 부여 유형을 지원하는 권한으로 결과를 필터링합니다. 유효한 값:
'INDIVIDUAL'— 개별 오브젝트에 대한 권한을 부여합니다. GRANT <privileges> … TO ROLE 섹션을 참조하십시오.'ALL'— 현재 모든 오브젝트에 대한 일괄 권한을 부여합니다(예:GRANT ... ON ALL TABLES IN SCHEMA). GRANT <privileges> … TO ROLE 섹션을 참조하십시오.'FUTURE'— 향후 오브젝트에 대한 일괄 권한을 부여합니다(예:GRANT ... ON FUTURE TABLES IN SCHEMA). 데이터베이스 또는 스키마 오브젝트에 대한 향후 권한 부여 섹션을 참조하십시오.'INHERITED'— 컨테이너의 현재 및 향후 오브젝트 모두에 대한 일괄 권한을 부여합니다(ALL및FUTURE). GRANT <privileges> … TO ROLE 섹션을 참조하십시오.'CALLER'— 개별 오브젝트에 대한 호출자 권한을 부여 </developer-guide/restricted-callers-rights>`합니다. :doc:/sql-reference/sql/grant-caller` 섹션을 참조하십시오.'INHERITED_CALLER'— 컨테이너의 현재 및 향후 오브젝트 모두에 대한 일괄 호출자 권한을 부여합니다(예:GRANT INHERITED CALLER ... ON ALL TABLES IN SCHEMA). GRANT CALLER 섹션을 참조하십시오.
텍스트는 대소문자를 구분하지 않습니다.
반환¶
함수는 JSON 배열이 포함된 VARCHAR를 반환합니다. 배열의 각 요소는 오브젝트 유형을 나타내는 JSON 오브젝트이며, 구조는 다음과 같습니다.
JSON 필드:
parent— 오브젝트 계층 구조의 상위 오브젝트 유형입니다(예: SCHEMA는 TABLE의 상위 오브젝트임). ACCOUNT와 같은 최상위 오브젝트의 경우 문자열이 비어 있습니다.singular— 오브젝트 유형 이름의 단수 형식입니다(예: DATABASE). 개별 권한 부여에 사용됩니다.오브젝트 유형 이름의 복수 형식입니다(예:
plural또는 DATABASES). 일괄 권한 부여에 사용됩니다.privileges— 각 키가 권한 이름이고 각 값이 해당 권한을 부여하는 방법을 나타내는 권한 부여 유형 이름의 배열인 맵입니다.
사용법 노트¶
모든 인자는 상수 식이어야 합니다. 열 값 또는 상수가 아닌 기타 식을 전달할 수 없습니다.
인자가 제공되지 않으면 함수는 모든 오브젝트 유형에서 역할에 부여할 수 있는 모든 권한을 반환합니다.
예¶
다음 예제에서는 EXPLAIN_GRANTABLE_PRIVILEGES 함수를 호출합니다.
역할에 부여할 수 있는 모든 권한 가져오기¶
모든 오브젝트 유형 및 역할에 대해 부여할 수 있는 권한을 반환합니다.
특정 오브젝트 유형에 대한 권한 가져오기¶
'DATABASE' 오브젝트 유형에 대한 권한만 반환합니다.
출력 예:
피부여자 유형별 필터링¶
애플리케이션에 사용할 수 있는 권한을 반환합니다.
애플리케이션은 개별 소유권을 가질 수 없으므로 OWNERSHIP``은 ``'ALL', 'FUTURE', ``’INHERITED’``와 같은 권한 부여 유형만 표시합니다.