Étape 4 : Lier l’intégration API pour Azure au service proxy dans le portail¶
When an external function is called, Snowflake sends an HTTP POST command to the proxy service (i.e. Azure API Management service), which relays the POST to the remote service (i.e. Azure Function). A service principal in your Azure AD tenant allows Snowflake to authenticate with Azure AD when calling the API Management service in your tenant.
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.
For more information about service principals, see the Microsoft documentation: Applications and service principals.
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.