Bloquer l’utilisation du connecteur dans Azure Logic Apps

S’applique à : Azure Logic Apps (Consommation + Standard)

Si votre organisation n’autorise pas la connexion à des ressources restreintes ou non approuvées à l’aide de leurs connecteurs gérés dans Azure Logic Apps, vous pouvez bloquer la possibilité de créer et d’utiliser ces connexions dans les flux de travail d’application logique. Azure Policy permet de définir et d’appliquer des stratégies qui empêchent la création ou l’utilisation de connexions pour les connecteurs à bloquer. Il peut par exemple être utile, pour des raisons de sécurité, de bloquer les connexions à certaines plateformes de réseaux sociaux ou à d’autres services et systèmes.

Cet article montre comment configurer une stratégie qui bloque des connexions spécifiques en utilisant le portail Azure, mais vous pouvez créer des définitions de stratégie d’autres manières. Par exemple, vous pouvez utiliser l’API REST Azure, Azure PowerShell, Azure CLI et des modèles Azure Resource Manager. Pour plus d’informations, consultez Didacticiel : Créer et gérer des stratégies pour assurer la conformité.

Prérequis

Recherche de l’ID de référence du connecteur

Si vous disposez déjà d’une application logique avec la connexion que vous souhaitez bloquer, suivez la procédure pour le Portail Azure. Dans le cas contraire, procédez ainsi :

Document de référence du connecteur

  1. Consultez Connecteurs pour Azure Logic Apps.

  2. Recherchez la page de référence du connecteur à bloquer.

    Par exemple, si vous souhaitez bloquer le connecteur Instagram, qui est déprécié, accédez à cette page :

    https://learn.microsoft.com/connectors/instagram/

  3. À partir de l’URL de la page, copiez et enregistrez l’ID de référence du connecteur à la fin sans la barre oblique (/), par exemple, instagram.

    Plus tard, lorsque vous créerez votre définition de stratégie, vous utiliserez cet ID dans l’instruction de condition de la définition, par exemple :

    "like": "*managedApis/instagram"

Portail Azure

  1. Sur le Portail Azure, recherchez et ouvrez votre workflow d’application logique.

  2. Dans le menu de l’application logique, sélectionnez l’une des options suivantes :

    • Application logique de consommation : sous Outils de développement, sélectionnez Connexions d’API.

    • Application logique standard : sous Workflows, sélectionnez Connexions. Dans le volet Connexions, sélectionnez Connexions d’API si cet élément n’est pas déjà sélectionné.

    1. Dans le volet Connexions d’API, sélectionnez la connexion. Lorsque le volet de connexion s’ouvre, dans le coin supérieur droit, sélectionnez Vue JSON.

    2. Recherchez l’objet api, qui contient une propriété id et une valeur dont le format est le suivant :

      "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region}/managedApis/{connection-name}"

      L’exemple suivant montre la propriété et la valeur id pour une connexion Instagram :

      "id": "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Web/locations/westus/managedApis/instagram"

    3. À partir de la valeur de propriété id, copiez et enregistrez l’ID de référence du connecteur à la fin, par exemple, instagram.

      Plus tard, lorsque vous créerez votre définition de stratégie, vous utiliserez cet ID dans l’instruction de condition de la définition, par exemple :

      "like": "*managedApis/instagram"

Blocage de la création de connexions

