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.
Darüber hinaus unterstützt dieser Befehl die folgenden Varianten:
CREATE OR ALTER AUTHENTICATION POLICY: Erstellt eine Authentifizierungsrichtlinie, wenn sie nicht existiert, oder ändert eine bestehende Authentifizierungsrichtlinie.
- Siehe auch:
ALTER AUTHENTICATION POLICY, DESCRIBE AUTHENTICATION POLICY, DROP AUTHENTICATION POLICY, SHOW AUTHENTICATION POLICIES, CREATE OR ALTER <objekt>
Syntax¶
CREATE [ OR REPLACE ] AUTHENTICATION POLICY [ IF NOT EXISTS ] <name>
[ AUTHENTICATION_METHODS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ CLIENT_TYPES = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ CLIENT_POLICY = ( <client_type> = ( MINIMUM_VERSION = '<version>' ) [ , ... ] ) ]
[ SECURITY_INTEGRATIONS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ MFA_ENROLLMENT = { 'REQUIRED' | 'REQUIRED_PASSWORD_ONLY' } ]
[ MFA_POLICY= ( <list_of_properties> ) ]
[ PAT_POLICY = ( <list_of_properties> ) ]
[ WORKLOAD_IDENTITY_POLICY = ( <list_of_properties> ) ]
[ COMMENT = '<string_literal>' ]
Syntaxvariante¶
CREATE OR ALTER AUTHENTICATION POLICY¶
Erstellt eine neue Authentifizierungsrichtlinie, wenn sie noch nicht existiert, oder ändert eine vorhandene Authentifizierungsrichtlinie in die in der Anweisung definierte. Eine CREATE OR ALTER AUTHENTICATIONPOLICY-Anweisung folgt den Syntaxregeln einer CREATEAUTHENTICATIONPOLICY-Anweisung und hat die gleichen Einschränkungen wie eine ALTER AUTHENTICATION POLICY-Anweisung.
CREATE OR ALTER AUTHENTICATION POLICY <name>
[ AUTHENTICATION_METHODS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ CLIENT_TYPES = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ CLIENT_POLICY = ( <client_type> = ( MINIMUM_VERSION = '<version>' ) [ , ... ] ) ]
[ SECURITY_INTEGRATIONS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ MFA_ENROLLMENT = { 'REQUIRED' | 'REQUIRED_PASSWORD_ONLY' | 'OPTIONAL' } ]
[ MFA_POLICY= ( <list_of_properties> ) ]
[ PAT_POLICY = ( <list_of_properties> ) ]
[ WORKLOAD_IDENTITY_POLICY = ( <list_of_properties> ) ]
[ COMMENT = '<string_literal>' ]
Erforderliche Parameter¶
nameGibt den Bezeichner der Authentifizierungsrichtlinie an.
Darüber hinaus muss der Bezeichner mit einem Buchstaben 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 Informationen dazu finden Sie unter Anforderungen an Bezeichner.
Optionale Parameter¶
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:
ALLAlle Authentifizierungsmethoden sind zugelassen.
SAMLErlaubt SAML2-Sicherheitsintegrationen. Wenn
SAMLvorhanden ist, wird eine SSO-Anmeldeoption angezeigt. WennSAMLnicht vorhanden ist, wird auch keine SSO-Anmeldeoption angezeigt.PASSWORDErmöglicht Benutzern die Authentifizierung mit Benutzername und Kennwort.
OAUTHErlaubt External OAuth.
KEYPAIRErlaubt Schlüsselpaar-Authentifizierung.
PROGRAMMATIC_ACCESS_TOKENErmöglicht Benutzern die Authentifizierung mit einem programmatischen Zugriffstoken.
WORKLOAD_IDENTITYErmöglicht Benutzern die Authentifizierung über Workload Identity Federation.
Standard:
ALL.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 einen der unten aufgeführten gültigen
CLIENT_TYPES-Werte hat, schlägt die Anmeldung fehl.Wenn Sie
MFA_ENROLLMENTaufREQUIREDsetzen, müssen SieSNOWFLAKE_UIin die ListeCLIENT_TYPESaufnehmen, damit sich Benutzer für die MFA registrieren können.Wenn Sie
SNOWFLAKE_UIvon der ListeCLIENT_TYPESausschließen möchten, müssen SieMFA_ENROLLMENTaufOPTIONALsetzen.The
CLIENT_TYPESproperty 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. Notably, it does not restrict access to the Snowflake REST APIs.Dieser Parameter kann einen oder mehrere der folgenden Werte annehmen:
ALLAllen Clients wird erlaubt, sich zu authentifizieren.
SNOWFLAKE_UISnowsight oder Classic Console, die Snowflake-Weboberfläche.
Vorsicht
If
SNOWFLAKE_UIis not included in theCLIENT_TYPESlist whileMFA_ENROLLMENTis set toREQUIRED, orMFA_ENROLLMENTis unspecified, MFA enrollment doesn’t work.DRIVERSTreiber 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
DRIVERSnicht in derCLIENT_TYPES-Liste enthalten ist, funktioniert die automatische Erfassung möglicherweise nicht.SNOWFLAKE_CLIEin Befehlszeilenclient für die Verbindung mit Snowflake und für die Verwaltung von entwicklerzentrierten Workloads und SQL Operationen.
SNOWSQLEin Befehlszeilenclient zur Verbindung mit Snowflake.
Standard:
ALL.
CLIENT_POLICY = client_type = ( MINIMUM_VERSION = 'version' )Specifies a policy within the authentication policy that sets the minimum version allowed for each specified client type.
If CLIENT_TYPES is empty, contains
ALL, or containsDRIVERS, the CLIENT_POLICY parameter accepts one or more of the following driver clients (and a specific version string). For any driver client that is not specified, the policy implicitly allows any version of that client.If CLIENT_TYPES contains another value, such as
SNOWFLAKE_CLI, and does not also containDRIVERS, specifying any of the following client types results in an error. You can’t create (or alter) an authentication policy such that the CLIENT_TYPES and CLIENT_POLICY parameters aren’t compatible.client_typeOne or more valid client type values. This is a different set of values from those that the CLIENT_TYPES parameter accepts. Do not use single quotes for these values.
JDBC_DRIVER(Snowflake JDBC Driver)ODBC_DRIVER(Snowflake ODBC Driver)PYTHON_DRIVER(Snowflake Python Driver)JAVASCRIPT_DRIVER(Snowflake Javascript Driver)C_DRIVER(Libsnowflakeclient C Driver)GO_DRIVER(Snowflake Go Driver)PHP_DRIVER(Snowflake PHP PDO Driver)DOTNET_DRIVER(Snowflake .NET Driver)SQL_API(SQL API)SNOWPIPE_STREAMING_CLIENT_SDK(Snowpipe Streaming Client SDK)PY_CORE(Snowflake Python Core Driver)SPROC_PYTHON(Snowflake Python Stored Procedure)PYTHON_SNOWPARK(Snowflake Python Snowpark Driver)SQL_ALCHEMY(Snowflake SQLAlchemy)SNOWPARK(Snowpark)SNOWFLAKE_CLIENT(Snowflake Client SDK)
'version'The minimum accepted version for each specified client type: a sequence of three digits delimited by periods and enclosed by single quotation marks. For example:
'1.0.0'or'3.14.1'. Authentication attempts with lower client versions are blocked when this policy is in effect for an account or a user.
The CLIENT_POLICY property of an authentication policy is a best-effort method to block user logins based on specific client versions. It should not be used as the sole control to establish a security boundary.
SECURITY_INTEGRATIONS = ( 'string_literal' [ , 'string_literal' , ... ] )Eine Liste von Sicherheitsintegrationen, mit denen die Authentifizierungsrichtlinie verknüpft ist. Dieser Parameter hat keine Auswirkungen, wenn
SAMLoderOAUTHnicht in derAUTHENTICATION_METHODS-Liste enthalten sind.Alle Werte in der Liste
SECURITY_INTEGRATIONSmüssen mit den Werten in der ListeAUTHENTICATION_METHODSkompatibel sein. Wenn beispielweiseSECURITY_INTEGRATIONSeine SAML-Sicherheitsintegration enthält undAUTHENTICATION_METHODSenthältOAUTH, können Sie die Authentifizierungsrichtlinie nicht erstellen.ALLAlle Sicherheitsintegrationen sind erlaubt.
Standard:
ALL.MFA_ENROLLMENT = { 'REQUIRED' | 'REQUIRED_PASSWORD_ONLY' | 'OPTIONAL' }Determines whether a user must enroll in multi-factor authentication. If this value is used, then the
CLIENT_TYPESparameter must includeSNOWFLAKE_UI, because Snowsight is the only place users can enroll in multi-factor authentication (MFA).It’s possible for the value of the
MFA_ENROLLMENTparameter to beREQUIRED_SNOWFLAKE_UI_PASSWORD_ONLY. This value is part of Snowflake’s gradual deprecation of single-factor passwords, and cannot be set directly. If you run a DESCRIBE AUTHENTICATION POLICY command andMFA_ENROLLMENT = 'REQUIRED_SNOWFLAKE_UI_PASSWORD_ONLY, then password users must enroll in MFA if they are using Snowsight.REQUIREDHuman users who are using password or single-sign on (SSO) authentication must enroll in MFA.
REQUIRED_PASSWORD_ONLYAll human users who are using password authentication must enroll in MFA, regardless of the client they are using. Users using SSO authentication are not required to enroll.
OPTIONALRetained for backwards compatibility only.
Standard:
OPTIONAL. Aus Gründen der Abwärtskompatibilität können Sie eine Authentifizierungsrichtlinie erstellen, ohne einenMFA_ENROLLMENT-Wert anzugeben, aber der tatsächliche Wert, der erzwungen wird, ist nichtOPTIONALweil Snowflake auf die Anforderung von MFA für alle menschlichen Benutzenden umstellt. Um festzustellen, welcher Wert für eine vorhandene Authentifizierungsrichtlinie erzwungen wird, führen Sie den DESCRIBE AUTHENTICATION POLICY-Befehl aus.
MFA_POLICY= ( list_of_properties )Specifies the policies that affect how multi-factor authentication (MFA) is enforced. Set this to a space-delimited list of one or more of the following properties and values:
ALLOWED_METHODS = ( { 'ALL' | 'PASSKEY' | 'TOTP' | 'OTP' | 'DUO' } [ , { 'PASSKEY' | 'TOTP' | 'OTP' | 'DUO' } ... ] )Specifies the multi-factor authentication (MFA) methods that users can use as a second factor of authentication. You can specify more than one method as a comma-delimited list.
ALLBenutzer können einen Passkey, eine Authentifikator-App oder Duo als zweiten Faktor für die Authentifizierung verwenden.
PASSKEYBenutzer können einen Passkey als zweiten Authentifizierungsfaktor verwenden.
TOTPBenutzer können eine Authentifikator-App als zweiten Faktor für die Authentifizierung verwenden.
OTPUser can use a one-time passcode as their second factor of authentication. For more information, see Einrichten von Administratoren für den Zugang zu Break Glass.
DUOBenutzer können Duo als ihren zweiten Faktor für die Authentifizierung verwenden.
Standard:
ALL.ENFORCE_MFA_ON_EXTERNAL_AUTHENTICATION = { 'ALL' | 'NONE' }Specifies whether multi-factor authentication (MFA) is required when users authenticate with single sign-on (SSO). To require MFA, specify
ALL.Default:
NONE
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_daysGibt die Standardablaufzeit (in Tagen) für ein programmgesteuertes Zugriffstoken an. Sie können einen Wert von 1 bis zur maximalen Ablaufzeit angeben (die Sie durch Einstellen von MAX_EXPIRY_IN_DAYS festlegen können).
Die Standard-Ablaufzeit beträgt 15 Tage.
Weitere Informationen dazu finden Sie unter Festlegen der Standardablaufzeit.
MAX_EXPIRY_IN_DAYS = number_of_daysGibt die maximale Anzahl von Tagen an, die für die Ablaufzeit eines programmgesteuerten Zugriffstokens festgelegt werden können. Sie können einen Wert zwischen der Standard-Ablaufzeit (die Sie durch Setzen von DEFAULT_EXPIRY_IN_DAYS festlegen können) und 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_tokenund 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_tokenfehl, 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_REQUIREDDer 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_ENFORCEDDer 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 );
WORKLOAD_IDENTITY_POLICY = ( list_of_properties )Gibt die Richtlinien an für Workload Identity Federation. Setzen Sie dies auf eine durch Leerzeichen getrennte Liste, die eine oder mehrere der folgenden Eigenschaften und Werte enthält:
ALLOWED_PROVIDERS = ( { ALL | AWS | AZURE | GCP | OIDC } [ , { AWS | AZURE | GCP | OIDC } ... ] )Gibt die Workload-Identitätsanbieter an, die von der Authentifizierungsrichtlinie bei der Workload-Identitätsauthentifizierung zugelassen werden. Wenn dieser Parameter weggelassen wird, sind alle Workload-Identitätsanbieter erlaubt.
ALLBenutzer können sich bei jedem unterstützten und konfigurierten Workload-Identitätsanbieter authentifizieren.
AWSBenutzer können sich mit einer AWS IAM Rolle oder Benutzer authentifizieren.
AZUREBenutzer können sich mit einem Azure Entra ID-Zugriffstoken authentifizieren.
GCPBenutzer können sich mit einer von Google signierten ID-Token authentifizieren.
OIDCBenutzer können sich mit einer ID-Token von einem konfigurierten OIDC-Anbieter authentifizieren.
ALLOWED_AWS_ACCOUNTS = ( 'string_literal' [ , 'string_literal' , ... ] )Gibt die Liste der AWS Konto IDs an, die von der Authentifizierungsrichtlinie bei der Authentifizierung der Workload-Identität vom Typ
AWSzugelassen werden.Standardmäßig, wenn ein Snowflake-Dienstbenutzer eine
WORKLOAD_IDENTITYvom Typ `AWS`hat, dann kann ARN auf jedes AWS-Konto verweisen. Wenn dieser Parameter gesetzt ist, dann dürfen sich nur ARNs von den angegebenen AWS-Konto IDs authentifizieren.Jedes Element muss eine 12-stellige Zeichenfolge sein, die die AWS Konto ID darstellt.
Weitere Informationen dazu finden Sie unter Ansicht AWS-Kontobezeichner
ALLOWED_AZURE_ISSUERS = ( 'string_literal' [ , 'string_literal' , ... ] )Gibt die Liste von Azure Entra ID-Ausstellern an, die von der Authentifizierungsrichtlinie bei der Authentifizierung der Workload-Identität vom Typ
AZUREzugelassen werden.Standardmäßig, wenn ein Snowflake-Dienstbenutzer eine
WORKLOAD_IDENTITYvom TypAZUREhat, dann kann der Aussteller ein beliebiger Entra ID Mandant sein. Wenn dieser Parameter gesetzt ist, dürfen sich nur Azure-Token der angegebenen Aussteller authentifizieren.Jedes Element muss eine gültige Autorisierungs-URL mit folgendem Format sein:
https://login.microsoftonline.com/tenantId/v2.0
ALLOWED_OIDC_ISSUERS = ( 'string_literal' [ , 'string_literal' , ... ] )Gibt die Liste der OIDC-Aussteller an, die von der Authentifizierungsrichtlinie bei der Authentifizierung der Workload-Identität vom Typ
OIDCzugelassen werden.Standardmäßig, wenn ein Snowflake-Dienstbenutzer eine
WORKLOAD_IDENTITYvom Typ `OIDC`hat, dann kann der Aussteller ein beliebiger gültiger OIDC-Aussteller sein. Wenn dieser Parameter gesetzt ist, dann dürfen sich nur Token von den angegebenen OIDC-Ausstellern authentifizieren.Jedes Element muss eine gültige HTTPS URL sein, die Schema-, Host- und optional Portnummer- und Pfadkomponenten, aber keine Abfrage- oder Fragmentkomponenten enthalten. Das URL darf keine Leerzeichen enthalten und darf 2048 Zeichen nicht überschreiten.
Beispiel:
WORKLOAD_IDENTITY_POLICY=( ALLOWED_PROVIDERS = (AWS, AZURE, GCP, OIDC) ALLOWED_AWS_ACCOUNTS = ('123456789012', '210987654321') ALLOWED_AZURE_ISSUERS = ('https://login.microsoftonline.com/8c7832f5-de56-4d9f-ba94-3b2c361abe6b/v2.0', 'https://login.microsoftonline.com/9ebd1ec9-9a78-4429-8f53-5cf870a812d1/v2.0') ALLOWED_OIDC_ISSUERS = ('https://my.custom.oidc.issuer/', 'https://another.custom/oidc/issuer') );
COMMENT = 'string_literal'Gibt eine Beschreibung der Richtlinie an.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
|---|---|---|
CREATE AUTHENTICATION POLICY |
Schema |
|
OWNERSHIP |
Authentifizierungsrichtlinie |
|
USAGE-Berechtigung für die übergeordnete Datenbank und das Schema ist erforderlich, um Operationen an einem beliebigen Objekt in einem Schema durchzuführen. Beachten Sie, dass eine Rolle, die eine beliebige Berechtigung für ein Schema erhalten hat, es dieser Rolle erlaubt, das Schema aufzulösen. Zum Beispiel kann eine Rolle, der die CREATE-Berechtigung für ein Schema gewährt wurde, Objekte in diesem Schema erstellen, ohne auch USAGE für dieses Schema gewährt bekommen zu haben.
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.
Die Klauseln OR REPLACE und IF NOT EXISTS schließen sich gegenseitig aus. Sie können nicht beide in der gleichen Anweisung verwendet werden.
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.
Examples¶
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';
Stellen Sie die mehrstufige Authentifizierung ein und aktualisieren Sie die Liste der Clients:
CREATE OR ALTER AUTHENTICATION POLICY restrict_client_types_policy
MFA_ENROLLMENT = REQUIRED
CLIENT_TYPES = ('SNOWFLAKE_UI', 'SNOWFLAKE_CLI');
Create an authentication policy that includes a client policy. The client policy sets the minimum version for two specific driver clients:
CREATE AUTHENTICATION POLICY two_driver_policy
CLIENT_TYPES = ('DRIVERS')
CLIENT_POLICY = (
GO_DRIVER = (MINIMUM_VERSION = '1.14.1'),
JDBC_DRIVER = (MINIMUM_VERSION = '3.25.0')
)
COMMENT = 'JDBC and Go Driver minimum versions';
The following attempt to create an authentication policy fails because the CLIENT_POLICY parameter specifies drivers that are not permitted by the CLIENT_TYPES parameter:
CREATE AUTHENTICATION POLICY go_driver_policy_test
CLIENT_TYPES = ('SNOWFLAKE_UI', 'SNOWFLAKE_CLI')
CLIENT_POLICY = (GO_DRIVER = (MINIMUM_VERSION = '1.14.1'));
004800 (22023): Authentication policy can not contain CLIENT_POLICY of 'GO_DRIVER' without including 'DRIVERS' in CLIENT_TYPES.
Weitere Beispiele finden Sie unter Authentifizierungsrichtlinien.