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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1740044177715/5bc4b561-4541-4a39-a5a1-5e679908c439.png align="center")

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 :

```json
{
    "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')"
        }
    }
}
```

<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Les connecteurs API gérés nécessitent plus que le simple détail de connexion tel que représenté ci-dessus pour être correctement intégrés dans la configuration de la Logic App.</div>
</div>

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** |
| --- | --- |
| &lt;*connection-name*\&gt; | The name for your managed API connection, for example `office365` |
| &lt;*object-ID*\&gt; | The object ID for your Microsoft Entra identity, previously saved from your app registration |
| &lt;*tenant-ID*\&gt; | 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 :

```json
{
   "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](https://learn.microsoft.com/en-us/azure/logic-apps/azure-arc-enabled-logic-apps-create-deploy-workflows?tabs=azure-cli#arm-template?wt.mc_id=MVP_358598)
