Objekte in einem Verbraucherkonto erstellen und darauf zugreifen

In diesem Thema wird beschrieben, wie Anbieter eine Snowflake Native App entwickeln können, um Objekte im Verbraucherkonto zu erstellen oder auf bestehende Objekte zuzugreifen.

Übersicht über das Erstellen und Zugreifen auf Objekte in einem Verbraucherkonto

Snowflake Native Apps müssen häufig Objekte in einem Verbraucherkonto erstellen oder darauf zugreifen. Beispielsweise würde selbst eine einfache App, mit der der Verbraucher freigegebene Daten abfragen kann, erfordern, dass die App ein Warehouse im Verbraucherkonto erstellt und nutzt. Eine App muss möglicherweise auch eine Verbindung zu externen Services außerhalb von Snowflake herstellen.

Snowflake Native App Framework bietet zwei Möglichkeiten, Berechtigungen zum Erstellen von Objekten im Verbraucherkonto anzufordern.

Automatisiertes Gewähren von Berechtigungen für eine App

Snowflake Native App Framework ermöglicht es Anbietern, bestimmte sichere Berechtigungen anzufordern und diese dann automatisch zu gewähren. Anbieter fügen diese Berechtigungen in die Manifest-Datei der App ein. Während der Installation oder des Upgrades der App gewährt Snowflake der App automatisch diese Berechtigungen.

Weitere Informationen zur Konfiguration einer App, bei der Berechtigungen automatisch gewährt werden, finden Sie unter Die von einer App benötigten Berechtigungen konfigurieren.

Aus Sicht des Anbieters vereinfacht das automatisierte Gewähren von Berechtigungen die Entwicklung von Apps, da die App nicht bestimmen muss, ob ein Verbraucher die angeforderten Berechtigungen erteilt oder die erforderlichen Objekte in seinem Konto erstellt hat.

Aus Sicht des Verbrauchers vereinfacht das automatisierte Gewähren von Berechtigungen die Installation und Konfiguration von Apps. Allerdings hat der Verbraucher dadurch auch weniger Kontrolle darüber, was eine App in seinem Konto tun kann. Um Verbrauchern mehr Kontrolle darüber zu geben, was eine App tun kann, bietet Snowflake Native App Framework die folgenden Features:

App-Spezifikationen:

Ermöglichen Sie Verbrauchern die Kontrolle über die externen Endpunkte, mit denen eine App eine Verbindung herstellen kann. Um auf Services außerhalb von Snowflake zuzugreifen, muss eine App je nach Servicetyp möglicherweise eine Integration für den externen Zugriff oder eine Serviceintegration erstellen. Durch das automatisierte Gewähren von Berechtigungen kann die App diese Objekte im Verbraucherkonto erstellen. Jedoch muss ein Kontoadministrator des Verbraucherkontos die App-Spezifikation genehmigen, die es der App erlaubt, die externe Verbindung herzustellen.

Informationen zur Entwicklung einer App zur Verwendung von App-Spezifikationen finden Sie unter App-Spezifikationen zur Anforderung externer Endpunkte von Verbrauchern verwenden. Informationen darüber, wie der Verbraucher eine App-Spezifikation genehmigt, finden Sie unter Verbindungen zu externen Ressourcen mit App-Spezifikationen genehmigen.

Feature-Richtlinien:

Mit Feature-Richtlinien können Verbraucher das automatisierte Gewähren von Berechtigungen außer Kraft setzen. Vor der Installation oder dem Upgrade einer App können Verbraucher eine Feature-Richtlinie erstellen, um zu verhindern, dass die App bestimmte Arten von Objekten erstellt. Beispielsweise muss ein Verbraucher möglicherweise eine Feature-Richtlinie konfigurieren, um zu verhindern, dass eine App ein Warehouse erstellt. Wenn eine App versucht, während der Installation oder eines Upgrades ein Warehouse zu erstellen, schlägt die Installation fehl.

Weitere Informationen zum Erstellen von Feature-Richtlinien durch Verbraucher finden Sie unter Verwenden Sie Feature-Richtlinien, um die Objekte einzuschränken, die eine Anwendung erstellen kann.

Manuelles Gewähren von Berechtigungen für eine App

Für Apps, die vor der Herausgabe von Automatisiertes Gewähren von Berechtigungen erstellt wurden, beispielsweise eine App, die installiert wurde und nicht über die erforderlichen Berechtigungen zum Erstellen von Objekten im Verbraucherkonto verfügt, müssen Verbraucher der App manuell Berechtigungen mithilfe von SQL oder Snowsight gewähren, je nach Konfiguration der App. Weitere Informationen dazu finden Sie unter Globale Berechtigungen von Verbrauchern anfordern.

