Logic App - Access Policies are missing


Problème
Suite à un déploiement automatiser en IaC d’une Logic App via de l’ARM Template, je me suis trouvé face à un soucis sur les connexions aux services où les statuts étaient dans l’état suivant: Access Policies are missing
En débutant l’analyse, je suis aller chercher le détail dans la vue JSON
et voici une extraction de la configuration plutôt basique de la connexion associée à un service SQL qui me posait problème :
{
"managedApiConnections": {
"sql": {
"api": {
"id": "@parameters('Paramsqlapi')"
},
"authentication": {
"type": "ManagedServiceIdentity"
},
"connection": {
"id": "@parameters('Paramsqlconnection')"
},
"connectionProperties": {
"authentication": {
"audience": "https://database.windows.net/",
"type": "ManagedServiceIdentity"
}
},
"connectionRuntimeUrl": "@parameters('ParamsqlconnectionRuntimeUrl')"
}
}
}
Le connecteur d'API géré demande également que la Logic App ait obtenu les permissions nécessaires pour accéder au connecteur. Cette autorisation est accordée en utilisant des politiques d'accès spécifiques. La configuration de ces politiques peut se faire de différentes manières.
Par exemple, vous pouvez les définir directement via le portail Azure, où vous pourrez ajuster et administrer les permissions en fonction des besoins de votre Logic App. Il est aussi possible de configurer ces politiques d'accès lors de déploiements d'infrastructure, ce qui permet d'intégrer cette étape dans le processus de mise en place de vos ressources. Ainsi, l'accès au connecteur par la Logic App est sécurisé et contrôlé suivant les directives établies dans les politiques d'accès.
C'est à ce moment-là que j'ai réalisé que la ressource de politique d'accès, qui est une ressource enfant de Microsoft.Web/connections
, n'a pas été documentée, ni accessible via l’export du modèle via le portail Azure, ni via le Resource Explorer.
Solution
Voici le détail de la fameuse ressource “accessPolicies
“ à définir:
Parameter | Description |
<connection-name\> | The name for your managed API connection, for example office365 |
<object-ID\> | The object ID for your Microsoft Entra identity, previously saved from your app registration |
<tenant-ID\> | The tenant ID for your Microsoft Entra identity, previously saved from your app registration |
Vous pouvez utiliser ce schéma de modèle ARM dans votre code :
{
"type": "Microsoft.Web/connections/accessPolicies",
"apiVersion": "2016-06-01",
"name": "[concat('<connection-name>'),'/','<object-ID>')]",
"location": "<location>",
"dependsOn": [
"[resourceId('Microsoft.Web/connections', parameters('connection_name'))]"
],
"properties": {
"principal": {
"type": "ActiveDirectory",
"identity": {
"objectId": "<object-ID>",
"tenantId": "<tenant-ID>"
}
}
}
}
Au final, voici la documentation Microsoft qui m’a aidé à trouver la solution à mon problème : https://learn.microsoft.com/en-us/azure/logic-apps/azure-arc-enabled-logic-apps-create-deploy-workflows?tabs=azure-cli#arm-template
Subscribe to my newsletter
Read articles from Antoine LOIZEAU directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Antoine LOIZEAU
Antoine LOIZEAU
Ayant eu de multiples expériences dans le monde du conseil, j'ai pu acquérir une expertise dans la conception et la construction de services de collaboration d'entreprise. Je suis passionné par les technologies Microsoft et surtout Azure. Aujourd'hui je possède une solide expérience en méthodologie de développement et j'ai mené des équipes de développement technique au succès. Je possède également une solide connaissance de l'infrastructure qui fait de moi une ressource efficace pour mettre en œuvre la transformation numérique vers le cloud Microsoft. Je suis un professionnel efficace et honnête qui aime relever les challenges. Aimant partager mes connaissances; je suis à l'aise en tant que Technical Leader et en tant que membre d'une équipe. Mes compétences techniques sont les suivantes: Azure, DevOps, Architecture Applicative, Développement de solution Cloud Native, écosystème Microsoft... et bien d'autres. Pour voir mes certifications Microsoft : https://www.youracclaim.com/users/antoine-loizeau