ネイティブアプリでの宣言共有:制限事項¶
宣言型共有はSnowflakeネイティブアプリの機能の1つであり、プロバイダーは単純な YAML 構成ファイルを使用して、複数のデータベースでオブジェクトをすばやく定義して共有することができます。この機能はデータ共有ワークフローを大幅に簡素化しますが、プロバイダーが実装する前に理解しておくべき制限があります。
サポートされているオブジェクト型¶
宣言型共有は、以下のオブジェクト型をサポートします。
テーブル
**安全なビュー**(マテライズドビューを含む)
ノートブック
他のすべてのオブジェクト型については、ネイティブアプリの宣言型共有での共有はサポートされていません。
ノートブックの制限¶
- コンシューマー向け読み取り専用
コンシューマーは、プロバイダーのノートブックをその場所で編集したり、クローンしたりすることはできません。
- Network access
ノートブックがお客様のアカウントで実行されている場合、外部エンドポイントやコンシューマーデータにアクセスすることはできません。
- 特殊なライブラリ
地理空間およびその他のサードパーティライブラリは、ノートブックですぐに動作することが保証されていません。
- 外部依存関係
宣言型共有アプリは、外部ライブラリ(Snowflake Anacondaチャネルおよびコードステージ内のPythonファイル)のサポートが制限されています。
セキュリティとアクセス制御¶
- ロールの定義
共有コンテンツで参照されるすべてのアプリケーションロールは、マニフェストの
rolesフィールドで事前定義されている必要があります。- オブジェクトレベルのロール
オブジェクトロールは、親スキーマロールのサブセットである必要があります。
- ロールの検証がありません
共有構成で参照されているロールが存在しない場合、マニフェストを検証するとエラーが返されます。
- 最小権限
shared_content.yamlファイルをコミットするプロバイダーロールには、少なくともコンシューマーに付与される権限と同じ権限が共有オブジェクトに対して必要です。- REFERENCE_USAGE は必要ありません
従来のデータ共有とは異なり、プロバイダーはアプリケーションパッケージに REFERENCE_USAGE 権限を付与する必要がありません。
移行および互換性¶
- 宣言型共有の移行
ネイティブアプリでのデータ共有から宣言型共有に切り替えるための移行のサポートは利用できません。
命名および構成の制約¶
- ワイルドカードなし
オブジェクト名は明示的に指定する必要があります。ワイルドカードまたは正規表現マッチングはサポートされていません。
- 名前の競合の防止
2つの共有オブジェクトが同じ DOMAIN と名前を持つことはできません。
- スキーママッピング
スキーママッピングはサポートされていません。複数のデータベースからのスキーマ名の重複は許可されていません。