Zugriff auf bestehende Objekte im Verbraucherkonto

In bestimmten Kontexten muss eine App auf bestehende Objekte im Verbraucherkonto zugreifen, die außerhalb der App existieren. Eine App benötigt beispielsweise Zugriff auf bestehende Tabellen in einer Verbraucherdatenbank. Damit die App Objekte erstellen kann, verwendet Snowflake Native App Framework Referenzen, die es dem Kunden ermöglichen, den Namen und das Schema eines Objekts anzugeben und den Zugriff auf das Objekt zu ermöglichen.

Weitere Informationen dazu finden Sie unter Referenzen und Berechtigungen auf Objektebene von Verbrauchern anfordern.

Vergleich von automatischen und manuellen Berechtigungen

App-Anforderung

Automatisiertes Gewähren von Berechtigungen

Manuelles Gewähren von Berechtigungen

Berechtigungen zum Erstellen von Objekten

Apps haben Berechtigungen zum Erstellen von Objekten, mit einigen Ausnahmen.

Verbraucher müssen der App explizit Berechtigungen über Snowsight oder SQL gewähren.

Auf externe Services zugreifen

Apps können Netzwerkregeln und Integrationen für den externen Zugriff erstellen.

Verbraucher müssen den externen Zugriff mithilfe von App-Spezifikationen genehmigen.

Verbraucher müssen die erforderlichen Netzwerkregeln und Integrationen für den externen Zugriff manuell erstellen und die Integration mithilfe von Referenzen verknüpfen.

Auf externe Identitätsanbieter zugreifen

Apps können Sicherheitsintegrationen für die externe API-Authentifizierung erstellen.

Verbraucher müssen die externe Verbindung mithilfe der App-Spezifikation genehmigen.

Verbraucher müssen die erforderlichen Sicherheitsintegrationen manuell erstellen und die Integration mit Referenzen verknüpfen.

Auf vorhandene Objekte zugreifen

Anbieter müssen Referenzen verwenden, um auf bestehende Objekte zuzugreifen.

Verbraucher genehmigen den Zugriff auf die Referenzen.

Anbieter müssen Referenzen verwenden, um auf bestehende Objekte zuzugreifen.

Verbraucher genehmigen den Zugriff auf die Referenzen.

App-Entwicklung

Anbieter müssen keinen Code schreiben, um zu bestimmen, ob der Verbraucher eine bestimmte Berechtigung gewährt hat.

Anbieter müssen Code schreiben, der prüft, ob der Verbraucher eine bestimmte Berechtigung gewährt hat.

App-Installation

Verbraucher müssen keine Objekte manuell erstellen oder Berechtigungen gewähren.

Verbraucher müssen Objekte manuell in ihrem Konto erstellen oder der App über Snowsight oder SQL explizit Berechtigungen gewähren.

Sicherheitserwägungen bei der Verwendung von automatischen Berechtigungen mit App-Spezifikationen

Die App-Spezifikationen steuern nur die Kommunikation mit Endpunkten außerhalb von Snowflake. Verbraucher können App-Spezifikationen genehmigen oder ablehnen, um zu gestatten oder zu verhindern, dass die App eine Verbindung zu diesen Endpunkten herstellt.

App-Spezifikationen verhindern nicht, dass die App Snowflake-Objekte erstellt, die externe Verbindungen steuern: Netzwerkregeln, Integrationen für den externen Zugriff und Sicherheitsintegrationen. Die Berechtigungen zum Erstellen dieser Objekte werden mittels automatisierter Gewährung von Berechtigungen erteilt.

App-Spezifikationen bieten keine Datenvalidierung. Darüber hinaus legen sie keine Beschränkungen für Geheimnisse oder Token fest, auf die eine Integration für den externen Zugriff oder eine Sicherheitsintegration verweist.

Wenn beispielsweise ein Anbieter eine Integration für den externen Zugriff einer App zur Verwendung von ALLOWED_AUTHENTICATION_SECRETS konfiguriert und der Verbraucher die App-Spezifikation für diese Integration genehmigt, kann die App später die von ihr verwendeten Geheimnisse und Token ändern.

Wenn ein Anbieter jedoch die App ändert, um einen anderen Endpunkt zu verwenden, würde sich die Sequenznummer der App-Spezifikation ändern und der Verbraucher müsste die neue Version erneut genehmigen oder ablehnen.