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 :
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.
Politiques réseau¶
Vous pouvez intégrer une politique réseau dédiée avec Snowflake OAuth uniquement. L’intégration de sécurité External OAuth ne prend pas en charge la définition d’une politique réseau distincte, mais vous pouvez néanmoins utiliser une politique réseau générale qui s’applique à l’ensemble du compte Snowflake.
L’intégration de sécurité OAuth de Snowflake possède un paramètre network_policy
afin que l’intégration OAuth de Snowflake puisse authentifier et autoriser les utilisateurs sans ajouter ces adresses IP pour un accès utilisateur normal.
La configuration d’une politique réseau spécifique à l’intégration OAuth de Snowflake permet à la politique réseau OAuth de Snowflake d’être distincte des autres politiques réseau qui peuvent s’appliquer au compte Snowflake. Par conséquent, la politique réseau OAuth de Snowflake permet l’authentification et l’autorisation des utilisateurs comme prévu.
Une politique réseau appliquée à une intégration OAuth Snowflake est prioritaire sur une politique réseau appliquée à l’ensemble du compte Snowflake, mais elle n’est pas prise en compte par une politique réseau appliquée à un utilisateur.
Important
Si une politique réseau par utilisateur ou compte est définie et que vous utilisez un service qui s’exécute dans un emplacement différent (par exemple, le service Microsoft Power BI), vous ne pourrez pas vous connecter à Snowflake.
Après avoir créé l’intégration de sécurité OAuth de Snowflake, définissez la politique réseau OAuth à l’aide de cette commande :
ALTER SECURITY INTEGRATION <oauth_integration> SET NETWORK_POLICY = <oauth_network_policy>;
Pour annuler la politique réseau OAuth de Snowflake, utilisez cette commande :
ALTER SECURITY INTEGRATION <oauth_integration> UNSET <oauth_network_policy>;
Où :
<oauth_integration>
Spécifie le nom de l’intégration de sécurité OAuth de Snowflake.
<oauth_network_policy>
Spécifie la politique réseau OAuth de Snowflake dans Snowflake.
Pour plus d’informations, reportez-vous à Contrôle du trafic réseau avec des politiques réseau et à ALTER SECURITY INTEGRATION.
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. |