Pour bloquer complètement la création d’une connexion dans un workflow d’application logique, procédez ainsi :

  1. Dans la zone de recherche du portail Azure, entrez stratégie, et sélectionnez Stratégie.

    Screenshot showing main Azure portal search box with

  2. Dans le menu Stratégie, sous Création, sélectionnez Définitions. Dans la barre d’outils du volet Définitions, sélectionnez Définition de stratégie.

    Screenshot showing the

  3. Dans le volet Définition de stratégie, indiquez les informations relatives à votre définition de stratégie, en fonction des propriétés décrites dans l’exemple :

    Screenshot showing the policy definition properties.

    Propriété Obligatoire Value Description
    Emplacement de la définition Oui <Azure-subscription-name> Abonnement Azure à utiliser pour la définition de stratégie

    1. Pour trouver votre abonnement, sélectionnez le bouton points de suspension ( ).
    2. Dans la liste Abonnement, recherchez et sélectionnez votre abonnement.
    3. Lorsque vous avez terminé, sélectionnez Sélectionner.

    Nom Oui <nom-définition-stratégie> Nom à utiliser pour la définition de stratégie
    Description Non <nom-définition-stratégie> Description de la définition de stratégie
    Catégorie Oui Logic Apps Nom d’une catégorie existante ou d’une nouvelle catégorie pour la définition de stratégie
    Application de stratégies Oui Activé Ce paramètre spécifie si la définition de stratégie doit être activée ou désactivée lorsque vous enregistrez votre travail.
  4. Sous RÈGLE DE STRATÉGIE, la zone d’édition JSON est préremplies avec un modèle de définition de stratégie. Remplacez ce modèle par votre définition de stratégie en fonction des propriétés décrites dans le tableau ci-dessous et en suivant cette syntaxe :

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "field": "Microsoft.Web/connections/api.id",
             "like": "*managedApis/{connector-name}"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
    Propriété Valeur Description
    mode All Mode déterminant les types de ressources évalués par la stratégie

    Ce scénario affecte à mode la valeur All, qui applique la stratégie aux groupes de ressources Azure, aux abonnements et à tous les types de ressources.

    Pour plus d’informations, consultez Structure de définition de stratégie – Mode.

    if {condition-to-evaluate} Condition déterminant quand appliquer la règle de stratégie

    Dans ce scénario, {condition-to-evaluate} détermine si la valeur api.id de Microsoft.Web/connections/api.id correspond à *managedApis/{connector-name}, qui spécifie une valeur générique (*).

    Pour plus d’informations, consultez Structure de définition de stratégie – Règle de stratégie.

    field Microsoft.Web/connections/api.id Valeur field à comparer à la condition

    Dans ce scénario, field utilise l’alias, Microsoft.Web/connections/api.id, pour accéder à la valeur dans la propriété du connecteur, api.id.

    like *managedApis/{connector-name} Opérateur logique et valeur à utiliser pour comparer la valeur field

    Dans ce scénario, l’opérateur like et le caractère générique (*) font en sorte que la règle fonctionne indépendamment de la région ; la chaîne, *managedApis/{connector-name}, représente à la valeur de correspondance, où {connector-name} est l’ID du connecteur à bloquer.

    Supposons, par exemple, que vous souhaitiez bloquer la création de connexions à des plateformes de réseaux sociaux ou à des bases de données :

    - Twitter : twitter
    - Instagram : instagram
    - Facebook : facebook
    - Pinterest : pinterest
    - SQL Server ou Azure SQL : sql

    Pour rechercher ces ID de connecteur, consultez Recherche de l’ID de référence du connecteur plus haut dans cette rubrique.

    then {effect-to-apply} Effet à appliquer lorsque la condition if est remplie

    Dans ce scénario, {effect-to-apply} consiste à bloquer et à faire échouer une demande ou une opération non conforme à la stratégie.

    Pour plus d’informations, consultez Structure de définition de stratégie – Règle de stratégie.

    effect deny effect consiste à bloquer la demande, à savoir créer la connexion spécifiée

    Pour plus d’informations, consultez Présentation des effets Azure Policy – Refuser.

    Supposons, par exemple, que vous souhaitiez bloquer la création de connexions avec le connecteur Instagram. Vous pouvez utiliser cette définition de stratégie :

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "field": "Microsoft.Web/connections/api.id",
             "like": "*managedApis/instagram"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
    }
    

    La zone RÈGLE DE STRATÉGIE s’affiche de la façon suivante :

    Screenshot showing the

    Pour plusieurs connecteurs, vous pouvez ajouter des conditions supplémentaires, par exemple :

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "anyOf": [
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/instagram"
                },
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/twitter"
                },
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/facebook"
                },
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/pinterest"
                }
             ]
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
  5. Quand vous avez terminé, sélectionnez Enregistrer. Une fois la définition de stratégie enregistrée, Azure Policy génère et ajoute d’autres valeurs de propriété à la définition de stratégie.

  6. Ensuite, pour affecter la définition de stratégie là où vous souhaitez appliquer la stratégie, créez une affectation de stratégie.

Pour plus d’informations sur les définitions de stratégies Azure, consultez ces rubriques :

Bloquer l’association de connexions à des applications logiques

