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.

Notebook-Einschränkungen

Schreibgeschützt für verbrauchende Personen

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

Netzwerkzugriff

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

Spezielle Bibliotheken

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

Externe Abhängigkeiten

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

Sicherheit und Zugriffssteuerung

Rollendefinition

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

Rollen auf Objektebene

Objektrollen müssen Teilmengen ihrer übergeordneten Schemarollen sein.

Fehlende Rollenvalidierung

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

Mindestberechtigungen

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.

Keine REFERENCE_USAGE erforderlich

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

Migration und Kompatibilität

Migration von deklarativen Freigaben

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

Keine Platzhalter

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

Verhinderung von Namenskonflikten

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

Schemazuordnung

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