Anfordern von globalen Berechtigungen von Verbrauchern

Unter diesem Thema wird beschrieben, wie Anbieter eine Snowflake Native App so konfigurieren können, dass diese von einem Verbraucher globale Berechtigungen anfordert, nachdem der Verbraucher die App installiert hat. Diese Berechtigungen ermöglichen es der Snowflake Native App, Aufgaben im Verbraucherkonto auszuführen, z. B. ein Warehouse oder eine Datenbank zu erstellen.

Wenn eine App Aktionen ausführen oder Objekte außerhalb des Kontextes der Snowflake Native App erstellen muss, muss der Verbraucher der Anwendung die entsprechenden Berechtigungen erteilen.

Workflow für das Anfordern von globalen Berechtigungen vom Verbraucher

Der folgende Workflow beschreibt, wie eine Snowflake Native App so konfiguriert wird, dass sie globale Berechtigungen anfordert.

Bemerkung

Unter Erstellen einer Benutzeroberfläche zum Anfordern von Berechtigungen und Referenzen finden Sie Informationen zum Erstellen einer Benutzeroberfläche, die es Verbrauchern ermöglicht, Berechtigungen über Snowsight zu erteilen.

Um globale Berechtigungen anzufordern, führt der Anbieter bei Entwicklung und Veröffentlichung einer Snowflake Native App folgende Schritte aus:

  1. Ermitteln Sie die Berechtigungen, die für die App erforderlich sind.

    Wenn Ihre App beispielsweise eine Datenbank im Verbraucherkonto erstellen muss, muss der Anbieter beim Verbraucher anfordern, dass der Anwendung die globale Berechtigung CREATE DATABASE erteilt wird.

    Weitere Informationen zu den globalen Berechtigungen, die eine App anfordern kann, finden Sie unter Berechtigungen, die der Anbieter vom Verbraucher anfordern kann.

  2. Fügen Sie die erforderlichen Berechtigungen in die manifest.yml-Datei ein. Weitere Informationen dazu finden Sie unter Hinzufügen einer Berechtigungsanfrage zur Manifest-Datei.

Nach der Installation der Snowflake Native App führt der Verbraucher Folgendes aus:

  1. Überprüfen der globalen Berechtigungen, die für die Anwendung erforderlich sind. Weitere Informationen dazu finden Sie unter Anzeigen der von einer Snowflake Native App angeforderten Berechtigungen.

  2. Erteilen der globalen Berechtigungen für die Anwendung. Weitere Informationen dazu finden Sie unter Zuweisen von Berechtigungen zu einer Anwendung.

Berechtigungen, die der Anbieter vom Verbraucher anfordern kann

Das Snowflake Native App Framework ermöglicht es Anbietern, die folgenden globalen Berechtigungen im Verbraucherkonto anzufordern:

  • EXECUTE TASK

  • EXECUTE MANAGED TASK

  • CREATE WAREHOUSE

  • MANAGE WAREHOUSES

  • CREATE DATABASE

Ein Anbieter kann außerdem anfordern, dass der Verbraucher der Anwendung die Berechtigung IMPORTED PRIVILEGES für die SNOWFLAKE-Datenbank erteilt. Verbraucher können diese Berechtigung nur mit SQL-Befehlen erteilen. Weitere Informationen dazu finden Sie unter Zuweisen von Berechtigungen zu einer Anwendung. Diese Berechtigung kann nicht über Snowsight erteilt werden.

Bemerkung

Durch Erteilen der Berechtigung IMPORTED PRIVILEGES kann die Snowflake Native App Informationen über die mit dem Verbraucherkonto verbundenen Nutzungs- und Kostenwerte einsehen. Sie müssen beim Veröffentlichen der Snowflake Native App sicherstellen, dass Verbraucher über diesen Umstand informiert sind.

Hinzufügen einer Berechtigungsanfrage zur Manifest-Datei

Das folgende Beispiel zeigt, wie Sie die Berechtigung EXECUTE TASK zur Datei manifest.yml hinzufügen:

privileges:
- EXECUTE TASK:
    description: "Privilege to run tasks within the consumer account"
Copy

Ein Anbieter kann jede der unterstützten Berechtigungen auf dieselbe Weise hinzufügen.

Anzeigen der von einer Snowflake Native App angeforderten Berechtigungen

Wenn ein Anbieter eine Berechtigung in der Datei manifest.yml angibt, werden die Berechtigungsanfragen als Teil der installierten Snowflake Native App integriert. Der Verbraucher kann die Anforderung von Berechtigungen nach der Installation der App einsehen.

Um die globalen Berechtigungen anzuzeigen, die für eine App erforderlich sind, führen Sie den Befehl SHOW PRIVILEGES aus, wie im folgenden Beispiel gezeigt:

SHOW PRIVILEGES IN APPLICATION hello_snowflake_app;
Copy

Zuweisen von Berechtigungen zu einer Anwendung

Nach der Festlegung der Berechtigungen, die eine Snowflake Native App benötigt, muss der Verbraucher der App diese Berechtigungen erteilen.

Um die im obigen Beispiel angeforderte globale Berechtigung zuzuweisen, führt der Verbraucher den Befehl GRANT <Berechtigungen> aus, wie im folgenden Beispiel gezeigt:

GRANT CREATE DATABASE ON ACCOUNT TO APPLICATION hello_snowflake_app;
Copy

Um die Berechtigung IMPORT für die SNOWFLAKE-Datenbank zu erteilen, führen Sie den folgenden Befehl aus:

GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO APPLICATION hello_snowflake_app;
Copy