Die von einer App benötigten Berechtigungen konfigurieren¶
In diesem Thema wird beschrieben, wie Sie das automatisierte Gewähren von Berechtigungen verwenden, um bei der Installation oder Aktualisierung einer Snowflake Native App die Berechtigungen von einem Verbraucher anzufordern.
Übersicht über das automatisierte Gewähren von Berechtigungen¶
Häufig muss eine App Objekte erstellen oder darauf zugreifen oder andere Aktionen im Verbraucherkonto ausführen. Dazu muss der Verbraucher die erforderlichen Berechtigungen gewähren, die es der App ermöglichen, diese Aktionen auszuführen. Apps müssen zum Beispiel über Berechtigungen verfügen, um die folgenden Arten von Aufgaben auszuführen:
Erstellen und Starten von Warehouses und Computepools.
Zugriff auf Daten des Verbraucherkontos.
Verbinden mit externen Endpunkten (außerhalb von Snowflake).
Durch das automatisierte Gewähren von Berechtigungen können Anbieter die erforderlichen Berechtigungen in der Manifest-Datei einer App festlegen. Wenn der Verbraucher eine App installiert oder aktualisiert, werden der App die im Manifest angegebenen Berechtigungen automatisch erteilt.
Vorsicht
Der Anbieter muss diese Berechtigungen und ihre möglichen Auswirkungen kommunizieren, damit sie für den Verbraucher bei der Bewertung und Installation der App sichtbar sind. Nachdem Berechtigungen während der Installation oder des Upgrades automatisch gewährt wurden, können diese Berechtigungen nicht widerrufen werden.
Berechtigungen für eine App mithilfe des automatisierten Gewährens von Berechtigungen anfordern¶
Anbieter können das automatisierte Gewähren von Berechtigungen nutzen, um die Berechtigungen festzulegen, die eine App zum Erstellen und Verwenden von Objekten im Verbraucherkonto benötigt. Durch das automatisierte Gewähren von Berechtigungen werden der App die erforderlichen Berechtigungen erteilt, wenn der Verbraucher die App installiert oder aktualisiert.
Die Version der Manifest-Datei festlegen¶
Um das automatisierte Gewähren von Berechtigungen für eine App zu aktivieren, legen Sie die Version am Anfang der Manifest-Datei fest, wie im folgenden Beispiel gezeigt:
manifest_version: 2
Die Berechtigungen in der Manifest-Datei festlegen¶
Um die von der App benötigten Berechtigungen festzulegen, müssen Anbieter diese in der Manifest-Datei der App angeben.
Bemerkung
Zur Verwendung des automatisierten Gewährens von Berechtigungen müssen Anbieter manifest_version: 2
angeben.
Das folgende Beispiel zeigt, wie Sie die Berechtigung CREATE WAREHOUSE in der Manifest-Datei angeben:
manifest_version: 2
...
privileges:
- CREATE WAREHOUSE
description: "Allows the app to create warehouses in the consumer account"
Wenn ein Verbraucher die App installiert, wird die Berechtigung CREATE WAREHOUSE der App automatisch erteilt.
Vorsicht
Wenn ein Anbieter die Eigenschaft manifest_version
der Manifest-Datei von 2
auf 1
ändert, werden der App beim Upgrade alle automatischen Berechtigungen entzogen. Wenn der Verbraucher der App explizit Berechtigungen gewährt hat, bleiben diese Berechtigungen unverändert.
Bemerkung
Anbieter können die Eigenschaft manifest_version
nur bei größeren Upgrades auf eine neue Version der App ändern. Die manifest_version
kann in einem Patch-Release nicht geändert werden.
Die erforderlichen Objekte im Setup-Skript erstellen¶
Mithilfe des automatisierten Gewährens von Berechtigungen können Anbieter die SQL-Befehle zum Setup-Skript hinzufügen, das zum Erstellen und Zugreifen auf Objekte im Verbraucherkonto verwendet wird.
Das folgende Beispiel zeigt, wie Sie ein Warehouse im Verbraucherkonto erstellen:
CREATE OR REPLACE WAREHOUSE application_wh;
Dieser Befehl erstellt ein Warehouse namens application_wh
im Verbraucherkonto. Das Feature zum automatisierten Gewähren von Berechtigungen ermöglicht es der App, das Warehouse direkt zu erstellen. Der Anbieter muss keine zusätzliche Logik hinzufügen, um zu prüfen, ob der Verbraucher die erforderlichen Berechtigungen erteilt hat.
Berechtigungen, die durch das automatisierte Gewähren von Berechtigungen gewährt werden¶
Die folgenden Berechtigungen werden durch das automatisierte Gewähren von Berechtigungen unterstützt:
EXECUTE TASK
EXECUTE MANAGED TASK
CREATE WAREHOUSE
CREATE COMPUTE POOL
BIND SERVICE ENDPOINT
CREATE DATABASE
CREATE EXTERNAL ACCESS INTEGRATION
CREATE SECURITY INTEGRATION
Wenn ein Anbieter diese Berechtigungen zur Manifest-Datei hinzufügt, werden sie der App bei der Installation und beim Upgrade automatisch gewährt.
Beschränkungen für die Berechtigung CREATE EXTERNAL ACCESS INTEGRATION¶
Die Berechtigung CREATE EXTERNAL ACCESS INTEGRATION ermöglicht es einer App, eine Integration für den externen Zugriff im Verbraucherkonto zu erstellen. Um jedoch Verbindungen zu einem externen Endpunkt zu ermöglichen, müssen die Verbraucher auch die App-Spezifikation genehmigen, die es der App gestattet, sich mit externen Hosts zu verbinden.
Weitere Informationen dazu finden Sie unter App-Spezifikationen zur Anforderung externer Endpunkte von Verbrauchern verwenden.
Berechtigungen, die nicht durch das automatisierte Gewähren von Berechtigungen gewährt werden¶
Einige Berechtigungen werden der App nicht automatisch gewährt. Verbraucher müssen diese Berechtigungen manuell zuweisen, wenn sie eine App installieren oder aktualisieren. Beispielsweise werden der App die folgenden Berechtigungen nicht automatisch gewährt:
MANAGE WAREHOUSES
IMPORTED PRIVILEGES ON SNOWFLAKE DB
READ SESSION
EXECUTE ALERT
Verwenden des automatisierten Gewährens von Berechtigungen bei Upgrades¶
Wenn Sie eine neue Version einer App veröffentlichen, müssen Sie möglicherweise die für die App erforderlichen Berechtigungen hinzufügen oder entfernen. Das Setup-Skript der neuen Version oder des neuen Patches wird sowohl mit den im Manifest angegebenen neuen automatischen Berechtigungen als auch mit den für die vorherige Version erforderlichen Berechtigungen ausgeführt. Alle zusätzlichen Berechtigungen, die in der neuen Version entfernt werden, werden widerrufen, wenn das App-Upgrade abgeschlossen ist.
Um die Stabilität bei Upgrades sicherzustellen, wenn die Version der Manifest-Datei auf 2
gesetzt ist, kann die Liste der angeforderten Berechtigungen in der Manifest-Datei nicht als Teil eines Patches geändert werden. Dadurch wird verhindert, dass Anbieter Apps unbeabsichtigt beschädigen, indem sie die erforderlichen Berechtigungen in einem Patch entfernen.