Deklarative Freigabe in Native Apps: Einschränkungen

Die deklarative Freigabe ist ein Feature in Snowflake Native Apps, das es Anbietern ermöglicht, Objekte über mehrere Datenbanken hinweg schnell zu definieren und freizugeben, indem es eine einfache YAML-Konfigurationsdatei verwendet. Dieses Feature vereinfacht Workflows zur Datenfreigabe erheblich, weist jedoch Einschränkungen auf, die Anbieter vor der Implementierung verstehen sollten.

Unterstützte Objekttypen

Die deklarative Freigabe unterstützt folgende Objekttypen:

  • Tabellen

  • Sichere Ansichten (einschließlich materialisierter Ansichten)

  • Notebooks

Alle anderen Objekttypen werden für die Freigabe in der deklarativen Freigabe in Native Apps nicht unterstützt.

Shared Objects

Objektbeschränkung

Im Abschnitt für freigegebene Inhalte der manifest.yml-Datei können maximal 1.000 Objekte definiert werden. Wenn Sie dieses Limit erhöhen möchten, wenden Sie sich an den Snowflake-Support.

Notebook-Einschränkungen

Read-only for consumers

Verbrauchende Personen können die Notebooks der Anbieter weder direkt bearbeiten noch klonen.

Network access

Notebooks können nicht auf externe Endpunkte oder Verbraucherdaten zugreifen, wenn sie in Kundenkonten ausgeführt werden.

Specialized libraries

Es gibt keine Garantie dafür, dass Geospatial und andere Bibliotheken von Drittanbietern in Notebooks sofort funktionieren.

External dependencies

Apps für deklarative Freigabe bieten nur begrenzte Unterstützung für externe Bibliotheken (Snowflake-Anaconda-Kanal und Python-Dateien im Code-Stagingbereich).

Nicht-interaktive Ausführung

Notebooks, die Teil nativer Anwendungen sind, können nicht interaktiv über Arbeitsblätter oder SQL-Befehle ausgeführt werden.

Sicherheit und Zugriffssteuerung

Role definition

Alle Anwendungsrollen, auf die in den freigegebenen Inhalten verwiesen wird, müssen im Feld roles im Manifest vordefiniert sein..

Object-level Roles

Objektrollen müssen Teilmengen ihrer übergeordneten Schemarollen sein.

Missing role validation

Die Validierung der Manifest-Datei gibt einen Fehler zurück, wenn die Rollen, auf die in der Freigabekonfiguration verwiesen wird, nicht vorhanden sind.

Minimum privileges

Die Anbieterrolle, die die shared_content.yaml-Datei per Commit überträgt, muss mindestens die gleichen Berechtigungen für freigegebene Objekte haben wie die, die verbrauchenden Personen erteilt werden.

No REFERENCE_USAGE required

Im Gegensatz zur herkömmlichen Datenfreigabe müssen Anbieter keine REFERENCE_USAGE-Berechtigungen für das Anwendungspaket gewähren.

Migration und Kompatibilität

Declarative Sharing migration

Die Migrationsunterstützung für den Wechsel von Datenfreigaben zur deklarativen Freigabe in nativen Apps ist nicht verfügbar.

Einschränkungen bei Namen und Konfigurationen

No wildcards

Objektnamen müssen explizit angegeben werden. Der Abgleich mit Platzhaltern oder regulären Ausdrücken wird nicht unterstützt.

Name collision prevention

Zwei freigegebenen Objekte können nicht dieselbe DOMAIN und denselben Namen haben.

Schema mapping

Die Schemazuordnung wird nicht unterstützt. Überlappende Schemanamen aus mehrere Datenbanken sind nicht zulässig.

Monitoring

Überprüfbarkeit

Declarative Native Apps stellen keine Überwachungsressourcen (z. B. Prüfpfade) zur Verfügung, damit der Anbieter von Verbrauchenden Informationen darüber erhalten kann, wie die freigegebenen Daten verwendet werden. Wenn Verbrauchende Compliance- oder gesetzliche Anforderungen haben, die eine Prüfung erfordern, müssen die Verbrauchenden mit dem Anbieter zusammenarbeiten, um eigene Überwachungslösungen zu implementieren.