Une connexion créée à l’intérieur d’un workflow d’application logique existe en tant que ressource Azure distincte. Si vous supprimez uniquement le workflow d’application logique, la ressource de connexion n’est pas supprimée automatiquement et subsiste jusqu’à ce qu’elle soit supprimée. Il existe des cas de figure dans lesquels la ressource de connexion existe déjà et d’autres dans lesquels vous devez créer la ressource de connexion pour l’utiliser en dehors d’une application logique. Vous pouvez toujours bloquer la possibilité d’associer la connexion à un autre workflow d’application logique en créant une stratégie qui empêche l’enregistrement des workflows d’application logique qui tentent d’utiliser la connexion restreinte ou non approuvée. Cette stratégie affecte uniquement les workflows d’application logique qui n’utilisent pas déjà la connexion.

  1. Dans la zone de recherche du portail Azure, entrez stratégie, et sélectionnez Stratégie.

    Screenshot showing the Azure portal search box with

  2. Dans le menu Stratégie, sous Création, sélectionnez Définitions. Dans la barre d’outils du volet Définitions, sélectionnez Définition de stratégie.

    Screenshot showing

  3. Sous Définition de stratégie, indiquez les informations relatives à votre définition de stratégie, en fonction des propriétés décrites dans l’exemple d’Instagram :

    Screenshot showing policy definition properties.

    Propriété Obligatoire Value Description
    Emplacement de la définition Oui <Azure-subscription-name> Abonnement Azure à utiliser pour la définition de stratégie

    1. Pour trouver votre abonnement, sélectionnez le bouton points de suspension ( ).
    2. Dans la liste Abonnement, recherchez et sélectionnez votre abonnement.
    3. Lorsque vous avez terminé, sélectionnez Sélectionner.

    Nom Oui <nom-définition-stratégie> Nom à utiliser pour la définition de stratégie
    Description Non <nom-définition-stratégie> Description de la définition de stratégie
    Catégorie Oui Logic Apps Nom d’une catégorie existante ou d’une nouvelle catégorie pour la définition de stratégie
    Application de stratégies Oui Activé Ce paramètre spécifie si la définition de stratégie doit être activée ou désactivée lorsque vous enregistrez votre travail.
  4. Sous RÈGLE DE STRATÉGIE, la zone d’édition JSON est préremplies avec un modèle de définition de stratégie. Remplacez ce modèle par votre définition de stratégie en fonction des propriétés décrites dans le tableau ci-dessous et en suivant cette syntaxe :

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "value": "[string(field('Microsoft.Logic/workflows/parameters'))]",
             "contains": "{connector-name}"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
    Propriété Valeur Description
    mode All Mode déterminant les types de ressources évalués par la stratégie

    Ce scénario affecte à mode la valeur All, qui applique la stratégie aux groupes de ressources Azure, aux abonnements et à tous les types de ressources.

    Pour plus d’informations, consultez Structure de définition de stratégie – Mode.

    if {condition-to-evaluate} Condition déterminant quand appliquer la règle de stratégie

    Dans ce scénario, {condition-to-evaluate} détermine si la sortie de chaîne de [string(field('Microsoft.Logic/workflows/parameters'))] contient la chaîne {connector-name}.

    Pour plus d’informations, consultez Structure de définition de stratégie – Règle de stratégie.

    value [string(field('Microsoft.Logic/workflows/parameters'))] Valeur à comparer à la condition

    Dans ce scénario, value est la sortie de chaîne de [string(field('Microsoft.Logic/workflows/parameters'))], qui convertit en chaîne l’objet $connectors de l’objet Microsoft.Logic/workflows/parameters.

    contains {connector-name} Opérateur logique et valeur à utiliser pour la comparaison avec la propriété value

    Dans ce scénario, l’opérateur contains fait en sorte que la règle fonctionne indépendamment de l’endroit où {connector-name} apparaît ; la chaîne {connector-name} est l’ID du connecteur à restreindre ou bloquer.

    Supposons, par exemple, que vous souhaitiez bloquer l’utilisation de connexions à des plateformes de réseaux sociaux ou à des bases de données :

    - Twitter : twitter
    - Instagram : instagram
    - Facebook : facebook
    - Pinterest : pinterest
    - SQL Server ou Azure SQL : sql

    Pour rechercher ces ID de connecteur, consultez Recherche de l’ID de référence du connecteur plus haut dans cette rubrique.

    then {effect-to-apply} Effet à appliquer lorsque la condition if est remplie

    Dans ce scénario, {effect-to-apply} consiste à bloquer et à faire échouer une demande ou une opération non conforme à la stratégie.

    Pour plus d’informations, consultez Structure de définition de stratégie – Règle de stratégie.

    effect deny effect consiste à deny ou à bloquer la demande d’enregistrement d’une application logique qui utilise la connexion spécifiée

    Pour plus d’informations, consultez Présentation des effets Azure Policy – Refuser.

    Supposons, par exemple, que vous souhaitiez bloquer l’enregistrement d’applications logiques qui utilisent des connexions Instagram. Vous pouvez utiliser cette définition de stratégie :

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "value": "[string(field('Microsoft.Logic/workflows/parameters'))]",
             "contains": "instagram"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    

    La zone RÈGLE DE STRATÉGIE s’affiche de la façon suivante :

    Screenshot showing policy definition rule.

  5. Quand vous avez terminé, sélectionnez Enregistrer. Une fois la définition de stratégie enregistrée, Azure Policy génère et ajoute d’autres valeurs de propriété à la définition de stratégie.

  6. Ensuite, pour affecter la définition de stratégie là où vous souhaitez appliquer la stratégie, créez une affectation de stratégie.

