Aperçu de OAuth Snowflake¶
Snowflake OAuth utilise le service intégré OAuth de Snowflake pour fournir une authentification basée sur OAuth.
Cette rubrique décrit Snowflake OAuth et comment utiliser Snowflake en tant que ressource OAuth et serveur d’autorisation pour accéder aux données Snowflake en toute sécurité.
Snowflake OAuth utilise le service OAuth intégré de Snowflake et prend en charge les applications suivantes :
Jetons d’actualisation à usage unique¶
You can use single-use refresh tokens to mitigate theft or reuse of refresh tokens. For more information, see Jetons d’actualisation à usage unique pour les intégrations de sécurité OAuth de Snowflake
Local applications¶
Snowflake fournit un moyen simplifié de configurer des applications locales (c’est-à-dire des applications de bureau) afin qu’elles utilisent l’OAuth Snowflake pour s’authentifier. L’application peut s’authentifier en définissant une seule option de connexion ; aucune configuration supplémentaire n’est requise. Pour plus d’informations, voir Utilisation de Snowflake OAuth pour les applications locales.
Applications partenaires¶
Pour configurer la prise en charge, reportez-vous à Configurer Snowflake OAuth pour les applications partenaires.
Pour savoir comment utiliser OAuth sans passer par l’Internet public, reportez-vous à Applications partenaires.
Clients personnalisés¶
Snowflake prend en charge les clients personnalisés configurés par votre organisation. Pour configurer la prise en charge, reportez-vous à Configurer Snowflake OAuth pour les clients personnalisés.
Restriction du trafic réseau pour l’OAuth Snowflake¶
Vous pouvez associer une politique réseau avec l’intégration de sécurité de l’OAuth Snowflake afin de restreindre le trafic réseau lorsque le client demande un jeton à Snowflake en tant que serveur d’autorisations. Cette politique réseau régit également le trafic réseau lorsque le client interroge Snowflake en tant que serveur de ressources.
To associate a network policy with the Snowflake OAuth security integration, set the NETWORK_POLICY parameter when creating or updating the integration. For example:
CREATE SECURITY INTEGRATION td_oauth_int2
TYPE = oauth
ENABLED = true
OAUTH_CLIENT = tableau_desktop
OAUTH_REFRESH_TOKEN_VALIDITY = 36000
BLOCKED_ROLES_LIST = ('SYSADMIN');
NETWORK_POLICY = 'allow_private_ip_only';
Une politique réseau associée à l’intégration de sécurité de l’OAuth Snowflake n’affecte pas le trafic réseau entre l’utilisateur et Snowflake en tant que serveur d’autorisations. Lorsque l’utilisateur s’authentifie en utilisant un navigateur, le trafic réseau est limité par une politique réseau associée à l’utilisateur.
Le schéma suivant montre quelle politique réseau régit le trafic réseau du client et de l’utilisateur.
La politique réseau associée à l’utilisateur prévaut. S’il n’existe aucune politique réseau au niveau de l’utilisateur, la politique au niveau du compte prévaut.
La politique réseau associée à l’intégration de sécurité prévaut. S’il n’existe aucune politique réseau au niveau de l’intégration, la politique au niveau du compte prévaut.
Codes d’erreur¶
Reportez-vous au tableau ci-dessous pour les descriptions des codes d’erreur associés à Snowflake OAuth :
Code d’erreur |
Erreur |
Description |
|---|---|---|
390302 |
OAUTH_CONSENT_INVALID |
Problème générant ou validant le consentement pour un utilisateur donné. |
390303 |
OAUTH_ACCESS_TOKEN_INVALID |
Le jeton d’accès fourni utilisé lors de la tentative de création d’une session Snowflake est arrivé à expiration ou n’est pas valide. |
390304 |
OAUTH_AUTHORIZE_INVALID_RESPONSE_TYPE |
Un |
390305 |
OAUTH_AUTHORIZE_INVALID_STATE_LENGTH |
Le paramètre d’état fourni en tant que paramètre du point de terminaison d’autorisation dépasse 2 048 caractères. |
390306 |
OAUTH_AUTHORIZE_INVALID_CLIENT_ID |
L’intégration associée à un identifiant client fourni n’existe pas. |
390307 |
OAUTH_AUTHORIZE_INVALID_REDIRECT_URI |
|
390308 |
OAUTH_AUTHORIZE_INVALID_SCOPE |
Soit la portée demandée n’est pas une portée valide, soit les portées demandées ne peuvent pas être entièrement accordées à l’utilisateur. |
390309 |
OAUTH_USERNAMES_MISMATCH |
L’utilisateur que vous avez essayé d’authentifier diffère de l’utilisateur lié au jeton d’accès. |
390311 |
OAUTH_AUTHORIZE_INVALID_CODE_CHALLENGE_PARAMS |
Le défi de code ou la méthode de défi de code est manquant, non valide, ou non pris en charge. |
De plus, les erreurs suivantes proviennent du RFC et sont renvoyées dans le blob JSON créé lors d’une demande ou d’un échange de jetons infructueux :
Erreur |
Description |
|---|---|
invalid_client |
Une erreur d’authentification du client est survenue. Le client est inconnu, le secret du client ne correspond pas, etc. |
invalid_grant |
L’octroi d’autorisation ou le jeton d’actualisation fourni n’est pas valide, a expiré, a été révoqué, ne correspond pas à l’URI de redirection utilisée dans la demande d’autorisation ou a été émis vers un autre client. |
unsupported_grant_type |
Un type d’octroi fourni actuellement n’est pas pris en charge par Snowflake (« jeton_actualisation » et « code_autorisation » sont les deux seuls types d’octrois pris en charge pour le moment). |
invalid_request |
La requête était mal formée ou n’a pas pu être traitée. |
