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:

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>' ]
Copy

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>' ]
Copy

Erforderliche Parameter

name

Gibt 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:

ALL

Alle Authentifizierungsmethoden sind zugelassen.

SAML

Erlaubt SAML2-Sicherheitsintegrationen. Wenn SAML vorhanden ist, wird eine SSO-Anmeldeoption angezeigt. Wenn SAML 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.

WORKLOAD_IDENTITY

Ermö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_ENROLLMENT auf REQUIRED setzen, müssen Sie SNOWFLAKE_UI in die Liste CLIENT_TYPES aufnehmen, damit sich Benutzer für die MFA registrieren können.

Wenn Sie SNOWFLAKE_UI von der Liste CLIENT_TYPES ausschließen möchten, müssen Sie MFA_ENROLLMENT auf OPTIONAL 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. Notably, it does not restrict access to the Snowflake REST APIs.

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.

Vorsicht

If SNOWFLAKE_UI is not included in the CLIENT_TYPES list while MFA_ENROLLMENT is set to REQUIRED, or MFA_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 der CLIENT_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.

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 contains DRIVERS, 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 contain DRIVERS, 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_type

One 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 SAML oder OAUTH nicht in der AUTHENTICATION_METHODS-Liste enthalten sind.

Alle Werte in der Liste SECURITY_INTEGRATIONS müssen mit den Werten in der Liste AUTHENTICATION_METHODS kompatibel sein. Wenn beispielweise SECURITY_INTEGRATIONS eine SAML-Sicherheitsintegration enthält und AUTHENTICATION_METHODS enthält OAUTH, können Sie die Authentifizierungsrichtlinie nicht erstellen.

ALL

Alle 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_TYPES parameter must include SNOWFLAKE_UI, because Snowsight is the only place users can enroll in multi-factor authentication (MFA).

It’s possible for the value of the MFA_ENROLLMENT parameter to be REQUIRED_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 and MFA_ENROLLMENT = 'REQUIRED_SNOWFLAKE_UI_PASSWORD_ONLY, then password users must enroll in MFA if they are using Snowsight.

REQUIRED

Human users who are using password or single-sign on (SSO) authentication must enroll in MFA.

REQUIRED_PASSWORD_ONLY

All 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.

OPTIONAL

Retained for backwards compatibility only.

Standard: OPTIONAL. Aus Gründen der Abwärtskompatibilität können Sie eine Authentifizierungsrichtlinie erstellen, ohne einen MFA_ENROLLMENT-Wert anzugeben, aber der tatsächliche Wert, der erzwungen wird, ist nicht OPTIONAL weil 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.

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.

OTP

User 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.

DUO

Benutzer 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_days

Gibt 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_days

Gibt 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_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 mit my_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
);
Copy
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.

ALL

Benutzer können sich bei jedem unterstützten und konfigurierten Workload-Identitätsanbieter authentifizieren.

AWS

Benutzer können sich mit einer AWS IAM Rolle oder Benutzer authentifizieren.

AZURE

Benutzer können sich mit einem Azure Entra ID-Zugriffstoken authentifizieren.

GCP

Benutzer können sich mit einer von Google signierten ID-Token authentifizieren.

OIDC

Benutzer 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 AWS zugelassen werden.

Standardmäßig, wenn ein Snowflake-Dienstbenutzer eine WORKLOAD_IDENTITY vom 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 AZURE zugelassen werden.

Standardmäßig, wenn ein Snowflake-Dienstbenutzer eine WORKLOAD_IDENTITY vom Typ AZURE hat, 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 OIDC zugelassen werden.

Standardmäßig, wenn ein Snowflake-Dienstbenutzer eine WORKLOAD_IDENTITY vom 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')
);
Copy
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

  • Um ein temporäres Objekt zu erstellen, das denselben Namen hat wie das bereits im Schema vorhandene Objekt, muss der verwendeten Rolle die Berechtigung OWNERSHIP für das Objekt erteilt worden sein oder die Rolle muss diese Berechtigung geerbt haben.

  • Erforderlich zur Ausführung einer CREATE OR ALTER AUTHENTICATION POLICY-Anweisung für eine bestehende 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';
Copy

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');
Copy

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';
Copy

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'));
Copy
004800 (22023): Authentication policy can not contain CLIENT_POLICY of 'GO_DRIVER' without including 'DRIVERS' in CLIENT_TYPES.

Weitere Beispiele finden Sie unter Authentifizierungsrichtlinien.