Globale Berechtigungen von Verbrauchern anfordern

In 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

Bemerkung

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

Um eine Snowflake Native App so zu konfigurieren, dass Anbieter globale Berechtigungen anfragen können, verwenden Sie den folgenden Workflow:

  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 Berechtigungsanforderung zur Manifest-Datei hinzufügen.

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 Die von einer Snowflake Native App angeforderten Berechtigungen anzeigen.

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

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

  • READ SESSION

  • IMPORTED PRIVILEGES ON SNOWFLAKE DB

Bemerkung

Durch Erteilen der Berechtigung IMPORTED PRIVILEGES ON SNOWFLAKE DB 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.

Berechtigungsanforderung zur Manifest-Datei hinzufügen

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.

Die von einer Snowflake Native App angeforderten Berechtigungen anzeigen

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

Berechtigungen zu einer Anwendung zuweisen

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 MYDATABASE-Datenbank zu erteilen, führen Sie den folgenden Befehl aus:

GRANT IMPORTED PRIVILEGES ON DATABASE MYDATABASE TO APPLICATION hello_snowflake_app;
Copy