ALTER AUTHENTICATION POLICY¶
Ändert die Eigenschaften einer Authentifizierungsrichtlinie.
- Siehe auch:
CREATE AUTHENTICATION POLICY, DESCRIBE AUTHENTICATION POLICY, DROP AUTHENTICATION POLICY, SHOW AUTHENTICATION POLICIES
Syntax¶
ALTER AUTHENTICATION POLICY <name> RENAME TO <new_name>
ALTER AUTHENTICATION POLICY [ IF EXISTS ] <name> SET
[ AUTHENTICATION_METHODS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ MFA_AUTHENTICATION_METHODS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ MFA_ENROLLMENT = { REQUIRED | OPTIONAL } ]
[ MFA_POLICY= ( ALLOWED_METHODS = ( { 'ALL' | 'PASSKEY' | 'TOTP' | 'DUO' } [ , { 'PASSKEY' | 'TOTP' | 'DUO' } ... ] ) ) ]
[ CLIENT_TYPES = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ SECURITY_INTEGRATIONS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ PAT_POLICY = ( {list_of_properties} ) ]
[ COMMENT = '<string_literal>' ]
ALTER AUTHENTICATION POLICY [ IF EXISTS ] <name> UNSET
[ CLIENT_TYPES ]
[ AUTHENTICATION_METHODS ]
[ SECURITY_INTEGRATIONS ]
[ MFA_AUTHENTICATION_METHODS ]
[ MFA_ENROLLMENT ]
[ MFA_POLICY ]
[ PAT_POLICY ]
[ COMMENT ]
Parameter¶
name
Gibt den Bezeichner für die zu ändernde Authentifizierungsrichtlinie an.
Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß- und Kleinschreibung zu beachten.
Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.
RENAME TO ...
Gibt einen neuen Namen für eine vorhandene Authentifizierungsrichtlinie an.
SET ...
Gibt eine oder mehrere Eigenschaften an, die für die Authentifizierungsrichtlinie festgelegt werden sollen (getrennt durch Leerzeichen, Kommas oder Neue-Zeile-Zeichen).
AUTHENTICATION_METHODS = ( 'string_literal' [ , 'string_literal' , ... ] )
Ändert die Authentifizierungsmethoden, die bei der Anmeldung erlaubt sind. Dieser Parameter kann einen oder mehrere der folgenden Werte annehmen:
Vorsicht
Eine Einschränkung mittels Authentifizierungsmethode kann unbeabsichtigte Folgen haben, z. B. ein Blockieren von Treiberverbindungen oder von Drittanbieter-Integrationen.
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.
PROGRAMMATIC_ACCESS_TOKEN
Ermöglicht Benutzern die Authentifizierung mit einem programmatischen Zugriffstoken.
Standard:
ALL
.MFA_AUTHENTICATION_METHODS = ( 'string_literal' [ , 'string_literal' , ... ] )
Eine Auflistung von Authentifizierungsmethoden, die eine mehrstufige Authentifizierung (MFA) während der Anmeldung erzwingen. Bei Authentifizierungsmethoden, die nicht in diesem Parameter aufgeführt sind, wird keine mehrstufige Authentifizierung verlangt.
Die folgenden Authentifizierungsmethoden unterstützen MFA:
SAML
PASSWORD
Dieser Parameter kann einen oder mehrere der folgenden Werte annehmen:
SAML
Fordert Benutzer zur MFA auf, wenn sie für MFA registriert sind und sich mit SAML2 Sicherheitsintegrationen authentifizieren.
PASSWORD
Fordert Benutzer zur MFA, wenn sie für MFA registriert sind und sich mit einem Benutzernamen und Kennwort authentifizieren.
Standard:
('PASSWORD', 'SAML')
.MFA_ENROLLMENT = { REQUIRED | OPTIONAL }
Ändert, ob sich ein Benutzer für die mehrstufige Authentifizierung registrieren muss.
REQUIRED
Erzwingt die Registrierung von Benutzer für MFA. Wenn dieser Wert verwendet wird, muss der Parameter
CLIENT_TYPES
SNOWFLAKE_UI
enthalten, da Snowsight der einzige Ort ist, an dem sich Benutzer für die mehrstufige Authentifizierung (MFA) registrieren können.OPTIONAL
Benutzer können wählen, ob sie sich für MFA registrieren möchten.
Standard:
REQUIRED
.MFA_POLICY= ( ALLOWED_METHODS = ( { 'ALL' | 'PASSKEY' | 'TOTP' | 'DUO' } [ , { 'PASSKEY' | 'TOTP' | 'DUO' } ... ] ) )
Gibt die Methoden der mehrstufigen Authentifizierung (MFA) an, die Benutzer als zweiten Faktor für die Authentifizierung verwenden können. Sie können mehr als eine Methode angeben.
ALL
Benutzer können einen Passkey, eine Authentifikator-App oder Duo als zweiten Faktor für die Authentifizierung verwenden.
PASSKEY
Benutzer können einen Passkey als zweiten Authentifizierungsfaktor verwenden.
TOTP
Benutzer können eine Authentifikator-App als zweiten Faktor für die Authentifizierung verwenden.
DUO
Benutzer können Duo als ihren zweiten Faktor für die Authentifizierung verwenden.
CLIENT_TYPES = ( 'string_literal' [ , 'string_literal' , ... ] )
Ändert, welche Clients sich mit Snowflake authentifizieren können.
Wenn ein Client versucht, eine Verbindung herzustellen, und der Client nicht einen der unten aufgeführten gültigen
CLIENT_TYPES
-Werte hat, schlägt die Anmeldung fehl.Wenn Sie
MFA_ENROLLMENT
aufREQUIRED
setzen, müssen SieSNOWFLAKE_UI
in die ListeCLIENT_TYPES
aufnehmen, damit sich Benutzer für die MFA registrieren können.Wenn Sie
SNOWFLAKE_UI
von der ListeCLIENT_TYPES
ausschließen möchten, müssen SieMFA_ENROLLMENT
aufOPTIONAL
setzen.The
CLIENT_TYPES
property of an authentication policy is a best effort method to block user logins based on specific clients. It should not be used as the sole control to establish a security boundary.Diese Eigenschaft 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.
Vorsicht
If
SNOWFLAKE_UI
is not included in theCLIENT_TYPES
list whileMFA_ENROLLMENT
is set toREQUIRED
, orMFA_ENROLLMENT
is unspecified, MFA enrollment doesn’t work.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.SNOWFLAKE_CLI
Ein Befehlszeilenclient für die Verbindung mit Snowflake und für die Verwaltung von entwicklerzentrierten Workloads und SQL Operationen.
SNOWSQL
Ein Befehlszeilenclient zur Verbindung mit Snowflake.
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. WennCLIENT_TYPES
nicht gesetzt ist, kann jeder Client eine Verbindung herstellen.Standard:
ALL
.SECURITY_INTEGRATIONS = ( 'string_literal' [ , 'string_literal' , ... ] )
Ändert die Sicherheitsintegrationen, mit denen die Authentifizierung verbunden 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
.
PAT_POLICY = ( list_of_properties )
Legt die Richtlinien für programmatische Zugriffstoken fest. Setzen Sie dies auf eine durch Leerzeichen getrennte Liste mit einer oder mehreren der folgenden Eigenschaften und Werte:
DEFAULT_EXPIRY_IN_DAYS = number_of_days
Gibt die standardmäßige Ablaufzeit (in Tagen) für ein programmatisches Zugriffstoken an. Sie können einen Wert von 1 bis zur maximalen Zeit angeben (die Sie durch die Einstellung MAX_EXPIRY_IN_DAYSfestlegen können).
Die Standard-Ablaufzeit beträgt 15 Tage.
Weitere Informationen dazu finden Sie unter Festlegen der Standardablaufzeit.
MAX_EXPIRY_IN_DAYS = number_of_days
Gibt die maximale Anzahl von Tagen an, die für die Ablaufzeit eines programmatischen Zugriffstokens festgelegt werden kann. Sie können einen Wert von 1 bis 365 angeben.
Die maximale Ablaufzeit beträgt standardmäßig 365 Tage.
Bemerkung
Wenn es bereits programmatische Zugriffstoken mit Ablaufzeiten gibt, die die neue maximale Ablaufzeit überschreiten, schlägt der Versuch, sich mit diesen Token zu authentifizieren, fehl.
Nehmen wir zum Beispiel an, dass Sie ein programmatisches Zugriffstoken mit dem Namen
my_token
und einer Gültigkeitsdauer von 7 Tagen erstellen. Wenn Sie später die maximale Ablaufzeit für alle Token auf 2 Tage ändern, schlägt die Authentifizierung mitmy_token
fehl, weil die Ablaufzeit des Tokens die neue maximale Ablaufzeit überschreitet.Weitere Informationen dazu finden Sie unter Festlegen der maximalen Ablaufzeit.
NETWORK_POLICY_EVALUATION = { ENFORCED_REQUIRED | ENFORCED_NOT_REQUIRED | NOT_ENFORCED }
Legt fest, wie die Anforderungen der Netzwerkrichtlinie für programmatische Zugriffstoken behandelt werden.
Standardmäßig muss ein Benutzer einer Netzwerkrichtlinie mit einer oder mehreren Netzwerkregeln unterliegen, um programmatische Zugriffstoken zu erzeugen oder zu verwenden:
Dienstbenutzer (mit TYPE=SERVICE) müssen einer Netzwerkrichtlinie unterliegen, um programmatische Zugriffstoken zu erstellen und zu verwenden.
Menschliche Benutzer (mit TYPE=PERSON) müssen einer Netzwerkrichtlinie unterliegen, um programmatische Zugriffstoken zu verwenden.
Um diese Verhaltensweise außer Kraft zu setzen, setzen Sie diese Eigenschaft auf einen der folgenden Werte:
ENFORCED_REQUIRED
(Standard-Verhaltensweise)Der Benutzer muss einer Netzwerkrichtlinie unterliegen, um programmatische Zugriffstoken zu erstellen und zu verwenden.
Wenn der Benutzer einer Netzwerkrichtlinie unterliegt, wird die Netzwerkrichtlinie während der Authentifizierung durchgesetzt.
ENFORCED_NOT_REQUIRED
Der Benutzer muss nicht einer Netzwerkrichtlinie unterliegen, um programmatische Zugriffstoken zu erstellen und zu verwenden.
Wenn der Benutzer einer Netzwerkrichtlinie unterliegt, wird die Netzwerkrichtlinie während der Authentifizierung durchgesetzt.
NOT_ENFORCED
Der Benutzer muss nicht einer Netzwerkrichtlinie unterliegen, um programmatische Zugriffstoken zu erstellen und zu verwenden.
Wenn der Benutzer einer Netzwerkrichtlinie unterliegt, wird die Netzwerkrichtlinie nicht während der Authentifizierung durchgesetzt.
Beispiel:
PAT_POLICY=( DEFAULT_EXPIRY_IN_DAYS=30 MAX_EXPIRY_IN_DAYS=365 NETWORK_POLICY_EVALUATION = ENFORCED_NOT_REQUIRED );
COMMENT = 'string_literal'
Ändert den Kommentar für die Authentifizierungsrichtlinie.
UNSET ...
Gibt die Eigenschaften an, die für Authentifizierungsrichtlinie deaktiviert werden sollen, wodurch sie auf die Standardwerte zurückgesetzt werden.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
OWNERSHIP |
Authentifizierungsrichtlinie |
Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed. |
USAGE-Berechtigung für die übergeordnete Datenbank und das Schema ist erforderlich, um Operationen an einem beliebigen Objekt in einem Schema durchzuführen.
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¶
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.
Beispiele¶
Ändern der Liste der zulässigen Clients in einer Authentifizierungsrichtlinie:
ALTER AUTHENTICATION POLICY restrict_client_types_policy SET CLIENT_TYPES = ('SNOWFLAKE_UI', 'SNOWSQL');