Pour plus d’informations sur les définitions de stratégies Azure, consultez ces rubriques :

Création d’affectations de stratégies

Ensuite, vous devez affecter la définition de stratégie là où vous souhaitez appliquer la stratégie, par exemple à un groupe de ressources unique, à plusieurs groupes de ressources, à un locataire Microsoft Entra ou à un abonnement Azure. Dans le cadre de cette tâche, suivez cette procédure pour créer une affectation de stratégie :

  1. Dans la zone de recherche du portail Azure, entrez stratégie, et sélectionnez Stratégie.

    Screenshot showing Azure portal search box with

  2. Dans le menu Stratégie, sous Création, sélectionnez Affectations. Dans la barre d’outils du volet Affectations, sélectionnez Affecter une stratégie.

    Screenshot showing

  3. Dans le volet Attribuer la stratégie, sous Informations de base, indiquez ces informations pour l’affectation de stratégie :

    Propriété Obligatoire Description
    Portée Oui Ressources dans lesquelles vous souhaitez appliquer l’affectation de stratégie

    1. À côté de la zone Étendue, sélectionnez le bouton points de suspension ( ).
    2. Dans la liste Abonnement, sélectionnez l’abonnement Azure.
    3. Dans la liste Groupe de ressources, sélectionnez le groupe de ressources (facultatif).
    4. Lorsque vous avez terminé, sélectionnez Sélectionner.

    Exclusions Non Ressources Azure à exclure de l’affectation de stratégie

    1. À côté de la zone Exclusions, sélectionnez le bouton points de suspension ( ).
    2. Dans la liste Ressource, sélectionnez la ressource >Ajouter à l’étendue sélectionnée.
    3. Quand vous avez terminé, sélectionnez Enregistrer.

    Définition de stratégie Oui Nom de la définition de stratégie que vous souhaitez affecter et appliquer. Cet exemple reprend l’exemple de stratégie Instagram, « Bloquer les connexions Instagram ».

    1. À côté de la zone Définition de stratégie, sélectionnez le bouton points de suspension ( ).
    2. Recherchez et sélectionnez la définition de stratégie à l’aide du filtre Type ou de la zone Rechercher.
    3. Lorsque vous avez terminé, sélectionnez Sélectionner.

    Nom de l’affectation Oui Nom à utiliser pour l’affectation de stratégie, s’il est différent de la définition de stratégie
    ID de l’affectation Oui ID généré automatiquement pour l’affectation de stratégie
    Description Non Description de l’affectation de stratégie
    Application de stratégies Oui Paramètre qui active ou désactive l’affectation de stratégie
    Affecté par Non Nom de la personne qui a créé et appliqué l’affectation de stratégie

    Par exemple, pour affecter la stratégie à un groupe de ressources Azure dans l’exemple Instagram :

    Screenshot showing policy assignment properties.

  4. Quand vous avez terminé, sélectionnez Vérifier + créer.

    Après avoir créé une stratégie, vous devrez peut-être attendre jusqu’à 15 minutes pour qu’elle soit effective. Les modifications peuvent également avoir des effets différés similaires.

  5. Une fois la stratégie appliquée, vous pouvez tester votre stratégie.

Pour plus d’informations, consultez Démarrage rapide : Créer une attribution de stratégie pour identifier les ressources non conformes.

Tester la stratégie

Pour tester votre stratégie, commencez à créer une connexion à l’aide du connecteur maintenant restreint dans le concepteur de workflow. Reprenons l’exemple Instagram. Lorsque vous vous connectez à Instagram, vous recevez cette erreur indiquant que votre application logique n’a pas pu créer la connexion :

Screenshot showing connection failure due to applied policy.

Le message comporte les informations suivantes :

Description Contenu
Raison de l’échec "Resource 'instagram' was disallowed by policy."
Nom de l’attribution "Block Instagram connections"
ID de l’affectation "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/resourceGroups/MyLogicApp-RG/providers/Microsoft.Authorization/policyAssignments/4231890fc3bd4352acb0b673"
ID de définition de stratégie "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Authorization/policyDefinitions/b5ddcfec-1b24-4cac-a353-360846a59f24"

Étapes suivantes