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
Un compte et un abonnement Azure. Si vous n’avez pas d’abonnement, créez un compte Azure gratuit.
ID de référence du connecteur à bloquer. Pour plus d’informations, consultez Recherche de l’ID de référence du connecteur.
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
Consultez Connecteurs pour Azure Logic Apps.
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/
À 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
Sur le Portail Azure, recherchez et ouvrez votre workflow d’application logique.
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é.
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.
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"
À 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 :
Dans la zone de recherche du portail Azure, entrez stratégie, et sélectionnez Stratégie.
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.
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 :
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. Sous RÈGLE DE STRATÉGIE, la zone d’édition JSON est préremplie 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 valeurAll
, 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 valeurapi.id
deMicrosoft.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 conditionDans 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 :
- X :
x
- 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 remplieDans 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éePour 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 :
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/x" }, { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/facebook" }, { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/pinterest" } ] }, "then": { "effect": "deny" } }, "parameters": {} }
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.
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 :
- Structure de définition Azure Policy
- Tutoriel : Créer et gérer des stratégies pour assurer la conformité
- Définitions de stratégies intégrées Azure Policy pour Azure Logic Apps
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.
Dans la zone de recherche du portail Azure, entrez stratégie, et sélectionnez Stratégie.
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.
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 :
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. Sous RÈGLE DE STRATÉGIE, la zone d’édition JSON est préremplie 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 valeurAll
, 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’objetMicrosoft.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 :
- X :
x
- 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 remplieDans 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éePour 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 :
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.
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 :
- Structure de définition Azure Policy
- Tutoriel : Créer et gérer des stratégies pour assurer la conformité
- Définitions de stratégies intégrées Azure Policy pour Azure Logic Apps
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 :
Dans la zone de recherche du portail Azure, entrez stratégie, et sélectionnez Stratégie.
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.
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 :
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.
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 :
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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" |
Étapes suivantes
- En savoir plus sur Azure Policy