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
rolesim 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.