Verwenden Sie Feature-Richtlinien, um die Objekte einzuschränken, die eine Anwendung erstellen kann¶
Unter diesem Thema wird beschrieben, wie Sie mithilfe von Feature-Richtlinien die Objekte einschränken, die eine Snowflake Native App erstellen kann.
Allgemeine Informationen zu Feature-Richtlinien¶
Wenn eine App für die automatische Vergabe von Berechtigungen konfiguriert ist, kann die App die folgenden Berechtigungen anfordern:
EXECUTE TASK
EXECUTE MANAGED TASK
CREATE WAREHOUSE
CREATE COMPUTE POOL
BIND SERVICE ENDPOINT
CREATE DATABASE
CREATE EXTERNAL ACCESS INTEGRATION
Der Verbraucher kann diese Berechtigungen nicht widerrufen, nachdem die App installiert wurde. Mit Feature-Richtlinien können Verbraucher jedoch die Objekte einschränken, die eine App erstellen kann.
Wenn Sie z. B. nicht möchten, dass eine App Warehouses oder Computepools erstellt, kann der Administrator eines Kundenkontos eine Feature-Richtlinie erstellen, die es einer bestimmten App oder allen Apps verbietet, Warehouses oder Computepools zu erstellen.
Mithilfe von Feature-Richtlinien können Verbraucher eine App daran hindern, die folgenden Objekte zu erstellen oder zu verwenden:
COMPUTE POOLS
DATABASES
TASKS
WAREHOUSES
Bemerkung
Externe Zugriffsintegrationen können nicht mithilfe von Feature-Richtlinien blockiert werden. Stattdessen können Verbraucher die Endpunkte für eine App mithilfe von App-Spezifikationen genehmigen.
Einschränkungen¶
Feature-Richtlinien werden nicht für Datenbanken, Schemas oder darin enthaltene Objekte unterstützt, die Replikation verwenden. Feature-Richtlinien werden für jedes Objekt übersprungen, das Teil einer Replikationsgruppe ist.
Workflow¶
Der allgemeine Workflow bei der Verwendung von Feature-Richtlinien zur Begrenzung der Objekte, die eine Anwendung erstellen kann, ist folgender:
Sehen Sie sich das Freigabeangebot für die App an, um festzustellen, welche Berechtigungen die App anfordert.
Wenn es Objekte gibt, die Sie einschränken möchten, erstellen Sie eine Feature-Richtlinie, um diese Objekte zu sperren.
Weitere Informationen dazu finden Sie unter Erstellen einer neuen Feature-Richtlinie.
Wenden Sie die Feature-Richtlinie auf das Konto oder auf ein bestimmtes Objekt an.
Weitere Informationen dazu finden Sie unter Zuweisen einer Feature-Richtlinie auf Kontoebene und Anwenden einer Feature-Richtlinie auf eine App.
Vorrang der Feature-Richtlinie¶
Verbraucher können eine Feature-Richtlinie auf alle Anwendungen in einem Konto oder auf eine bestimmte Anwendung anwenden. Wenn es Feature-Richtlinien gibt, die auf mehr als eine von ihnen angewendet werden, hat die spezifischste Feature-Richtlinie Vorrang vor allgemeineren. Die Rangfolge kann wie folgt zusammengefasst werden:
- Konto:
Feature-Richtlinien, die auf ein Konto angewendet werden, sind die allgemeinsten Feature-Richtlinien. Sie werden durch Feature-Richtlinien außer Kraft gesetzt, die auf ein bestimmtes Objekt angewendet werden, z. B. eine Anwendung.
- Objekt:
Feature-Richtlinien, die auf ein bestimmtes Objekt angewendet werden, haben Vorrang vor solchen, die auf das Konto angewendet werden.
Verbraucher können diesen Vorrang nutzen, um die Objekte, die eine App in ihrem Konto erstellen kann, genau zu bestimmen. Ein Verbraucher kann zum Beispiel eine Feature-Richtlinie auf Kontoebene anwenden, die allen Apps in dem Konto verbietet, eine Datenbank zu erstellen. Wenn eine Anwendung während der Installation versucht, eine Datenbank zu erstellen, schlägt die Installation fehl.
Verbraucher können jedoch auch eine Feature-Richtlinie ohne Einschränkungen erstellen und sie auf eine bestimmte App anwenden. Diese Anwendung würde eine Datenbank erstellen dürfen.
Weitere Informationen dazu finden Sie unter Erstellen einer neuen Feature-Richtlinie.
Erforderliche Berechtigungen für die Verwendung von Feature-Richtlinien¶
In der folgenden Tabelle werden die Berechtigungen beschrieben, die zum Erstellen und Verwenden von Feature-Richtlinien erforderlich sind:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
CREATE FEATURE POLICY |
SCHEMA |
Erforderlich für die Erstellung einer Feature-Richtlinie. Diese Berechtigung muss für das Schema gewährt werden, das die Feature-Richtlinie enthält. |
APPLY FEATURE POLICY |
ACCOUNT |
|
APPLY oder OWNERSHIP |
FEATURE POLICY |
Arbeiten mit Feature-Richtlinien¶
Verbraucher können Snowsight oder SQL verwenden, um den Lebenszyklus einer Feature-Richtlinie zu verwalten.
Erstellen einer neuen Feature-Richtlinie¶
Verbraucher können Feature-Richtlinien erstellen, um einer App zu verbieten, bestimmte Arten von Objekten zu erstellen. Das folgende Beispiel zeigt, wie Sie eine Feature-Richtlinie erstellen, die es einer App verbietet, eine Datenbank zu erstellen:
CREATE DATABASE feature_policy_db;
CREATE SCHEMA sch;
CREATE FEATURE POLICY block_create_db_policy
BLOCKED_OBJECT_TYPES_FOR_CREATION = (DATABASE);
Bemerkung
Feature-Richtlinien müssen in einem Schema erstellt werden.
Verbraucher können auch eine Feature-Richtlinie erstellen, die das Erstellen von Objekten nicht einschränkt, wie im folgenden Beispiel gezeigt:
CREATE FEATURE POLICY block_nothing_policy
BLOCKED_OBJECT_TYPES_FOR_CREATION = ();
Zuweisen einer Feature-Richtlinie auf Kontoebene¶
Verbraucher können eine Feature-Richtlinie auf Kontoebene anwenden, indem sie den Befehl ALTER ACCOUNT verwenden wie im folgenden Beispiel gezeigt:
ALTER ACCOUNT
SET FEATURE POLICY feature_policy_db.sch.block_create_db_policy
FOR ALL APPLICATIONS;
Dieser Befehl wendet die Richtlinie block_create_db_policy
für jede App an, die im Konto installiert ist. Nachdem diese Richtlinie angewendet wurde, können Anwendungen keine Datenbanken mehr erstellen.
Anwenden einer Feature-Richtlinie auf eine App¶
Um bei der manuellen Erstellung einer App eine Feature-Richtlinie anzuwenden, verwenden Sie die WITH FEATURE POLICY-Klausel des Befehls CREATE APPLICATION wie im folgenden Beispiel gezeigt:
CREATE APPLICATION hello_snowflake_app
WITH FEATURE POLICY = feature_policy_db.block_create_db_policy;
Um eine Feature-Richtlinie auf eine App anzuwenden, verwenden Sie den Befehl ALTER APPLICATION wie im folgenden Beispiel gezeigt:
ALTER APPLICATION hello_snowflake_app
SET FEATURE POLICY feature_policy_db.block_create_db_policy;
Eine Feature-Richtlinie aufheben¶
Um eine Feature-Richtlinie auf Kontoebene aufzuheben, verwenden Sie den Befehl ALTER ACCOUNT wie im folgenden Beispiel gezeigt:
ALTER ACCOUNT UNSET FEATURE POLICY FOR ALL APPLICATIONS;
Um die Anwendung einer Feature-Richtlinie für eine bestimmte Anwendung aufzuheben, verwenden Sie den Befehl ALTER APPLICATION wie im folgenden Beispiel gezeigt:
ALTER APPLICATION FEATURE_POLICY_TEST_APP UNSET FEATURE POLICY;
Eine Feature-Richtlinie löschen¶
Um eine Feature-Richtlinie zu löschen, verwenden Sie den Befehl DROP FEATURE POLICY wie im folgenden Beispiel gezeigt:
DROP FEATURE POLICY block_create_db_policy;
Informationen über Feature-Richtlinien anzeigen¶
Um die Feature-Richtlinien in einem Konto anzuzeigen, für das Sie Zugriffsrechte haben, verwenden Sie den Befehl SHOW FEATURE POLICIES:
SHOW FEATURE POLICIES ON ACCOUNT;
Um die auf eine App angewandten Feature-Richtlinien anzuzeigen, verwenden Sie den folgenden Befehl:
SHOW FEATURE POLICIES ON APPLICATION hello_snowflake_app;
Um Informationen über eine bestimmte Feature-Richtlinie zu erhalten, verwenden Sie den Befehl DESCRIBE FEATURE POLICY wie im folgenden Beispiel gezeigt:
DESCRIBE FEATURE POLICY feature_policy_db.block_create_db_policy;