Anfragen des Zugriffs auf Objekte in einem Verbraucherkonto

Unter diesem Thema werden allgemeine Informationen bereitgestellt, wie ein Anbieter nach der Installation einer Snowflake Native App Berechtigungen oder Zugriff auf Objekte im Verbraucherkonto anfordern kann.

Allgemeine Informationen zu Berechtigungen und Referenzen in einer Snowflake Native App

In einer einfachen Snowflake Native App werden alle erforderlichen Objekte innerhalb des APPLICATION-Objekts erstellt, wenn das Setup-Skript während der Installation ausgeführt wird. In diesem Zusammenhang werden alle von einer App benötigten Objekte innerhalb des APPLICATION-Objekts erstellt und zugänglich gemacht. Der Verbraucher ist zu keinerlei Handlungen verpflichtet. Alle erforderlichen Berechtigungen werden von der App mithilfe von Anwendungsrollen verwaltet.

Bei einer komplexeren Snowflake Native App kann es jedoch erforderlich sein, neue Objekte zu erstellen oder auf bestehende Objekte im Verbraucherkonto zuzugreifen, die außerhalb des APPLICATION-Objekts liegen. In diesem Fall muss der Verbraucher die erforderlichen Berechtigungen erteilen oder den Zugriff autorisieren, damit die Snowflake Native App diese Objekte erstellen oder darauf zugreifen kann.

Mit Snowflake Native App Framework können Anbieter Folgendes tun:

  • Prüfen, ob das Verbraucherkonto über Berechtigungen auf Kontoebene verfügt.

  • Anfordern von Berechtigungen auf Kontoebene, um Aufgaben auszuführen, z. B. das Erstellen einer Datenbank

  • Verwenden Sie Referenzen, um auf bestehende Objekte im Verbraucherkonto zuzugreifen.

Anbieter fordern Zugriff auf ein Verbraucherkonto an, indem Sie Folgendes anfordern:

Globale Berechtigungen

Globale Berechtigungen erlauben der Snowflake Native App, Aktionen im Verbraucherkonto auszuführen. Weitere Informationen dazu finden Sie unter Berechtigungen, die der Anbieter vom Verbraucher anfordern kann.

Referenzen

Referenzen erlauben der App, auf bestehende Objekte im Verbraucherkonto zuzugreifen. Ein Anbieter definiert die Referenzen, die die App in der Datei manifest.yml anfordert.

Nach der Installation erlaubt der Verbraucher den Zugriff auf das Objekt, indem ein Verweis bereitgestellt wird, der mit dem vollqualifizierten Namen des Objekts erstellt wird.

Referenzen ermöglichen der App, über einen logischen Namen auf Objekte zuzugreifen. Eine Referenz ermöglicht dem Anbieter, die App zu erstellen, ohne den spezifischen Namen des Objekts oder die übergeordnete Datenbank und das Schema kennen zu müssen.

Weitere Informationen dazu finden Sie unter Referenzen.

Wie ein Verbraucher einer Snowflake Native App Zugriff gewährt

Für jede Zugriffsanfrage, die der Anbieter in der App definiert, muss der Verbraucher der App den Zugriff erlauben. Die Art und Weise, wie ein Verbraucher den Zugriff erlaubt, unterscheidet sich bei globalen Berechtigungen und Referenzen.

Einer Snowflake Native App globale Berechtigungen erteilen

Wenn ein Anbieter eine App so konfiguriert, dass sie bestimmte Berechtigungen oder den Zugriff auf bestimmte Objekte anfordert, gibt es zwei Möglichkeiten, wie ein Verbraucher der App diese Berechtigungen erteilen kann:

  • Wenn ein Anbieter eine Benutzerschnittstelle mit dem Python Permission SDK implementiert, verwendet der Verbraucher Snowsight, um die von der App angeforderten Berechtigungen zu erteilen. Das Python Permission SDK führt automatisch die erforderlichen GRANT-Anweisungen im Verbraucherkonto aus.

  • Wenn ein Anbieter keine Benutzerschnittstelle implementiert, muss er dem Verbraucher mitteilen, welche Berechtigungen die App benötigt. Beispielsweise muss der Anbieter dem Verbraucher Informationen über die SQL-Anweisungen mitteilen, die der Verbraucher ausführen muss, um der App die erforderlichen Berechtigungen zu erteilen.

    Snowflake empfiehlt, diese Informationen in die README-Datei der App aufzunehmen, die der Verbraucher als Teil des Freigabeangebots für die Snowflake Native App einsehen kann.

Zugriff auf Objekte autorisieren

Wenn ein Anbieter eine Referenz auf ein Objekt im Verbraucherkonto definiert, das sich außerhalb des APPLICATION-Objekts befindet, gibt es zwei Möglichkeiten, wie ein Verbraucher Referenzen auf diese Objekte erstellen und sie mit der Anwendung verknüpfen kann.

  • Wenn ein Anbieter eine Benutzeroberfläche mit dem Python Permission SDK implementiert, verwendet der Verbraucher Snowsight, um die Referenzen mit den von der App benötigten Objekten zu verknüpfen. Weitere Informationen dazu finden Sie unter Verwalten von Zugriffsanforderungen mit Snowsight.

  • Wenn ein Anbieter keine Benutzerschnittstelle implementiert, muss der Verbraucher die Referenz manuell erstellen und sie dann mit der Snowflake Native App verknüpfen.