Étape 4 : Lier l’intégration API pour Azure au service proxy dans le portail¶
Lorsqu’une fonction externe est appelée, Snowflake envoie une commande HTTP POST au service proxy (c’est-à-dire le service Azure API Management), qui relaie la commande POST au service distant (c’est-à-dire Azure Functions). Un principal de service dans votre client Azure AD permet à Snowflake de s’authentifier avec Azure AD lors de l’appel du service Gestion des API dans votre client.
Cette rubrique fournit des instructions pour créer un principal de service afin de lier l’intégration API que vous avez créée à l’étape précédente avec votre service Azure de gestion des API. Les instructions sont les mêmes, que vous utilisiez le portail Azure ou le modèle ARM.
Pour plus d’informations sur les principaux de service, voir la documentation de Microsoft : Application et principaux de service .
Dans ce chapitre :
Étape précédente¶
Obtenir le nom de l’application et l’URL de consentement pour l’intégration API¶
Avant de créer un principal de service, vous avez besoin de quelques informations sur l’intégration de l’API :
Connectez-vous à l’interface Web de Snowflake, si ce n’est pas déjà fait.
Exécutez la commande DESCRIBE INTEGRATION pour l’intégration API que vous avez créée à l’étape précédente :
describe api integration <integration_name>;
À partir des résultats DESCRIBE :
Enregistrez le nom de l’application (de la colonne AZURE_MULTI_TENANT_APP_NAME) dans le champ correspondant de votre feuille de calcul de suivi.
Enregistrez l’URL de consentement (de la colonne AZURE_CONSENT_URL) dans le champ correspondant de votre feuille de calcul de suivi.
L’URL devrait ressembler à ce qui suit :
https://login.microsoftonline.com/<tenant_id>/oauth2/authorize?client_id=<snowflake_application_id>&response_type=code
Accordez à Snowflake l’accès à votre propriété Azure¶
Pour accorder à Snowflake l’accès à votre propriété Azure, vous devez obtenir AZURE_CONSENT_URL que vous avez enregistrée précédemment :
Collez l’URL dans votre navigateur. Lorsque votre navigateur résout cette URL, Azure crée automatiquement un principal de service qui représente Snowflake dans le client.
Notez que vous ne devez créer un principal de service pour Snowflake qu’une seule fois par location. Une fois que l’accès à Snowflake a été attribué, il n’est pas nécessaire de l’attribuer à nouveau. En d’autres termes, vous n’avez pas besoin d’accorder à nouveau l’accès pour chaque nouvelle fonction externe que vous créez pour Azure.
Si Snowflake a déjà obtenu l’accès à votre propriété Azure, vous devriez voir le site Web de Snowflake, qui devrait afficher quelque chose de similaire à : SNOWFLAKE THE CLOUD DATA PLATFORM. Vous pouvez alors sauter les tâches restantes et passer à Étape 5 : créer la fonction externe pour Azure dans Snowflake.
Si Snowflake n’a pas encore obtenu l’accès, vous devriez voir une page Permissions requested Microsoft, et vous devriez continuer avec l’étape suivante.
Cliquez sur le bouton Accept. Cela permet au principal du service Azure créé pour votre compte Snowflake d’obtenir un jeton d’accès sur n’importe quelle ressource à l’intérieur de votre client Azure AD.
À ce stade, vous avez fini de créer un principal de service dans votre client pour représenter Snowflake.
Toutefois, pour renforcer la sécurité, vous devez vous assurer que seuls les clients autorisés peuvent accéder à votre fonction Azure. Les instructions pour contrôler l’accès sont fournies à la dernière étape du processus de création.
Étape suivante¶
Étape 5 : créer la fonction externe pour Azure dans Snowflake