CREATE AUTHENTICATION POLICY¶
Crée une nouvelle politique d’authentification dans le schéma actuel ou spécifié ou remplace une politique d’authentification existante. Vous pouvez utiliser des politiques d’authentification pour définir des contrôles d’authentification et des exigences de sécurité pour les comptes ou les utilisateurs.
- Voir aussi :
ALTER AUTHENTICATION POLICY, DESCRIBE AUTHENTICATION POLICY, DROP AUTHENTICATION POLICY, SHOW AUTHENTICATION POLICIES
Syntaxe¶
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>' ]
Paramètres requis¶
name
Spécifie l”identificateur d’une politique d’authentification. Si l’identificateur contient des espaces ou des caractères spéciaux, vous devez mettre la chaîne entre guillemets. Les identificateurs entre guillemets sont sensibles à la casse. L’identificateur doit répondre aux exigences d’identificateur.
Paramètres facultatifs¶
CLIENT_TYPES = ( 'string_literal' [ , 'string_literal' , ... ] )
Liste des clients qui peuvent s’authentifier auprès de Snowflake. Si un client tente de se connecter et qu’il ne fait pas partie des
CLIENT_TYPES
valides, la tentative de connexion échoue. Ce paramètre accepte une ou plusieurs des valeurs suivantes :ALL
Autorise tous les clients à s’authentifier.
SNOWFLAKE_UI
Snowsight ou Classic Console, les interfaces Web de Snowflake.
DRIVERS
Les pilotes permettent d’accéder à Snowflake à partir d’applications écrites dans des langages pris en charge. Par exemple, les pilotes Go, JDBC, .NET et Snowpipe Streaming.
Prudence
Si
DRIVERS
n’est pas inclus dans la listeCLIENT_TYPES
, l’ingestion automatisée peut cesser de fonctionner.SNOWSQL
Un client de ligne de commande pour se connecter à Snowflake.
Par défaut :
ALL
.AUTHENTICATION_METHODS = ( 'string_literal' [ , 'string_literal' , ... ] )
Prudence
La restriction par méthode d’authentification peut avoir des conséquences inattendues, telles que le blocage des connexions de pilotes ou des intégrations de tiers.
Liste des méthodes d’authentification autorisées lors de la connexion. Ce paramètre accepte une ou plusieurs des valeurs suivantes :
ALL
Autorise toutes les méthodes d’authentification.
SAML
Permet des intégrations de sécurité SAML2. Si
SAML
est présent, une option de connexion SSO apparaît. SiSAML
n’est pas présent, l’option de connexion SSO n’apparaît pas.PASSWORD
Permet aux utilisateurs de s’authentifier à l’aide d’un nom d’utilisateur et d’un mot de passe.
OAUTH
Autorise External OAuth.
KEYPAIR
Par défaut :
ALL
.SECURITY_INTEGRATIONS = ( 'string_literal' [ , 'string_literal' , ... ] )
Liste des intégrations de sécurité auxquelles la politique d’authentification est associée. Ce paramètre n’a aucun effet lorsque
SAML
ouOAUTH
ne figurent pas dans la listeAUTHENTICATION_METHODS
.Toutes les valeurs de la liste
SECURITY_INTEGRATIONS
doivent être compatibles avec les valeurs de la listeAUTHENTICATION_METHODS
. Par exemple, siSECURITY_INTEGRATIONS
contient une intégration de sécurité SAML et queAUTHENTICATION_METHODS
contientOAUTH
, vous ne pouvez pas créer la politique d’authentification.ALL
Affiche toutes les intégrations de sécurité.
Par défaut :
ALL
.COMMENT = 'string_literal'
Spécifie une description de la politique.
Exigences en matière de contrôle d’accès¶
Un rôle utilisé pour exécuter cette commande SQL doit avoir les privilèges suivants définis au minimum ainsi :
Privilège |
Objet |
Remarques |
---|---|---|
CREATE AUTHENTICATION POLICY |
Schéma |
Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed. |
Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.
Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.
Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.
Notes sur l’utilisation¶
Après avoir créé une politique d’authentification, vous devez utiliser la commande ALTER ACCOUNT ou ALTER USER pour la définir sur un compte ou un utilisateur avant que Snowflake n’applique la politique.
Si vous souhaitez mettre à jour une politique d’authentification existante et que vous avez besoin de voir la définition de la politique, exécutez la commande DESCRIBE AUTHENTICATION POLICY ou la fonction GET_DDL.
Les instructions CREATE OR REPLACE <objet> sont atomiques. En d’autres termes, lorsqu’un objet est remplacé, l’ancien objet est supprimé et le nouvel objet est créé dans une seule transaction.
Exemple¶
Créez une politique d’authentification nommée restrict_client_types_policy
qui n’autorise l’accès que via Snowsight ou Classic Console :
CREATE AUTHENTICATION POLICY restrict_client_types_policy
CLIENT_TYPES = ('SNOWFLAKE_UI')
COMMENT = 'Auth policy that only allows access through the web interface';