Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Azure Logic Apps (Consommation + Standard)
Configurez une identité managée lorsque vous souhaitez authentifier les connexions à partir de flux de travail d’application logique vers les ressources Azure protégées par Microsoft Entra. Cette identité accède aux ressources protégées pour le compte de votre application logique et supprime la nécessité de stocker et de gérer les informations d’identification, les secrets ou les jetons d’accès. En raison de ce comportement, une identité managée est recommandée pour l’authentification. Azure gère cette identité pour vous aider à sécuriser vos détails d’authentification.
Dans Azure Logic Apps, de nombreux connecteurs prennent en charge les deux types d’identité managée :
- Identité affectée par le système
- Identité définie par l'utilisateur
Ce guide explique comment effectuer les tâches suivantes :
- Configurez l’identité affectée par le système sur votre ressource d’application logique.
- Créez et configurez une identité assignée par l'utilisateur sur votre ressource d'application de logique.
Ce guide fournit des étapes pour le portail Azure et le modèle Azure Resource Manager (modèle ARM). Pour Azure PowerShell, Azure CLI et l’API REST Azure, consultez :
| Outil | Documentation |
|---|---|
| Azure PowerShell |
-
Affecté par le système - Assigné par l'utilisateur |
| Azure CLI |
-
Affecté par le système - Affecté par l’utilisateur |
| API REST Azure |
-
Attribué par le système - Affecté par l’utilisateur |
Pour en savoir plus, consultez :
- Qu’est-ce que les identités managées ?
- Types d’identité managée
- Connecteurs qui prennent en charge les identités managées
- Ressources Azure qui prennent en charge les identités managées
Prérequis
Un compte et un abonnement Azure. Obtenez un compte Azure gratuit.
Vous devez utiliser le même abonnement Azure pour votre ressource d’application logique, votre identité managée et la ressource Azure cible que vous souhaitez accéder.
Ressource d’application logique et flux de travail dans lesquels vous souhaitez utiliser l’identité managée.
Pour en savoir plus, consultez :
Ressource Azure cible à laquelle vous souhaitez accéder.
Autorisations d’administrateur Microsoft Entra.
Plus loin dans ce guide, vous devez attribuer un rôle Azure à l’identité managée avec l’accès requis sur la ressource cible. Pour cette tâche, vous avez besoin d’autorisations qui vous permettent d’attribuer des rôles Azure à des identités dans un locataire Microsoft Entra.
Considérations relatives à l’utilisation d’identités managées
Avant de configurer et d’utiliser une identité managée avec une application logique, passez en revue les considérations suivantes :
Votre ressource d’application logique n’a qu’une seule identité affectée par le système.
Par défaut, les applications logiques standard activent automatiquement l’identité affectée par le système.
Votre ressource d’application logique peut avoir l’identité affectée par le système et une ou plusieurs identités affectées par l’utilisateur activées en même temps.
Votre application logique peut utiliser l’identité affectée par le système ou une identité affectée par l’utilisateur, mais pas les deux en même temps.
Votre application logique ne peut utiliser qu’une seule identité affectée par l’utilisateur à la fois.
Votre ressource d’application logique peut partager la même identité affectée par l’utilisateur sur d’autres ressources d’application logique.
Vous pouvez utiliser une identité managée au niveau des ressources et de la connexion de l’application logique.
Pour les applications logiques standard, l’option de déploiement hybride ne prend pas en charge l’authentification d’identité managée. Au lieu de cela, vous devez créer et utiliser une inscription d’application à la place.
Pour en savoir plus, consultez :
- Limites sur les identités managées pour les applications logiques
- Différences d’environnement de ressources
Connecteurs qui prennent en charge les identités managées
Pour que les opérations de connecteur intégrées et gérées dans Azure Logic Apps prennent en charge l’authentification d’identité managée, elles doivent prendre en charge OAuth avec Microsoft Entra.
Les tableaux suivants montrent des exemples de connecteurs qui prennent en charge l’authentification d’identité managée, en fonction du type d’application logique.
| Type de connecteur | Connecteurs pris en charge |
|---|---|
| Intégré | - Gestion des API Azure - Azure App Services - Azure Functions - HTTP - HTTP + Webhook Remarque : les opérations HTTP peuvent authentifier les connexions aux comptes stockage Azure derrière des pare-feu Azure à l’aide de l’identité affectée par le système. Toutefois, les opérations HTTP ne prennent pas en charge l’identité affectée par l’utilisateur pour authentifier les mêmes connexions. |
| Adresses IP gérées | - Azure App Service - Azure Automation - Stockage Blob Azure - Instance de Conteneur Azure - Azure Cosmos DB - Azure Data Explorer - Azure Data Factory - Azure Data Lake – Azure Digital Twins - Azure Event Grid - Azure Event Hubs - Azure IoT Central V2 - Azure Key Vault – Journaux d’activité Azure Monitor - Files d’attente Azure - Azure Resource Manager - Azure Service Bus - Microsoft Sentinel - Stockage Table Azure - Machine virtuelle Azure - SQL Server |
Pour obtenir une liste plus complète, consultez :
- Types d’authentification pour les déclencheurs et les actions qui prennent en charge l’authentification
- Services Azure qui prennent en charge les identités gérées pour les ressources Azure
Activer l’identité affectée par le système (portail)
En fonction de votre type d’application logique, suivez les étapes correspondantes pour le portail Azure :
Sur une application logique basée sur la consommation, activez manuellement l'identité attribuée par le système.
Dans le portail Azure, ouvrez votre ressource d’application logique Consommation.
Dans la barre latérale de l’application logique, sous Paramètres, sélectionnez Identité.
Dans la page Identité , sous Système affecté, sélectionnez Activé, puis Sélectionnez Enregistrer. Pour confirmer, sélectionnez Oui.
Votre ressource d’application logique peut désormais utiliser l’identité affectée par le système. Cette identité est inscrite auprès de Microsoft Entra ID et est représentée par un ID d’objet.
Propriété Valeur Description ID de l’objet (principal) < identity-resource-ID> GUID (identificateur global unique) qui représente l’identité affectée par le système pour votre application logique dans un locataire Microsoft Entra.
Activer l’identité affectée par le système (modèle ARM)
Pour automatiser la création et le déploiement de ressources d’application logique, utilisez un modèle ARM.
Dans votre modèle, au niveau racine, votre définition de ressource d'application logique nécessite un objet identity avec la propriété type définie sur SystemAssigned, par exemple :
{
"apiVersion": "2016-06-01",
"type": "Microsoft.logic/workflows",
"name": "[variables('logicappName')]",
"location": "[resourceGroup().location]",
"identity": {
"type": "SystemAssigned"
},
"properties": {},
<...>
}
Quand Azure crée votre définition de ressource d’application logique, l’objet identity obtient les propriétés suivantes principalIdtenantId :
"identity": {
"type": "SystemAssigned",
"principalId": "<principal-ID>",
"tenantId": "<Entra-tenant-ID>"
}
| Propriété (JSON) | Valeur | Description |
|---|---|---|
principalId |
< principal-ID> | L'Identificateur global unique (GUID) utilisé par Microsoft Entra pour gérer l'objet principal de service pour votre identité gérée dans le tenant Microsoft Entra. Ce GUID apparaît parfois sous la forme d’un « ID d’objet » ou objectID. |
tenantId |
< Microsoft-Entra-tenant-ID> | Identificateur global unique (GUID) représentant le locataire Microsoft Entra où l’application logique est maintenant membre. À l’intérieur du locataire Microsoft Entra, le principal du service a le même nom que l’instance d’application logique. |
Créer une identité attribuée à l'utilisateur (portail)
Vous devez créer l’identité en tant que ressource Azure distincte avant de pouvoir activer l’identité affectée par l’utilisateur sur une ressource Consommation ou Application logique Standard.
Dans la zone de recherche du portail Azure , entrez
managed identities. Dans la liste des résultats, sélectionnez Identités managées.Dans la barre d’outils de la page Identités managées, sélectionnez Créer.
Entrez les informations d’identité managée, par exemple :
Propriété Obligatoire Valeur Description Abonnement Oui < Nom de l’abonnement Azure> Nom de l’abonnement Azure. Groupe de ressources Oui < nom-groupe-de-ressources-Azure> Le nom du groupe de ressources Azure. Créez un groupe, ou sélectionnez un groupe existant. Cet exemple crée un groupe nommé fabrikam-managed-identities-RG.Région Oui < Région Azure> Région Azure où stocker les informations relatives à votre ressource. Cet exemple utilise West US.Nom Oui < nom-d'identité-assignée-par-l'utilisateur> Nom à donner à votre identité affectée par l’utilisateur. Cet exemple utilise Fabrikam-user-assigned-identity.Étendue d’isolation Non - Aucun (valeur par défaut)
- RégionÉtendue effective de l’identité managée. Lorsque vous avez terminé, sélectionnez Vérifier + créer.
Une fois les informations validées, Azure crée votre identité managée. À présent, vous pouvez ajouter l’identité affectée par l’utilisateur à votre ressource d’application logique.
Ajouter une identité affectée par l’utilisateur à l’application logique (portail)
Après avoir créé l’identité affectée par l’utilisateur, ajoutez l’identité à votre ressource Consommation ou Application logique Standard.
Sur le portail Azure, ouvrez votre ressource d’application logique Consommation.
Dans la barre latérale de l’application logique, sous Paramètres, sélectionnez Identité.
Sur la page Identité, sélectionnez Affectée par l’utilisateur, puis Ajouter.
Dans le volet Ajouter une identité managée affectée par l’utilisateur, effectuez les étapes suivantes :
Dans la liste déroulante Sélectionner un Abonnement, sélectionnez votre abonnement Azure.
Dans la liste des identités managées, sélectionnez l’identité souhaitée, attribuée par l'utilisateur.
Pour filtrer la liste, dans la zone de recherche des identités managées affectées par l’utilisateur , entrez le nom de l’identité ou du groupe de ressources, par exemple :
Lorsque vous avez terminé, sélectionnez Ajouter.
Votre application logique est désormais associée à l’identité affectée par l’utilisateur.
Créer une identité d'utilisateur assignée (modèle ARM)
Pour automatiser la création et le déploiement de ressources d’application logique, utilisez un modèle ARM. Ces modèles prennent en charge les identités affectées par l’utilisateur pour l’authentification.
Dans la section de resources votre modèle, votre définition de ressource d’application logique nécessite les éléments suivants :
- Objet
identityavec latypepropriété définie surUserAssigned. - Objet enfant
userAssignedIdentitiesqui spécifie la ressource et le nom attribués par l’utilisateur.
L’exemple suivant montre une ressource d'application logique Consumption et une définition de flux de travail pour une requête HTTP PUT avec un objet non paramétré identity. La réponse à la demande PUT et à l'opération suivante GET inclut également cet objet identity.
Une ressource d'application logique Consommation peut disposer à la fois de l'identité attribuée par le système et de plusieurs identités attribuées par l'utilisateur.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {<template-parameters>},
"resources": [
{
"apiVersion": "2016-06-01",
"type": "Microsoft.logic/workflows",
"name": "[variables('logicappName')]",
"location": "[resourceGroup().location]",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/<Azure-subscription-ID>/resourceGroups/<Azure-resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-identity-name>": {}
}
},
"properties": {
"definition": {<logic-app-workflow-definition>}
},
"parameters": {},
"dependsOn": []
},
],
"outputs": {}
}
Si votre modèle inclut la définition de ressource de l’identité managée, vous pouvez paramétrer l’objet identity . L’exemple suivant montre comment l’objet userAssignedIdentities enfant fait référence à une userAssignedIdentityName variable que vous définissez dans la section de variables votre modèle. Cette variable référence l’ID de ressource de l’identité affectée par l’utilisateur.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"Template_LogicAppName": {
"type": "string"
},
"Template_UserAssignedIdentityName": {
"type": "securestring"
}
},
"variables": {
"logicAppName": "[parameters('Template_LogicAppName')]",
"userAssignedIdentityName": "[parameters('Template_UserAssignedIdentityName')]"
},
"resources": [
{
"apiVersion": "2016-06-01",
"type": "Microsoft.logic/workflows",
"name": "[variables('logicAppName')]",
"location": "[resourceGroup().location]",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', variables('userAssignedIdentityName'))]": {}
}
},
"properties": {
"definition": {<logic-app-workflow-definition>}
},
"parameters": {},
"dependsOn": [
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', variables('userAssignedIdentityName'))]"
]
},
{
"apiVersion": "2018-11-30",
"type": "Microsoft.ManagedIdentity/userAssignedIdentities",
"name": "[parameters('Template_UserAssignedIdentityName')]",
"location": "[resourceGroup().location]",
"properties": {}
}
]
}
Lorsque le modèle crée votre définition de ressource d’application logique, l’objet identity inclut les propriétés suivantes principalId :clientId
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"<resource-ID>": {
"principalId": "<principal-ID>",
"clientId": "<client-ID>"
}
}
}
| Propriété (JSON) | Valeur | Description |
|---|---|---|
principalId |
< principal-ID> | Identificateur global unique (GUID) utilisé par Microsoft Entra pour administrer l’objet principal du service pour votre identité managée dans le locataire Microsoft Entra. Ce GUID apparaît parfois sous la forme d’un « ID d’objet » ou objectID. Dans le tenant Microsoft Entra, le principal de service a le même nom que l’instance de Logic App. |
clientId |
< client-ID> | Identificateur global unique (GUID) qui représente l’identité de l’application logique et spécifie l’identité à utiliser pendant les appels d’exécution. |
Pour plus d’informations sur les modèles Azure Resource Manager et les identités managées pour Azure Functions, consultez le modèle ARM - Azure Functions.
Accorder l’accès aux ressources à une identité
Avant de pouvoir utiliser l’identité managée pour l’authentification, vous devez accorder l’accès d’identité à la ressource Azure protégée par la cible. La façon dont vous configurez l’accès peut différer en fonction de la ressource cible, par exemple :
Contrôle d’accès en fonction du rôle Azure (RBAC)
Certaines ressources Azure, telles que les comptes de stockage, nécessitent que vous utilisiez RBAC pour attribuer un rôle sur la ressource cible avec les autorisations nécessaires pour votre identité.
Par exemple, pour accorder un accès d’identité managée à un compte de stockage d’objets blob dans Azure, vous devez attribuer le rôle Azure nécessaire sur la ressource du compte de stockage à votre identité.
Cette section montre comment attribuer un rôle à l’aide du portail Azure et du modèle Azure Resource Manager (modèle ARM).
Pour Azure PowerShell, Azure CLI et l’API REST Azure, consultez :
Outil Documentation Azure PowerShell Ajouter une attribution de rôle Azure CLI Ajouter une attribution de rôle API REST Azure Ajouter une attribution de rôle Stratégie d’accès
D’autres ressources Azure, telles que les coffres de clés, vous permettent également de créer une stratégie d’accès sur la ressource cible avec les autorisations nécessaires pour votre identité.
Par exemple, vous pouvez créer une stratégie d’accès sur la ressource key vault pour attribuer les autorisations nécessaires pour votre identité managée.
Cette section montre comment créer une stratégie d’accès à l’aide du portail Azure.
Pour les modèles Resource Manager, Azure PowerShell et Azure CLI, consultez :
Outil Documentation Modèle Azure Resource Manager (modèle ARM) Définition de la ressource de stratégie d’accès Key Vault Azure PowerShell Attribuer une stratégie d’accès Key Vault Azure CLI Attribuer une stratégie d’accès Key Vault
Accès des identités gérées aux ressources de haut niveau
Si une identité managée a accès à une ressource dans le même abonnement, l’identité peut accéder uniquement à cette ressource, et non à d’autres ressources de la hiérarchie parente de cette ressource. Dans le concepteur de flux de travail, certains déclencheurs et actions vous obligent à sélectionner d’abord un abonnement ou un groupe de ressources avant de pouvoir sélectionner la ressource cible. Si l’identité n’a pas accès à ces ressources de niveau supérieur, le concepteur n’affiche pas la ressource cible.
Pour résoudre ce problème, accordez l'accès à l'identité pour chaque ressource de niveau supérieur que vous devez sélectionner en premier.
Dans d’autres cas, l’identité doit également accéder à la ressource où vous avez activé l’identité. Par exemple, supposons que vous ayez une action dans le flux de travail qui met à jour les paramètres de l'application logique parente de ce flux de travail. Si l'action utilise une identité managée pour accéder à ces paramètres, donnez l'accès à l'application logique parente à cette identité.
Attribuer un accès en fonction du rôle à une identité managée (portail)
Pour les ressources Azure qui vous obligent à attribuer un rôle pour votre identité managée, procédez comme suit :
Dans le portail Azure, ouvrez la ressource où l’identité a besoin d’un accès.
Cet exemple utilise un compte de stockage comme ressource Azure cible.
Dans la barre latérale des ressources, sélectionnez Contrôle d’accès (IAM) .
Dans la barre d’outils de la page Contrôle d’accès (IAM), sélectionnez Ajouter une>attribution de rôle.
Remarque
Si vous ne pouvez pas sélectionner Ajouter une attribution de rôle, vous n’avez pas les autorisations nécessaires pour attribuer des rôles. Vous avez besoin des autorisations d’administrateur Microsoft Entra pour pouvoir attribuer des rôles à des identités managées.
Pour affecter le rôle requis à votre identité managée, procédez comme suit :
Sous l’onglet Rôle , recherchez et sélectionnez le rôle intégré Microsoft Entra qui donne à votre identité l’accès requis à la ressource actuelle, puis sélectionnez Suivant.
Cet exemple sélectionne le rôle nommé Contributeur aux données blob du stockage. Ce rôle donne un accès en écriture au contenu de blob dans un conteneur de stockage Azure.
Pour plus d’informations, consultez Rôles d'accès au contenu de blob dans un conteneur de stockage Azure.
Sous l’onglet Membres , procédez comme suit pour sélectionner l’identité managée :
Pour Attribuer l’accès à, sélectionnez Identité managée.
Pour Ajouter des membres, sélectionnez + Sélectionner des membres.
Dans le volet Sélectionner des identités managées , sélectionnez votre abonnement Azure.
En fonction de votre identité managée, sélectionnez le type d’identité managée, puis sélectionnez votre identité managée.
Type d'identité managée Description Identité managée affectée par l’utilisateur Affichez et sélectionnez une identité managée attribuée par l'utilisateur activée sur n'importe quelle ressource Azure. Toutes les identités managées affectées par le système Affichez et sélectionnez une identité managée affectée par le système activée sur n’importe quelle ressource Azure. Application logique Affichez et sélectionnez une identité managée activée sur les ressources d’application logique uniquement. Lorsque vous avez terminé, sélectionnez Sélectionner.
Pour en savoir plus, consultez :
Authentifiez votre déclencheur ou votre action à l’aide de l’identité managée.
Créer une stratégie d’accès dans le portail Azure
Pour les ressources Azure dans lesquelles vous souhaitez créer une stratégie d’accès pour votre identité managée, procédez comme suit :
Dans le portail Azure, ouvrez la ressource où l’identité a besoin d’un accès.
Cet exemple utilise un coffre de clés comme ressource Azure cible.
Dans la barre latérale des ressources, sélectionnez Stratégies d’accès.
Remarque
Si la ressource n’a pas l’option Stratégies d’accès , attribuez un rôle à la place.
Dans la barre d’outils de la page, sélectionnez Créer pour ouvrir le volet Créer une stratégie d’accès .
Sous l’onglet Autorisations , sélectionnez les autorisations dont l’identité a besoin pour accéder à la ressource cible.
Par exemple, pour utiliser l’identité avec le connecteur managé Azure Key Vault et l’action Lister les secrets, l’identité a besoin des autorisations List. Dans ce scénario, dans la colonne Autorisations secrètes , sélectionnez Liste.
Ensuite, cliquez sur Suivant.
Sous l’onglet Principal , sélectionnez l’identité managée.
Cet exemple sélectionne une identité assignée par l'utilisateur.
Ignorez l’étape Application facultative, sélectionnez Suivant, puis terminez la création de la stratégie d’accès.
Authentifiez votre déclencheur ou votre action à l’aide de l’identité managée.
Authentifier l’accès à l’aide de l’identité managée
Cette section montre comment utiliser une identité managée pour authentifier l’accès à un déclencheur de flux de travail ou une action prenant en charge l’authentification d’identité managée. L’exemple se poursuit à partir de l’endroit où vous configurez l’accès pour une identité managée à l’aide de RBAC et d’un compte de stockage Azure. Bien que votre ressource Azure cible puisse différer, les étapes générales sont principalement similaires.
Important
Si vous avez une fonction Azure dans laquelle vous voulez utiliser l’identité affectée par le système, commencez par activer l’authentification pour les fonctions Azure.
Les étapes suivantes montrent comment utiliser l’identité managée à l’aide du portail Azure. Pour utiliser l’identité managée dans la définition JSON sous-jacente à l’aide de l’éditeur de code, consultez Authentification d’identité managée.
Dans le portail Azure, ouvrez votre ressource d’application logique Consommation.
Ajoutez le déclencheur ou l’action qui prend en charge les identités managées, si ce n’est déjà fait.
Sur le déclencheur ou l’action, procédez comme suit :
Opérations intégrées
Ces étapes utilisent l’action HTTP comme exemple.
Dans la liste des paramètres avancés , sélectionnez le paramètre d’authentification .
Le paramètre d’authentification et la liste des types d’authentification s’affichent, par exemple :
Dans la liste des types d’authentification , sélectionnez Identité managée.
La section Authentification montre maintenant les options suivantes :
Paramètre Description Identité managée Identité managée à utiliser. Public ciblé Apparaît sur des déclencheurs et des actions spécifiques afin de pouvoir définir l’ID de ressource pour la ressource ou le service cible Azure.
Par défaut, le paramètre Audience utilise l’IDhttps://management.azure.com/de ressource, qui est l’ID de ressource pour Azure Resource Manager.Dans la liste des identités managées , sélectionnez l’identité souhaitée, par exemple :
Remarque
Par défaut, l’identité managée affectée par le système est l’option sélectionnée, même si vous n’activez aucune identité managée. Toutefois, pour utiliser correctement l’identité managée, vous devez d’abord activer cette identité sur votre application logique. Les applications logiques de consommation n’activent pas automatiquement l’identité système contrairement aux applications logiques standard.
Pour plus d’informations, consultez l’article Exemple : authentifier le déclencheur ou l’action intégrés avec une identité managée.
Opérations de connecteur managé
Dans le volet Créer une connexion , dans la liste d’authentification , sélectionnez Identité managée, par exemple :
Dans le volet suivant, pour nom de connexion, entrez un nom à utiliser pour la connexion.
En fonction de votre connecteur, choisissez l’une des options suivantes :
Authentification unique : ces connecteurs ne prennent en charge qu’un seul type d’authentification, qui est l’identité managée dans ce cas.
Les étapes suivantes utilisent une action Azure Resource comme exemple :
Dans la liste Identité managée, sélectionnez l’identité managée actuellement activée.
Sélectionnez Créer nouveau.
Authentification multiple : ces connecteurs prennent en charge plusieurs types d’authentification, mais vous ne pouvez en sélectionner et en utiliser qu’un seul à la fois.
Les étapes suivantes utilisent une action Stockage Blob Azure comme exemple :
Dans la liste Type d’authentification, sélectionnez Identité managée Logic Apps.
Sélectionnez Créer nouveau.
Pour plus d’informations, consultez l’article Exemple : authentifier un déclencheur ou une action de connecteur managé avec une identité managée.
Exemple : authentifier le déclencheur ou l’action intégré avec une identité managée
Le déclencheur ou l’action HTTP intégré peut utiliser l’identité affectée par le système que vous activez sur votre application logique. En général, le déclencheur ou l’action HTTP utilise les propriétés suivantes pour spécifier la ressource ou l’entité à laquelle vous souhaitez accéder :
| Propriété | Obligatoire | Description |
|---|---|---|
| Méthode | Oui | Méthode HTTP pour l’opération que vous souhaitez exécuter |
| URI | Oui | URL de point de terminaison pour accéder à la ressource ou entité Azure cibles. La syntaxe de l’URI comprend généralement l’ID de ressource pour la ressource ou le service cible Azure. |
| En-têtes | Non | Toute valeur d’en-tête que vous devez ou souhaitez inclure dans la demande sortante, telle que le type de contenu |
| Requêtes | Non | Tous les paramètres de requête que vous devez ou voulez inclure dans la demande. Par exemple, les paramètres de requête pour une opération spécifique ou pour la version d’API de l’opération que vous souhaitez exécuter. |
| Authentification | Oui | Le type d’authentification à utiliser pour authentifier l’accès à la ressource ou au service cible Azure |
À titre d’exemple, supposons que vous souhaitez exécuter l’opération de capture instantanée d’objet blob sur un blob dans le compte de Stockage Azure où vous avez précédemment configuré l’accès pour votre identité. Toutefois, le connecteur de Stockage Blob Azure ne propose pas cette opération actuellement. Au lieu de cela, vous pouvez l’exécuter à l’aide de l’action HTTP ou d’une autre opération de l’API REST du service BLOB.
Important
Pour accéder aux comptes de stockage Azure derrière des pare-feu en utilisant le connecteur Stockage Blob Azure et des identités managées, veillez à configurer également votre compte de stockage avec l’exception qui autorise l’accès de services Microsoft approuvés.
Pour exécuter l’opération Snapshot Blob, l’action HTTP spécifie les propriétés suivantes :
| Propriété | Obligatoire | Valeur d'exemple | Description |
|---|---|---|---|
| URI | Oui | https://<storage-account-name>/<folder-name>/{name} |
ID de ressource d’un fichier Stockage Blob Azure dans l’environnement Azure Global (public), qui utilise cette syntaxe. |
| Méthode | Oui | PUT |
La méthode HTTP utilisée par l'opération de blob d’instantané. |
| En-têtes | Pour Stockage Azure | x-ms-blob-type = BlockBlob x-ms-version = 2024-05-05 x-ms-date = formatDateTime(utcNow(),'r') |
Les valeurs d’en-tête x-ms-blob-type, x-ms-version et x-ms-date sont requises pour les opérations du service Stockage Azure. Important : Dans les requêtes de déclencheur et d’action HTTP émises pour le stockage Azure, l’en-tête requiert la présence de la x-ms-version propriété et la version de l’API correspondant à l’opération que vous souhaitez exécuter. La x-ms-date valeur doit être la date actuelle. Dans le cas contraire, votre workflow échoue avec une erreur 403 FORBIDDEN. Pour obtenir la date actuelle au format requis, vous pouvez utiliser l’expression dans l’exemple de valeur. Pour plus d’informations, consultez : - En-têtes de demande – Capture instantanée d’objet blob - Contrôle de version pour les services Stockage Azure |
| Requêtes | Uniquement pour l’opération de capture instantanée de blob | comp = snapshot |
Nom et valeur du paramètre de requête pour l’opération. |
Dans le concepteur de flux de travail, ajoutez les déclencheurs souhaités, puis ajoutez l’action HTTP.
L’exemple suivant montre un exemple d’action HTTP avec toutes les valeurs de propriété décrites précédemment à utiliser pour l’opération d’objet blob d’instantané :
Dans l’action HTTP , dans la liste des paramètres avancés , sélectionnez Authentification.
La section Authentification s’affiche dans votre action HTTP .
Dans la liste des types d’authentification , sélectionnez Identité managée.
Dans la liste des identités managées , sélectionnez les options disponibles en fonction de votre scénario.
Si vous configurez l’identité affectée par le système, sélectionnez Identité managée affectée par le système.
Si vous configurez une identité affectée par l’utilisateur, sélectionnez cette identité.
Cet exemple se poursuit avec l’identité managée affectée par le système.
Certains déclencheurs et actions affichent le paramètre Audience afin de pouvoir entrer l’ID de ressource pour la ressource ou le service Azure cible.
Par exemple, pour authentifier l’accès à une ressource Key Vault dans le cloud Azure global, définissez le paramètre Audiencesur exactement l’ID de ressource suivant :
https://vault.azure.netSinon, par défaut, le paramètre Audience utilise l’ID
https://management.azure.com/de ressource, qui est l’ID de ressource pour Azure Resource Manager.Important
L’ID de ressource cible doit correspondre exactement à la valeur attendue par Microsoft Entra ID. Sinon, vous pouvez obtenir une erreur de requête incorrecte 400 ou une erreur 401 non autorisée . Si l’ID de ressource inclut des barres obliques de fin, veuillez les inclure. Si ce n’est pas le cas, ne les incluez pas.
Par exemple, l’ID de ressource pour tous les comptes de Stockage Blob Azure requiert une barre oblique finale. Toutefois, l’ID de ressource pour un compte de stockage spécifique ne requiert pas de barre oblique finale. Vérifiez les ID de ressources des services Azure qui prennent en charge Microsoft Entra ID.
L’exemple suivant définit le paramètre Audience sur
https://storage.azure.com/. Cette valeur signifie que les jetons d’accès pour l’authentification sont valides pour tous les comptes de stockage. Pour un compte de stockage spécifique, spécifiez l’URL du service racine.https://<your-storage-account>.blob.core.windows.netPour en savoir plus, consultez :
Continuez à générer le flux de travail en fonction de votre scénario.
Exemple : Authentifier un déclencheur ou une action de connecteur managé à l’aide d’une identité managée
Le connecteur managé Azure Resource Manager a une action nommée Lire une ressource qui peut utiliser l’identité managée que vous activez sur votre ressource d’application logique. Cet exemple montre comment utiliser l’identité managée affectée par le système avec un connecteur managé.
Dans le concepteur de flux de travail, ajoutez l’action Azure Resource Manager nommée Lire une ressource.
Dans le volet Créer une connexion , dans la liste d’authentification , sélectionnez Identité managée, puis connectez-vous.
Remarque
Dans certains connecteurs, la liste des types d’authentification affiche l’Identité managée Logic Apps plutôt. Si votre scénario affiche cette option, sélectionnez cette option.
Entrez un nom pour la connexion, puis sélectionnez l’identité managée souhaitée.
Si vous avez activé une identité managée affectée par le système, la liste Identité managée sélectionne Identité managée affectée par le système. Si vous avez activé une identité affectée par l’utilisateur à la place, la liste sélectionne automatiquement l’identité affectée par l’utilisateur.
Dans cet exemple, Identité managée affectée par le système est la seule sélection disponible.
Remarque
Si vous n’activez pas l’identité managée lorsque vous essayez de créer ou de modifier la connexion, ou si vous supprimez l’identité managée pendant qu’une connexion avec identité managée existe toujours, vous obtenez une erreur indiquant que vous devez activer l’identité et accorder l’accès à la ressource cible.
Quand vous avez terminé, sélectionnez Créer nouveau.
Après avoir créé la connexion, le concepteur peut extraire toutes les valeurs dynamiques, le contenu ou le schéma à l’aide de l’authentification d’identité managée.
Continuez à générer le flux de travail en fonction de votre scénario.
Connexions avec des identités managées dans les définitions de ressources d’application logique
Un type de connexion authentifié d’identité managée est un type de connexion spécial qui fonctionne uniquement avec une identité managée. Au moment de l’exécution du flux de travail, la connexion utilise l’identité managée activée sur la ressource d’application logique. Azure Logic Apps vérifie si des opérations de connecteur managé dans le flux de travail utilisent l’identité managée et si toutes les autorisations requises existent pour utiliser l’identité managée pour accéder aux ressources cibles correspondantes. Si cette vérification réussit, Azure Logic Apps obtient le jeton Microsoft Entra associé à l’identité managée, utilise cette identité pour authentifier l’accès aux ressources Azure cibles et effectue les opérations correspondantes dans le flux de travail.
Dans une ressource de type application logique de Consommation, vous enregistrez la configuration de connexion dans l'objet de la définition de la ressource parameters. Cet objet contient l’objet $connections qui inclut des pointeurs vers l’ID de ressource de la connexion, ainsi que l’ID de ressource de l’identité managée lorsque vous activez l’identité affectée par l’utilisateur.
L’exemple suivant montre l’objet parameters lorsque l’identité affectée par le système est activée sur une application logique :
"parameters": {
"$connections": {
"value": {
"<action-name>": {
"connectionId": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>",
"connectionName": "<connector-name>",
"connectionProperties": {
"authentication": {
"type": "ManagedServiceIdentity"
}
},
"id": "/subscriptions/<Azure-subscription-ID>/providers/Microsoft.Web/locations/<Azure-region>/managedApis/<managed-connector-type>"
}
}
}
}
L’exemple suivant montre l’objet parameters lorsque l’identité managée affectée par l’utilisateur est activée sur une application logique :
"parameters": {
"$connections": {
"value": {
"<action-name>": {
"connectionId": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>",
"connectionName": "<connector-name>",
"connectionProperties": {
"authentication": {
"type": "ManagedServiceIdentity",
"identity": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/microsoft.managedidentity/userassignedidentities/<managed-identity-name>"
}
},
"id": "/subscriptions/<Azure-subscription-ID>/providers/Microsoft.Web/locations/<Azure-region>/managedApis/<managed-connector-type>"
}
}
}
}
Modèle ARM pour les connexions d’API et les identités managées
Si vous utilisez un modèle ARM pour automatiser le déploiement et que votre flux de travail inclut une connexion d’API créée par un connecteur managé et utilise une identité managée , vous devez effectuer une étape supplémentaire.
Dans un modèle ARM, la définition de ressource de connecteur sous-jacente diffère selon que vous utilisez une ressource consommation ou une ressource d’application logique standard et que le connecteur affiche des options d’authentification unique ou multi-authentification.
Les exemples suivants s’appliquent aux ressources de l’application logique Consommation. Ils montrent comment la définition de ressource de connecteur sous-jacente diffère entre un connecteur d’authentification unique et un connecteur multi-authentification.
Authentification unique
Cet exemple montre la définition de ressource de connexion sous-jacente pour une action de connecteur qui prend en charge un seul type d’authentification et utilise une identité managée dans un flux de travail d’application logique Consommation. La définition inclut les attributs suivants :
La
kindpropriété est définieV1pour un flux de travail de consommation.La propriété
parameterValueTypeest définie surAlternative.
{
"type": "Microsoft.Web/connections",
"apiVersion": "[providers('Microsoft.Web','connections').apiVersions[0]]",
"name": "[variables('connections_<connector-name>_name')]",
"location": "[parameters('location')]",
"kind": "V1",
"properties": {
"alternativeParameterValues": {},
"api": {
"id": "[subscriptionResourceId('Microsoft.Web/locations/managedApis', parameters('location'), '<connector-name>')]"
},
"authenticatedUser": {},
"connectionState": "Enabled",
"customParameterValues": {},
"displayName": "[variables('connections_<connector-name>_name')]",
"parameterValueSet": {},
"parameterValueType": "Alternative"
}
},
Plusieurs méthodes d’authentification
Cet exemple montre la définition de ressource de connexion sous-jacente pour une action de connecteur qui prend en charge plusieurs types d’authentification et utilise une identité managée dans un flux de travail d’application logique Consommation. La définition inclut les attributs suivants :
La propriété
kindest définie surV1dans un flux de travail de consommation.L’objet
parameterValueSetcomprend une propriéténamedéfinie surmanagedIdentityAuth, et une propriétévaluesdéfinie sur un objet vide.
{
"type": "Microsoft.Web/connections",
"apiVersion": "[providers('Microsoft.Web','connections').apiVersions[0]]",
"name": "[variables('connections_<connector-name>_name')]",
"location": "[parameters('location')]",
"kind": "V1",
"properties": {
"alternativeParameterValues": {},
"api": {
"id": "[subscriptionResourceId('Microsoft.Web/locations/managedApis', parameters('location'), '<connector-name>')]"
},
"authenticatedUser": {},
"connectionState": "Enabled",
"customParameterValues": {},
"displayName": "[variables('connections_<connector-name>_name')]",
"parameterValueSet": {
"name": "managedIdentityAuth",
"values": {}
}
}
}
Configurer le contrôle avancé pour l’authentification de connexion d’API
Lorsque votre flux de travail d’application logique standard utilise une connexion API créée par un connecteur managé , Azure Logic Apps utilise deux connexions pour communiquer avec la ressource cible, comme votre compte de messagerie ou votre coffre de clés :
La connexion 1 est configurée avec l’authentification pour le magasin de jetons interne.
La connexion 2 est configurée avec l’authentification pour la ressource cible.
Toutefois, lorsqu’un flux de travail d’application logique Consommation utilise une connexion API, vous ne pouvez pas afficher ou configurer la connexion #1. Si vous utilisez une ressource d’application logique standard, vous bénéficiez d’un meilleur contrôle sur votre application logique et vos flux de travail. Par défaut, la connexion n°1 utilise l’identité affectée par le système.
Si votre scénario nécessite un contrôle plus précis sur l’authentification des connexions d’API, modifiez l’authentification pour la connexion #1 de l’identité affectée par le système par défaut à toute identité affectée par l’utilisateur que vous ajoutez à votre application logique. Cette authentification s’applique à chaque connexion d’API, ce qui vous permet de combiner des identités affectées par le système et affectées par l’utilisateur sur différentes connexions à la même ressource cible.
Dans le fichier connections.json de votre application logique Standard, qui stocke des informations sur chaque connexion d’API, chaque définition de connexion a deux authentication objets, par exemple :
"keyvault": {
"api": {
"id": "/subscriptions/<Azure-subscription-ID>/providers/Microsoft.Web/locations/<Azure-region>/managedApis/keyvault"
},
"authentication": {
"type": "ManagedServiceIdentity",
},
"connection": {
"id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>"
},
"connectionProperties": {
"authentication": {
"audience": "https://vault.azure.net",
"type": "ManagedServiceIdentity"
}
},
"connectionRuntimeUrl": "<connection-runtime-URL>"
}
Le premier
authenticationobjet correspond à la connexion #1.Cet objet décrit l’authentification utilisée pour communiquer avec le magasin de jetons interne. Dans le passé, la
typepropriété a toujours été définieManagedServiceIdentitypour une application qui se déploie sur Azure et n’a pas d’options configurables.Le deuxième
authenticationobjet correspond à la connexion numéro 2.Cet objet décrit l’authentification utilisée pour communiquer avec la ressource cible et peut varier en fonction du type d’authentification que vous sélectionnez pour cette connexion.
Pourquoi modifier l’authentification pour le magasin de jetons ?
Dans certains scénarios, vous pouvez partager et utiliser la même connexion d’API sur plusieurs ressources d’application logique, mais vous ne souhaitez pas ajouter l’identité affectée par le système pour chaque ressource d’application logique à la stratégie d’accès de la ressource cible.
Dans d’autres scénarios, vous ne souhaiterez peut-être pas configurer l’identité affectée par le système sur votre application logique. Pour utiliser une identité affectée par l’utilisateur à la place, vous pouvez remplacer l’authentification par une identité affectée par l’utilisateur et désactiver complètement l’identité affectée par le système.
Modifier l’authentification pour le magasin de jetons
Dans le portail Azure, ouvrez votre ressource d’application logique Standard.
Dans la barre latérale des ressources, sous Flux de travail, sélectionnez Connexions.
Dans le volet Connexions, sélectionnez Vue JSON.
Dans l’éditeur JSON, recherchez l’objet
managedApiConnections. Cet objet contient les connexions d’API sur tous les flux de travail de votre ressource d’application logique.Recherchez la connexion dans laquelle vous souhaitez ajouter une identité managée affectée par l’utilisateur.
Supposons, par exemple, que votre flux de travail dispose d’une connexion Azure Key Vault :
"keyvault": { "api": { "id": "/subscriptions/<Azure-subscription-ID>/providers/Microsoft.Web/locations/<Azure-region>/managedApis/keyvault" }, "authentication": { "type": "ManagedServiceIdentity" }, "connection": { "id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>" }, "connectionProperties": { "authentication": { "audience": "https://vault.azure.net", "type": "ManagedServiceIdentity" } }, "connectionRuntimeUrl": "<connection-runtime-URL>" }Dans la définition de connexion, procédez comme suit :
Recherchez le premier
authenticationobjet. Si aucune propriété n’existeidentitydans cetauthenticationobjet, l’application logique utilise implicitement l’identité affectée par le système.Ajoutez une propriété
identityà l’aide de l’exemple de cette étape.Définissez la valeur de la propriété sur l’ID de ressource pour l’identité affectée par l’utilisateur.
"keyvault": { "api": { "id": "/subscriptions/<Azure-subscription-ID>/providers/Microsoft.Web/locations/<Azure-region>/managedApis/keyvault" }, "authentication": { "type": "ManagedServiceIdentity", // Add "identity" property here "identity": "/subscriptions/<Azure-subscription-ID>/resourcegroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity-resource-ID>" }, "connection": { "id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>" }, "connectionProperties": { "authentication": { "audience": "https://vault.azure.net", "type": "ManagedServiceIdentity" } }, "connectionRuntimeUrl": "<connection-runtime-URL>" }Dans le portail Azure, accédez à la ressource cible et accordez l’accès à l’identité managée affectée par l’utilisateur, en fonction des besoins de la ressource cible.
Par exemple, pour Azure Key Vault, ajoutez l’identité aux stratégies d’accès du coffre de clés. Pour Stockage Blob Azure, affectez le rôle nécessaire pour l’identité au compte de stockage.
Désactiver l’identité managée
Pour arrêter d’utiliser l’identité managée pour l’authentification, procédez comme suit :
Sur votre ressource d’application logique, désactivez l’identité affectée par le système ou supprimez l’identité affectée par l’utilisateur.
Lorsque vous désactivez l’identité managée sur votre ressource d’application logique, vous supprimez la possibilité pour cette identité de demander l’accès aux ressources Azure où l’identité avait accès.
Remarque
Si vous désactivez l’identité affectée par le système, toutes les connexions qui utilisent l’identité dans les flux de travail de l’application logique arrêtent de fonctionner au moment de l’exécution, même si vous réactivez immédiatement l’identité.
Ce comportement se produit car la désactivation de l’identité entraîne la suppression de l’ID d’objet. Chaque fois que vous activez l’identité, Azure génère l’identité avec un ID d’objet différent et unique. Pour résoudre ce problème, recréez les connexions afin qu’elles utilisent l’ID d’objet actuel pour l’identité assignée par le système actuelle.
Évitez de désactiver l’identité affectée par le système autant que possible. Pour supprimer l’accès de l’identité aux ressources Azure, supprimez l’attribution de rôle de l’identité pour la ressource cible. Si vous supprimez votre ressource d’application logique, Azure supprime automatiquement l’identité managée de Microsoft Entra ID.
Les sections suivantes montrent comment désactiver l’identité managée à l’aide du portail Azure et du modèle Azure Resource Manager (modèle ARM). Pour Azure PowerShell, Azure CLI et l’API REST Azure, consultez :
| Outil | Documentation |
|---|---|
| Azure PowerShell | 1. Supprimer une attribution de rôle 2. Supprimer une identité affectée par l’utilisateur |
| Azure CLI | 1. Supprimer une attribution de rôle 2. Supprimer une identité affectée par l’utilisateur |
| API REST Azure | 1. Supprimer une attribution de rôle 2. Supprimer une identité affectée par l’utilisateur |
Pour plus d’informations, consultez Supprimer des attributions de rôles Azure.
Désactiver l’identité managée dans le portail Azure
Pour supprimer l’accès pour l’identité managée, supprimez l’attribution de rôle de l’identité de la ressource cible, puis désactivez l’identité managée.
Supprimer une attribution de rôle
Les étapes suivantes permettent de supprimer l’accès à la ressource cible de l’identité managée :
Dans le portail Azure, accédez à la ressource Azure cible dont vous souhaitez supprimer l’accès à l’identité managée.
Dans la barre latérale des ressources cibles, sélectionnez Contrôle d’accès (IAM) . Sous la barre d’outils, sélectionnez Attributions de rôle.
Dans la liste des rôles, sélectionnez les identités managées que vous souhaitez supprimer. Dans la barre d’outils, sélectionnez Supprimer.
Remarque
Si l’option Supprimer est désactivée, vous n’avez probablement pas les autorisations appropriées. Pour plus d’informations sur les autorisations vous permettant de gérer des rôles pour des ressources, consultez l’article Autorisations des rôles d’administrateur dans Microsoft Entra ID.
Désactiver l’identité managée sur la ressource d’application logique
Dans le portail Azure, ouvrez votre ressource d’application logique.
Dans la barre latérale des ressources de l’application logique, sous Paramètres, sélectionnez Identité, puis suivez les étapes de votre identité :
Sélectionnez Attribué par le système>Désactivé>Enregistrer. Quand Azure vous invite à confirmer l’opération, sélectionnez Oui.
Sélectionnez Affecté(e) par l’utilisateur et l’identité managée, puis sélectionnez Supprimer. Quand Azure vous invite à confirmer l’opération, sélectionnez Oui.
Désactiver l’identité managée dans un modèle ARM
Si vous avez créé l’identité managée de l’application logique à l’aide d’un modèle ARM, définissez la propriété enfant de l’identityobjet type sur None.
"identity": {
"type": "None"
}