Native Apps의 선언적 공유: 제한 사항¶
선언적 공유는 공급자가 간단한 YAML 구성 파일을 사용하여 여러 데이터베이스에서 오브젝트를 빠르게 정의하고 공유할 수 있는 Snowflake Native Apps의 기능입니다. 이 기능은 데이터 공유 워크플로를 많이 간소화하지만, 공급자가 구현하기 전에 이해해야 하는 제한 사항이 있습니다.
지원되는 오브젝트 유형¶
선언적 공유는 다음 오브젝트 유형을 지원합니다.
테이블
보안 뷰 (구체화된 뷰 포함)
노트북
다른 모든 오브젝트 유형은 Native Apps의 선언적 공유에서의 공유에 대해 지원되지 않습니다.
노트북 제한 사항¶
- 컨슈머를 위한 읽기 전용
컨슈머는 공급자 노트북을 직접 편집하거나 복제할 수 없습니다.
- 네트워크 액세스
노트북은 고객 계정에서 실행할 때 외부 엔드포인트 또는 컨슈머 데이터에 액세스할 수 없습니다.
- 특수 라이브러리
지리 공간 및 기타 서드 파티 라이브러리는 노트북에서 바로 사용할 수 있다고 보장되지 않습니다.
- 외부 종속성
선언적 공유 앱은 외부 라이브러리(코드 스테이징의 Snowflake Anaconda 채널 및 Python 파일)에 대한 지원이 제한적입니다.
보안 및 액세스 제어¶
- 역할 정의
공유 콘텐츠에서 참조되는 모든 애플리케이션 역할은 매니페스트의
roles필드에 미리 정의되어야 합니다.- 오브젝트 수준 역할
오브젝트 역할은 상위 스키마 역할의 하위 세트여야 합니다.
- 역할 유효성 검사 누락
공유 구성에서 참조된 역할이 없는 경우 매니페스트의 유효성을 검사하면 오류가 반환됩니다.
- 최소 권한
shared_content.yaml파일을 커밋하는 공급자 역할에는 공유 오브젝트에 대해 컨슈머에게 부여된 권한과 최소한 동일한 권한이 있어야 합니다.- REFERENCE_USAGE 필요 없음
기존 데이터 공유와 달리 공급자는 애플리케이션 패키지에 대한 REFERENCE_USAGE 권한을 부여할 필요가 없습니다.
마이그레이션 및 호환성¶
- 선언적 공유 마이그레이션
데이터 공유에서 선언적 공유로 전환하기 위한 마이그레이션 지원을 네이티브 앱에서 사용할 수 없습니다.
명명 및 구성 제약 조건¶
- 와일드카드 없음
오브젝트 이름은 명시적으로 지정해야 합니다. 와일드카드 또는 정규식 일치는 지원되지 않습니다.
- 이름 충돌 방지
두 공유 객체는 동일한 DOMAIN 및 이름을 사용할 수 없습니다.
- 스키마 매핑
스키마 매핑은 지원되지 않습니다. 여러 데이터베이스의 스키마 이름을 중복 사용하는 것은 허용되지 않습니다.