공급자 지식 재산 보호하기¶
이 항목에서는 Snowflake Native App 이 공유하는 오브젝트에 대한 정보를 수정하거나 제거하여 Snowflake Native App Framework 가 공급자 데이터를 보호하는 방법을 설명합니다.
Snowflake Native App Framework 에서의 지식재산권 보호 정보¶
컨슈머가 Snowflake Native App 을 설치하면 공급자가 애플리케이션 역할을 사용하여 오브젝트에 대한 권한을 부여하지 않는 한 애플리케이션 오브젝트 내의 오브젝트를 볼 수 없습니다.
일반적으로 컨슈머가 스키마와 뷰를 사용하여 오브젝트 메타데이터를 쿼리하거나 Snowsight 를 사용하여 해당 쿼리에 대한 Query Profile 또는 Query History 를 보는 경우 Snowflake Native App Framework 는 애플리케이션 오브젝트 내의 오브젝트에 대한 정보를 수정합니다.
쿼리 프로필에서 수정된 정보¶
Snowflake Native App Framework 는 다음과 같은 컨텍스트에서 쿼리 프로필 의 정보를 수정합니다.
앱이 설치되거나 업그레이드될 때 실행되는 쿼리입니다.
앱이 소유한 저장 프로시저에서 발생하는 쿼리입니다.
앱이 소유한 안전하지 않은 뷰 또는 함수가 포함된 쿼리입니다.
이러한 각 유형의 쿼리에 대해 Snowsight 는 전체 쿼리 프로필 트리를 표시하는 대신 쿼리 프로필 데이터를 비어 있는 단일 노드로 축소합니다.
쿼리 기록에서 수정된 정보¶
Snowflake Native App 과 관련된 쿼리의 경우 query_text
및 error_message
필드는 다음 컨텍스트의 쿼리 기록 에서 수정됩니다.
앱이 설치되거나 업그레이드될 때 실행되는 쿼리.
앱이 소유한 저장 프로시저의 하위 작업에서 발생하는 쿼리.
이러한 각 상황에서 Snowsight 의 쿼리 기록 셀은 공백으로 나타납니다.
SQL 명령 및 뷰에서 수정된 정보¶
컨슈머가 SHOW 또는 DESCRIBE 명령을 사용하여 애플리케이션 오브젝트 또는 앱이 소유한 오브젝트에 대한 정보를 보는 경우 구현 세부 사항에 대한 정보가 수정됩니다. 예를 들어, 함수 정의 및 함수 본문은 이러한 명령의 출력에서 수정됩니다.
구현 세부 사항에 대한 정보는 다음 컨텍스트의 ACCESS_HISTORY 뷰에서 수정됩니다.
앱이 설치되거나 업그레이드될 때 생성되는 쿼리.
앱이 소유한 저장 프로시저 및 사용자 정의 함수에 의해 생성된 쿼리.
또한 앱이 소유한 뷰의 경우 기본 테이블에 대한 정보가 수정됩니다.
차단된 컨텍스트 함수¶
애플리케이션 오브젝트 내의 오브젝트와 관련된 정보를 보호하기 위해 Snowflake Native App Framework 는 다음 컨텍스트 함수를 차단합니다.
컨텍스트 함수 |
공유 콘텐츠에서 차단됨(null 반환) |
설정 스크립트와 Snowflake Native App 이 소유한 저장 프로시저 및 UDF에서 차단됨(예외를 발생시킴). |
---|---|---|
CURRENT_ROLE |
✔ |
|
CURRENT_ROLE_TYPE |
✔ |
|
CURRENT_USER |
✔ |
|
IS_ROLE_IN_SESSION |
✔ |
|
CURRENT_IP_ADDRESS |
✔ |
✔ |
CURRENT_AVAILABLE_ROLES |
✔ |
✔ |
CURRENT_SECONDARY_ROLES |
✔ |
✔ |
ALL_USER_NAMES |
✔ |
|
GET_USERS_FOR_COLLABORATION |
✔ |
|
CURRENT_WAREHOUSE |
✔ |
|
SYSTEM$ALLOWLIST |
✔ |