공급자 지식 재산 보호하기¶
이 항목에서는 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 뷰에서 수정됩니다.
앱이 설치되거나 업그레이드될 때 생성되는 쿼리.
앱이 소유한 저장 프로시저 및 사용자 정의 함수에 의해 생성된 쿼리.
또한 앱이 소유한 뷰의 경우 기본 테이블에 대한 정보가 수정됩니다.
동적 테이블에 MONITOR 또는 OPERATE 권한을 부여할 때 고려할 사항¶
공급자는 동적 테이블에 대한 MONITOR 또는 OPERATE 권한을 애플리케이션 역할에 부여할 때 주의를 기울여야 합니다. 이러한 권한을 통해 컨슈머는 동적 테이블의 메타데이터를 볼 수 있으며, 이 경우 앱의 구현 세부 정보가 노출될 수 있습니다. 컨슈머가 수행할 수 있는 작업에 대한 자세한 내용은 동적 테이블의 메타데이터 보기 권한 섹션을 참조하십시오.
차단된 컨텍스트 함수¶
애플리케이션 오브젝트 내의 오브젝트와 관련된 정보를 보호하기 위해 Snowflake Native App Framework 는 다음 컨텍스트 함수를 차단합니다.
컨텍스트 함수 |
공유 콘텐츠에서 차단됨(null 반환) |
설정 스크립트와 Snowflake Native App 이 소유한 저장 프로시저 및 UDF에서 차단됨(예외를 발생시킴). |
---|---|---|
CURRENT_ROLE |
✔ |
|
CURRENT_ROLE_TYPE |
✔ |
|
CURRENT_USER |
✔ |
|
CURRENT_SESSION |
✔ |
|
IS_ROLE_IN_SESSION |
✔ |
|
CURRENT_IP_ADDRESS |
✔ |
✔ |
CURRENT_AVAILABLE_ROLES |
✔ |
✔ |
CURRENT_SECONDARY_ROLES |
✔ |
✔ |
ALL_USER_NAMES |
✔ |
|
GET_USERS_FOR_COLLABORATION |
✔ |
|
CURRENT_WAREHOUSE |
✔ |
|
SYSTEM$ALLOWLIST |
✔ |