Native Apps의 선언적 공유: 제한 사항

선언적 공유는 공급자가 간단한 YAML 구성 파일을 사용하여 여러 데이터베이스에서 오브젝트를 빠르게 정의하고 공유할 수 있는 Snowflake Native Apps의 기능입니다. 이 기능은 데이터 공유 워크플로를 많이 간소화하지만, 공급자가 구현하기 전에 이해해야 하는 제한 사항이 있습니다.

지원되는 오브젝트 유형

선언적 공유는 다음 오브젝트 유형을 지원합니다.

  • 테이블

  • 보안 뷰 (구체화된 뷰 포함)

  • 노트북

다른 모든 오브젝트 유형은 Native Apps의 선언적 공유에서의 공유에 대해 지원되지 않습니다.

공유 오브젝트

오브젝트 제한

manifest.yml 파일의 공유 콘텐츠 섹션에서 최대 1,000개의 오브젝트를 정의할 수 있습니다. 이 한도를 늘리려면 `Snowflake 지원`_에 문의하세요.

노트북 제한 사항

컨슈머를 위한 읽기 전용

컨슈머는 공급자 노트북을 직접 편집하거나 복제할 수 없습니다.

네트워크 액세스

노트북은 고객 계정에서 실행할 때 외부 엔드포인트 또는 컨슈머 데이터에 액세스할 수 없습니다.

특수 라이브러리

지리 공간 및 기타 서드 파티 라이브러리는 노트북에서 바로 사용할 수 있다고 보장되지 않습니다.

외부 종속성

선언적 공유 앱은 외부 라이브러리(코드 스테이징의 Snowflake Anaconda 채널 및 Python 파일)에 대한 지원이 제한적입니다.

비대화형 실행

네이티브 애플리케이션의 일부인 노트북은 워크시트 또는 SQL 명령에 의해 비대화형으로 실행할 수 없습니다.

보안 및 액세스 제어

역할 정의

공유 콘텐츠에서 참조되는 모든 애플리케이션 역할은 매니페스트의 roles 필드에 미리 정의되어야 합니다.

오브젝트 수준 역할

오브젝트 역할은 상위 스키마 역할의 하위 세트여야 합니다.

역할 유효성 검사 누락

공유 구성에서 참조된 역할이 없는 경우 매니페스트의 유효성을 검사하면 오류가 반환됩니다.

최소 권한

shared_content.yaml 파일을 커밋하는 공급자 역할에는 공유 오브젝트에 대해 컨슈머에게 부여된 권한과 최소한 동일한 권한이 있어야 합니다.

REFERENCE_USAGE 필요 없음

기존 데이터 공유와 달리 공급자는 애플리케이션 패키지에 대한 REFERENCE_USAGE 권한을 부여할 필요가 없습니다.

마이그레이션 및 호환성

선언적 공유 마이그레이션

데이터 공유에서 선언적 공유로 전환하기 위한 마이그레이션 지원을 네이티브 앱에서 사용할 수 없습니다.

명명 및 구성 제약 조건

와일드카드 없음

오브젝트 이름은 명시적으로 지정해야 합니다. 와일드카드 또는 정규식 일치는 지원되지 않습니다.

이름 충돌 방지

두 공유 객체는 동일한 DOMAIN 및 이름을 사용할 수 없습니다.

스키마 매핑

스키마 매핑은 지원되지 않습니다. 여러 데이터베이스의 스키마 이름을 중복 사용하는 것은 허용되지 않습니다.

모니터링

감사 가능성

|declarative-app-short-plural|는 공급자가 공유 데이터가 사용되는 방식에 대한 정보를 컨슈머로부터 수신할 수 있도록 모니터링 리소스(예: 감사 추적)를 제공하지 않습니다. 컨슈머에게 감사가 필요한 규정 준수 또는 규제 요구 사항이 있는 경우 컨슈머는 공급자와 협력하여 자체 모니터링 솔루션을 구현해야 합니다.