Logic App - Access Policies are missing
Comment corriger le déploiement d'une Logic App

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
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






