CREATE AUTHENTICATION POLICY¶
Erstellt eine neue Authentifizierungsrichtlinie im aktuellen oder angegebenen Schema oder ersetzt eine vorhandene Authentifizierungsrichtlinie. Sie können Authentifizierungsrichtlinien verwenden, um Authentifizierungskontrollen und Sicherheitsanforderungen für Konten oder Benutzer zu definieren.
- Siehe auch:
ALTER AUTHENTICATION POLICY, DESCRIBE AUTHENTICATION POLICY, DROP AUTHENTICATION POLICY, SHOW AUTHENTICATION POLICIES
Syntax¶
CREATE [ OR REPLACE ] AUTHENTICATION POLICY [ IF NOT EXISTS ] <name>
[ CLIENT_TYPES = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ AUTHENTICATION_METHODS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ SECURITY_INTEGRATIONS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ COMMENT = '<string_literal>' ]
Erforderliche Parameter¶
name
Gibt den Bezeichner der Authentifizierungsrichtlinie an. Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, müssen Sie die Zeichenfolge in doppelte Anführungszeichen setzen. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist die Groß-/Kleinschreibung zu beachten. Der Bezeichner muss die Anforderungen an Bezeichner erfüllen.
Optionale Parameter¶
CLIENT_TYPES = ( 'string_literal' [ , 'string_literal' , ... ] )
Eine Liste von Clients, die sich bei Snowflake authentifizieren können. Wenn ein Client versucht, eine Verbindung herzustellen, und der Client nicht zu den gültigen
CLIENT_TYPES
-Werten gehört, schlägt der Anmeldeversuch fehl. Dieser Parameter kann einen oder mehrere der folgenden Werte annehmen:ALL
Allen Clients wird erlaubt, sich zu authentifizieren.
SNOWFLAKE_UI
Snowsight oder Classic Console, die Snowflake-Weboberfläche.
DRIVERS
Treiber ermöglichen den Zugriff auf Snowflake aus Anwendungen, die in unterstützten Sprachen geschrieben wurden. Beispielsweise Go-, JDBC- und .NET-Treiber sowie Snowpipe Streaming.
Vorsicht
Wenn
DRIVERS
nicht in derCLIENT_TYPES
-Liste enthalten ist, funktioniert die automatische Erfassung möglicherweise nicht.SNOWSQL
Ein Befehlszeilenclient zur Verbindung mit Snowflake.
Standard:
ALL
.AUTHENTICATION_METHODS = ( 'string_literal' [ , 'string_literal' , ... ] )
Vorsicht
Eine Einschränkung mittels Authentifizierungsmethode kann unbeabsichtigte Folgen haben, z. B. ein Blockieren von Treiberverbindungen oder von Drittanbieter-Integrationen.
Eine Liste von Authentifizierungsmethoden, die bei der Anmeldung zulässig sind. Dieser Parameter kann einen oder mehrere der folgenden Werte annehmen:
ALL
Alle Authentifizierungsmethoden sind zugelassen.
SAML
Erlaubt SAML2-Sicherheitsintegrationen. Wenn
SAML
vorhanden ist, wird eine SSO-Anmeldeoption angezeigt. WennSAML
nicht vorhanden ist, wird auch keine SSO-Anmeldeoption angezeigt.PASSWORD
Ermöglicht Benutzern die Authentifizierung mit Benutzername und Kennwort.
OAUTH
Erlaubt External OAuth.
KEYPAIR
Erlaubt Schlüsselpaar-Authentifizierung.
Standard:
ALL
.SECURITY_INTEGRATIONS = ( 'string_literal' [ , 'string_literal' , ... ] )
Eine Liste von Sicherheitsintegrationen, mit denen die Authentifizierungsrichtlinie verknüpft ist. Dieser Parameter hat keine Auswirkungen, wenn
SAML
oderOAUTH
nicht in derAUTHENTICATION_METHODS
-Liste enthalten sind.Alle Werte in der Liste
SECURITY_INTEGRATIONS
müssen mit den Werten in der ListeAUTHENTICATION_METHODS
kompatibel sein. Wenn beispielweiseSECURITY_INTEGRATIONS
eine SAML-Sicherheitsintegration enthält undAUTHENTICATION_METHODS
enthältOAUTH
, können Sie die Authentifizierungsrichtlinie nicht erstellen.ALL
Alle Sicherheitsintegrationen sind erlaubt.
Standard:
ALL
.COMMENT = 'string_literal'
Gibt eine Beschreibung der Richtlinie an.
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 AUTHENTICATION POLICY |
Schema |
Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed. |
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.
Nutzungshinweise¶
Nachdem Sie eine Authentifizierungsrichtlinie erstellt haben, müssen Sie diese mit dem Befehl ALTER ACCOUNT oder ALTER USER für ein Konto oder einen Benutzer festlegen, bevor Snowflake die Richtlinie durchsetzt.
Wenn Sie eine bestehende Authentifizierungsrichtlinie aktualisieren möchten und dazu die aktuelle Definition der Richtlinie anzeigen müssen, können Sie den Befehl DESCRIBE AUTHENTICATION POLICY oder die Funktion GET_DDL ausführen.
CREATE OR REPLACE <Objekt>-Anweisungen sind atomar. Das heißt, wenn ein Objekt ersetzt wird, erfolgt das Löschen des alten Objekts und das Erstellen des neuen Objekts in einer einzigen Transaktion.
Beispiel¶
Erstellen Sie eine Authentifizierungsrichtlinie namens restrict_client_types_policy
, die den Zugriff nur über Snowsight oder die klassische Konsole zulässt:
CREATE AUTHENTICATION POLICY restrict_client_types_policy
CLIENT_TYPES = ('SNOWFLAKE_UI')
COMMENT = 'Auth policy that only allows access through the web interface';