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

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

지원되는 오브젝트 유형

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

  • 테이블

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

  • 노트북

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

Shared Objects

오브젝트 제한

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

노트북 제한 사항

Read-only for consumers

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

Network access

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

Specialized libraries

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

External dependencies

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

비대화형 실행

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

보안 및 액세스 제어

Role definition

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

Object-level Roles

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

Missing role validation

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

Minimum privileges

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

No REFERENCE_USAGE required

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

마이그레이션 및 호환성

Declarative Sharing migration

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

명명 및 구성 제약 조건

No wildcards

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

Name collision prevention

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

Schema mapping

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

Monitoring

감사 가능성

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