CREATE PROJECTION POLICY¶
Erstellt eine neue Projektionsrichtlinie im aktuellen/angegebenen Schema oder ersetzt eine bestehende Projektionsrichtlinie.
Wenden Sie nach dem Erstellen einer Projektionsrichtlinie diese mit dem Befehl ALTER TABLE … ALTER COLUMN auf eine Tabellenspalte oder mit dem Befehl ALTER VIEW auf eine Ansichtsspalte an.
- Siehe auch:
Unter diesem Thema:
Syntax¶
CREATE [ OR REPLACE ] PROJECTION POLICY [ IF NOT EXISTS ] <name>
AS () RETURNS PROJECTION_CONSTRAINT -> <body>
[ COMMENT = '<string_literal>' ]
Parameter¶
name
Bezeichner für die Projektionsrichtlinie. Dieser muss für Ihr Konto eindeutig sein.
Der Bezeichnerwert muss mit einem alphabetischen Zeichen beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B.
"My object"
). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.
body
SQL-Ausdruck, der bestimmt, ob eine Spalte projiziert werden soll.
Der Ausdruck ruft die interne Funktion PROJECTION_CONSTRAINT auf, um die Projektion einer Spalte zuzulassen oder zu verhindern:
PROJECTION_CONSTRAINT(ALLOW => TRUE)
– Projektion der Spalte, an die die Projektionsrichtlinie angehängt ist, ist zulässig.PROJECTION_CONSTRAINT(ALLOW => FALSE)
– Projektion der Spalte, an die die Projektionsrichtlinie angehängt ist, ist nicht zulässig.
COMMENT = 'string_literal'
Fügt einen Kommentar hinzu oder überschreibt einen vorhandenen Kommentar für die Projektionsrichtlinie.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
CREATE PROJECTION POLICY |
Schema |
Beachten Sie, dass für die Bearbeitung eines Objekts in einem Schema auch die Berechtigung USAGE für die übergeordnete Datenbank und das Schema erforderlich ist.
Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.
Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.
Weitere Informationen zur DDL und zu Berechtigungen von Projektionsrichtlinien finden Sie unter Berechtigungen und Befehle.
Nutzungshinweise¶
Wenn Sie eine bestehende Projektionsrichtlinie aktualisieren möchten und dazu die aktuelle Definition der Richtlinie anzeigen müssen, können Sie den Befehl DESCRIBE PROJECTION POLICY oder die Funktion GET_DDL ausführen.
Metadaten:
Achtung
Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
Beispiele¶
Projizieren einer Spalte nicht zulassen:
CREATE OR REPLACE PROJECTION POLICY do_not_project AS () RETURNS PROJECTION_CONSTRAINT -> PROJECTION_CONSTRAINT(ALLOW => false);
Projizieren einer Spalte für die kundenspezifische Rolle analyst
, andernfalls Spalte nicht projizieren:
CREATE OR REPLACE PROJECTION POLICY project_analyst_only AS () RETURNS PROJECTION_CONSTRAINT -> CASE WHEN CURRENT_ROLE() = 'ANALYST' THEN PROJECTION_CONSTRAINT(ALLOW => true) ELSE PROJECTION_CONSTRAINT(ALLOW => false) END;