Appeler des fonctions Azure à partir d’Azure Logic AppsCall Azure functions from Azure Logic Apps

Quand vous voulez exécuter du code qui effectue une tâche spécifique dans vos applications logiques, vous pouvez créer votre propre fonction à l’aide d’Azure Functions.When you want to run code that performs a specific job in your logic apps, you can create your own function by using Azure Functions. Ce service vous permet de créer des fonctions Node.js, C# et F# pour ne pas avoir à générer une application ou une infrastructure complète en vue d’exécuter votre code.This service helps you create Node.js, C#, and F# functions so you don't have to build a complete app or infrastructure to run code. Vous pouvez également appeler des applications logiques à l’intérieur de fonctions Azure.You can also call logic apps from inside Azure functions. Azure Functions fournit une informatique sans serveur dans le cloud et est utile pour effectuer des tâches telles que les suivantes :Azure Functions provides serverless computing in the cloud and is useful for performing tasks such as these examples:

  • Étendre le comportement de votre application logique avec des fonctions dans Node.js ou C#Extend your logic app's behavior with functions in Node.js or C#.
  • Effectuer des calculs dans le workflow de votre application logiquePerform calculations in your logic app workflow.
  • Appliquer une mise en forme avancée ou calculer des champs dans vos applications logiquesApply advanced formatting or compute fields in your logic apps.

Pour exécuter des extraits de code sans créer de fonctions Azure, découvrez comment ajouter et exécuter du code inline.To run code snippets without creating Azure functions, learn how to add and run inline code.

Notes

L’intégration entre Logic Apps et Azure Functions ne fonctionne actuellement pas avec l’option Emplacements activée.Integration between Logic Apps and Azure Functions currently doesn't work with Slots enabled.

Conditions préalables requisesPrerequisites

  • Un abonnement Azure.An Azure subscription. Si vous n’avez pas d’abonnement Azure, inscrivez-vous pour bénéficier d’un compte Azure gratuit.If you don't have an Azure subscription, sign up for a free Azure account.

  • Une application de fonction Azure, qui est un conteneur pour les fonctions Azure, ainsi que votre fonction Azure.An Azure function app, which is a container for Azure functions, along with your Azure function. Si vous n’avez pas d’application de fonction, créez-la en premier lieu.If you don't have a function app, create your function app first. Vous pouvez ensuite créer votre fonction soit à l’extérieur de votre application logique dans le portail Azure, soit à partir de votre application logique dans le Concepteur d’application logique.You can then create your function either outside your logic app in the Azure portal, or from inside your logic app in the Logic App Designer.

  • Quand vous travaillez avec des applications logiques, les mêmes exigences s’appliquent aux applications de fonctions et aux fonctions, qu’elles soient nouvelles ou pas :When working with logic apps, the same requirements apply to function apps and functions whether they are existing or new:

    • Votre application de fonction et votre application logique doivent utiliser le même abonnement Azure.Your function app and logic app must use the same Azure subscription.

    • Les nouvelles applications de fonction doivent utiliser le .NET ou JavaScript comme pile d’exécution.New function apps must use either the .NET or JavaScript as the runtime stack. Quand vous ajoutez une nouvelle fonction à des applications de fonction existantes, vous pouvez sélectionner C# ou JavaScript.When you add a new function to existing function apps, you can select either C# or JavaScript.

    • Votre fonction utilise le modèle Déclencheur HTTP.Your function uses the HTTP trigger template.

      Le modèle de déclencheur HTTP peut accepter du contenu ayant le type application/json à partir de votre application logique.The HTTP trigger template can accept content that has application/json type from your logic app. Quand vous ajoutez une fonction Azure à votre application logique, le Concepteur d’application logique affiche des fonctions personnalisées qui sont créées à partir de ce modèle dans votre abonnement Azure.When you add an Azure function to your logic app, the Logic App Designer shows custom functions that are created from this template within your Azure subscription.

    • Votre fonction n’utilise pas de routes personnalisées, sauf si vous avez défini une définition OpenAPI (anciennement appelée fichier Swagger).Your function doesn't use custom routes unless you've defined an OpenAPI definition (formerly known as a Swagger file).

    • Si vous avez une définition OpenAPI pour votre fonction, le Concepteur Logic Apps vous offre une meilleure expérience quand vous travaillez avec des paramètres de fonction.If you have an OpenAPI definition for your function, the Logic Apps Designer gives you a richer experience when your work with function parameters. Pour que votre application logique puisse trouver les fonctions qui ont des définitions OpenAPI et y accéder, configurez votre application de fonction en suivant ces étapes.Before your logic app can find and access functions that have OpenAPI definitions, set up your function app by following these steps.

  • L’application logique dans laquelle vous souhaitez ajouter la fonction, y compris un déclencheur comme première étape de votre application logiqueThe logic app where you want to add the function, including a trigger as the first step in your logic app

    Pour que vous puissiez ajouter des actions qui exécutent des fonctions, votre application logique doit démarrer avec un déclencheur.Before you can add actions that run functions, your logic app must start with a trigger. Si vous débutez avec les applications logiques, consultez Qu’est-ce qu’Azure Logic Apps ? et Démarrage rapide : Créer votre première application logique.If you're new to logic apps, review What is Azure Logic Apps and Quickstart: Create your first logic app.

Rechercher des fonctions qui ont des descriptions OpenAPIFind functions that have OpenAPI descriptions

Pour bénéficier d’une expérience plus complète quand vous travaillez avec des paramètres de fonction dans le Concepteur Logic Apps, générez une définition OpenAPI (anciennement fichier Swagger) pour votre fonction.For a richer experience when you work with function parameters in the Logic Apps Designer, generate an OpenAPI definition, formerly known as a Swagger file, for your function. Pour configurer votre application de fonction afin que votre application logique puisse trouver les fonctions qui ont des descriptions Swagger et y accéder, procédez comme suit :To set up your function app so your logic app can find and use functions that have Swagger descriptions, follow these steps:

  1. Vérifiez que votre application de fonction est en cours d’exécution.Make sure that your function app is actively running.

  2. Dans votre application de fonction, configurez le Partage des ressources Cross-Origin (CORS) afin que toutes les origines soient autorisées en procédant comme suit :In your function app, set up Cross-Origin Resource Sharing (CORS) so that all origins are permitted by following these steps:

    1. Dans la liste Applications de fonction, sélectionnez votre application de fonction.From the Function Apps list, select your function app. Dans le volet de droite, sélectionnez Fonctionnalités de la plateforme > CORS.In the right-hand pane, select Platform features > CORS.

      Sélectionnez votre application de fonction > « Fonctionnalités de la plateforme » > « CORS »

    2. Sous CORS, ajoutez le caractère générique * (astérisque), mais supprimez toutes les autres origines de la liste, puis sélectionnez Enregistrer.Under CORS, add the asterisk (*) wildcard character, but remove all the other origins in the list, and select Save.

      Définir CORS* sur le caractère générique « * »

Accéder aux valeurs de propriétés à l’intérieur des requêtes HTTPAccess property values inside HTTP requests

Les fonctions webhook peuvent accepter des requêtes HTTP en tant qu’entrées, et transmettre ces requêtes à d’autres fonctions.Webhook functions can accept HTTP requests as inputs and pass those requests to other functions. Par exemple, bien que Logic Apps ait des fonctions qui convertissent les valeurs DateTime, cette exemple de fonction JavaScript de base montre comment accéder à une propriété à l’intérieur d’un objet de requête qui est passé à la fonction, et comment effectuer des opérations sur la valeur de cette propriété.For example, although Logic Apps has functions that convert DateTime values, this basic sample JavaScript function shows how you can access a property inside a request object that's passed to the function and perform operations on that property value. Pour accéder aux propriétés à l’intérieur d’objets, cet exemple utilise l’opérateur point (.) :To access properties inside objects, this example uses the dot (.) operator:

function convertToDateString(request, response){
   var data = request.body;
   response = {
      body: data.date.ToDateString();
   }
}

Voici ce qui se passe à l’intérieur de cette fonction :Here's what happens inside this function:

  1. La fonction crée une variable data et assigne l’objet body à l’intérieur de l’objet request à cette variable.The function creates a data variable and assigns the body object inside the request object to that variable. La fonction utilise l’opérateur point (.) pour référencer l’objet body à l’intérieur de l’objet request :The function uses the dot (.) operator to reference the body object inside the request object:

    var data = request.body;
    
  2. La fonction peut maintenant accéder à la propriété date par le biais de la variable data, et convertir cette valeur de propriété du type DateTime vers le type DateString en appelant la fonction ToDateString().The function can now access the date property through the data variable, and convert that property value from DateTime type to DateString type by calling the ToDateString() function. La fonction retourne également le résultat par le biais de la propriété body dans la réponse de la fonction :The function also returns the result through the body property in the function's response:

    body: data.date.ToDateString();
    

Maintenant que vous avez créé votre fonction Azure, suivez les étapes pour découvrir comment ajouter des fonctions à des applications logiques.Now that you've created your Azure function, follow the steps for how to add functions to logic apps.

Créer des fonctions au sein d’applications logiquesCreate functions inside logic apps

Avant de pouvoir créer une fonction Azure à partir de votre application logique à l’aide du Concepteur d’application logique, vous devez d’abord disposer d’une application de fonction Azure, qui est un conteneur pour vos fonctions.Before you can create an Azure function starting from inside your logic app by using the Logic App Designer, you must first have an Azure function app, which is a container for your functions. Si vous n’avez pas d’application de fonction, créez-la en premier lieu.If you don't have a function app, create that function app first. Voir Créer votre première fonction à l’aide du portail Azure.See Create your first function in the Azure portal.

  1. Dans le portail Azure, ouvrez votre application logique dans le Concepteur d’applications logiques.In the Azure portal, open your logic app in the Logic App Designer.

  2. Pour créer et ajouter votre fonction, suivez l’étape qui s’applique à votre scénario :To create and add your function, follow the step that applies to your scenario:

    • Sous la dernière étape du flux de travail de votre application logique, sélectionnez Nouvelle étape.Under the last step in your logic app's workflow, select New step.

    • Entre les étapes existantes du flux de travail de votre application logique, déplacez votre souris sur la flèche, sélectionnez le signe plus (+), puis Ajouter une action.Between existing steps in your logic app's workflow, move your mouse over the arrow, select the plus (+) sign, and then select Add an action.

  3. Dans la zone de recherche, entrez le filtre « azure functions ».In the search box, enter "azure functions" as your filter. Dans la liste d’actions, sélectionnez l’action Choisir une fonction Azure, par exemple :From the actions list, select the Choose an Azure function action, for example:

    Recherchez « Azure Functions »

  4. Dans la liste d’applications de fonction, sélectionnez la vôtre.From the function apps list, select your function app. Une fois la liste des actions ouverte, sélectionnez cette action : Créer une fonctionAfter the actions list opens, select this action: Create New Function

    Sélectionnez votre application de fonction

  5. Dans l’éditeur de définition de fonction, définissez votre fonction :In the function definition editor, define your function:

    1. Dans la zone Nom de la fonction, fournissez un nom pour votre fonction.In the Function name box, provide a name for your function.

    2. Dans la zone Code, ajoutez votre code au modèle de fonction, notamment la réponse et la charge utile qui doivent être retournées à votre application logique une fois l’exécution de votre fonction terminée.In the Code box, add your code to the function template, including the response and payload that you want returned to your logic app after your function finishes running. Sélectionnez Créer lorsque vous avez terminé.When you're done, select Create.

    Par exemple :For example:

    Définissez votre fonction

    Dans le code du modèle, context l’objet fait référence au message envoyé par votre application logique via le champ Corps de la demande au cours d’une étape ultérieure.In the template's code, the context object refers to the message that your logic app sends through the Request Body field in a later step. Pour accéder aux propriétés de l’objet context depuis l’intérieur de votre fonction, utilisez la syntaxe suivante :To access the context object's properties from inside your function, use this syntax:

    context.body.<property-name>

    Par exemple, pour référencer la propriété content à l’intérieur de l’objet context, utilisez la syntaxe suivante :For example, to reference the content property inside the context object, use this syntax:

    context.body.content

    Le code du modèle inclut également une variable input, qui stocke la valeur du paramètre data afin que votre fonction puisse effectuer des opérations sur cette valeur.The template code also includes an input variable, which stores the value from the data parameter so your function can perform operations on that value. À l’intérieur des fonctions JavaScript, la variable data est également un raccourci pour context.body.Inside JavaScript functions, the data variable is also a shortcut for context.body.

    Notes

    La propriété body s’applique ici à l’objet context. Ce n’est pas la même chose que le jeton Corps du résultat d’une action, que vous pouvez également transmettre à votre fonction.The body property here applies to the context object and isn't the same as the Body token from an action's output, which you might also pass to your function.

  6. Dans la zone Corps de la demande, spécifiez l’entrée de votre fonction, qui doit être au format JSON (JavaScript Objet Notation).In the Request Body box, provide your function's input, which must be formatted as a JavaScript Object Notation (JSON) object.

    Cette entrée est l’objet de contexte ou le message que votre application logique envoie à votre fonction.This input is the context object or message that your logic app sends to your function. Quand vous cliquez dans le champ Corps de la demande, la liste de contenu dynamique s’ouvre afin que vous puissiez sélectionner des jetons pour les sorties issues des étapes précédentes.When you click in the Request Body field, the dynamic content list appears so you can select tokens for outputs from previous steps. Cet exemple indique que la charge utile du contexte contient une propriété nommée content qui a la valeur du jeton De à partir du déclencheur d’e-mail.This example specifies that the context payload contains a property named content that has the From token's value from the email trigger.

    Exemple « Corps de la demande » : charge utile d’objet de contexte

    Ici, l’objet de contexte n’est pas converti sous forme de chaîne. Le contenu de l’objet est donc ajouté directement à la charge utile JSON.Here, the context object isn't cast as a string, so the object's content gets added directly to the JSON payload. Toutefois, lorsque l’objet de contexte n’est pas un jeton JSON qui renvoie une chaîne, un objet JSON ou un tableau JSON, une erreur se produit.However, when the context object isn't a JSON token that passes a string, a JSON object, or a JSON array, you get an error. Par conséquent, en utilisant à la place le jeton Heure de réception, vous pouvez convertir l’objet de contexte sous forme de chaîne en ajoutant des guillemets doubles.So, if this example used the Received Time token instead, you can cast the context object as a string by adding double-quotation marks.

    Caster un objet en tant que chaîne

  7. Pour spécifier d’autres détails comme la méthode à utiliser, les en-têtes de demande, les paramètres de requête ou l’authentification, ouvrez la liste Ajouter un nouveau paramètre, puis sélectionnez les options souhaitées.To specify other details such as the method to use, request headers, or query parameters, or authentication, open the Add new parameter list, and select the options that you want. Pour l’authentification, vos options varient selon la fonction sélectionnée.For authentication, your options differ based on your selected function. Consultez Activer l’authentification pour les fonctions Azure.See Enable authentication for Azure functions.

Ajouter des fonctions existantes à des applications logiquesAdd existing functions to logic apps

Pour appeler des fonctions Azure existantes à partir de vos applications logiques, vous pouvez ajouter des fonctions Azure comme toute autre action dans le Concepteur d’applications logiques.To call existing Azure functions from your logic apps, you can add Azure functions like any other action in the Logic App Designer.

  1. Dans le portail Azure, ouvrez votre application logique dans le Concepteur d’applications logiques.In the Azure portal, open your logic app in the Logic App Designer.

  2. Sous l’étape à laquelle vous souhaitez ajouter la fonction, sélectionnez Nouvelle étape.Under the step where you want to add the function, select New step.

  3. Sous Choisir une action, dans la zone de recherche, entrez « fonctions azure » en guise de filtre.Under Choose an action, in the search box, enter "azure functions" as your filter. Dans la liste d’actions, sélectionnez l’action Choisir une fonction Azure.From the actions list, select the Choose an Azure function action.

    Recherchez « Azure Functions »

  4. Dans la liste d’applications de fonction, sélectionnez la vôtre.From the function apps list, select your function app. Une fois la liste de fonctions affichée, sélectionnez votre fonction.After the functions list appears, select your function.

    Sélectionnez votre application de fonction et votre fonction Azure

    Pour les fonctions qui ont des définitions d’API (description Swagger) et qui sont configurées pour que votre application logique puisse rechercher ces fonctions et y accéder, vous pouvez sélectionner Actions Swagger.For functions that have API definitions (Swagger descriptions) and are set up so your logic app can find and access those functions, you can select Swagger actions.

    Sélectionnez votre application de fonction, « Actions Swagger » et votre fonction Azure

  5. Dans la zone Corps de la demande, spécifiez l’entrée de votre fonction, qui doit être au format JSON (JavaScript Objet Notation).In the Request Body box, provide your function's input, which must be formatted as a JavaScript Object Notation (JSON) object.

    Cette entrée est l’objet de contexte ou le message que votre application logique envoie à votre fonction.This input is the context object or message that your logic app sends to your function. Quand vous cliquez dans le champ Corps de la demande, la liste de contenu dynamique s’affiche afin que vous puissiez sélectionner des jetons pour les sorties des étapes précédentes.When you click in the Request Body field, the dynamic content list appears so that you can select tokens for outputs from previous steps. Cet exemple indique que la charge utile du contexte contient une propriété nommée content qui a la valeur du jeton De à partir du déclencheur d’e-mail.This example specifies that the context payload contains a property named content that has the From token's value from the email trigger.

    Exemple « Corps de la demande » : charge utile d’objet de contexte

    Ici, l’objet de contexte n’est pas converti sous forme de chaîne. Le contenu de l’objet est donc ajouté directement à la charge utile JSON.Here, the context object isn't cast as a string, so the object's content gets added directly to the JSON payload. Toutefois, lorsque l’objet de contexte n’est pas un jeton JSON qui renvoie une chaîne, un objet JSON ou un tableau JSON, une erreur se produit.However, when the context object isn't a JSON token that passes a string, a JSON object, or a JSON array, you get an error. Par conséquent, en utilisant à la place le jeton Heure de réception, vous pouvez convertir l’objet de contexte sous forme de chaîne en ajoutant des guillemets doubles :So, if this example used the Received Time token instead, you can cast the context object as a string by adding double-quotation marks:

    Caster un objet en tant que chaîne

  6. Pour spécifier d’autres détails comme la méthode à utiliser, les en-têtes de demande, les paramètres de requête ou l’authentification, ouvrez la liste Ajouter un nouveau paramètre, puis sélectionnez les options souhaitées.To specify other details such as the method to use, request headers, query parameters, or authentication, open the Add new parameter list, and select the options that you want. Pour l’authentification, vos options varient selon la fonction sélectionnée.For authentication, your options differ based on your selected function. Consultez Activer l’authentification dans les fonctions Azure.See Enable authentication in Azure functions.

Appeler des applications logiques à partir de fonctions AzureCall logic apps from Azure functions

Pour déclencher une application logique à partir d’une fonction Azure, l’application logique doit démarrer avec un déclencheur fournissant un point de terminaison pouvant être appelé.When you want to trigger a logic app from inside an Azure function, the logic app must start with a trigger that provides a callable endpoint. Par exemple, vous pouvez démarrer l’application logique avec le déclencheur HTTP, Requête, Files d’attente Azure ou Event Grid.For example, you can start the logic app with the HTTP, Request, Azure Queues, or Event Grid trigger. À partir de l’intérieur de votre fonction, envoyez une requête HTTP POST à l’URL du déclencheur et incluez la charge utile que cette application logique doit traiter.Inside your function, send an HTTP POST request to the trigger's URL, and include the payload you want that logic app to process. Pour plus d’informations, consultez Appeler, déclencher ou imbriquer des applications logiques.For more information, see Call, trigger, or nest logic apps.

Activer l’authentification pour les fonctions AzureEnable authentication for Azure functions

Pour authentifier l’accès aux ressources dans d’autres locataires Azure Active Directory (Azure AD) sans avoir à vous connecter ni à fournir des informations d’identification ou des secrets, votre application logique peut utiliser une identité managée (anciennement appelée MSI ou Managed Service Identity).To authenticate access to resources in other Azure Active Directory (Azure AD) tenants without having to sign in and provide credentials or secrets, your logic app can use a managed identity (formerly known as Managed Service Identity or MSI). Azure gère cette identité pour vous et vous aide à sécuriser vos informations d’identification, car vous n’êtes pas obligé de fournir ni de faire pivoter des secrets.Azure manages this identity for you and helps secure your credentials because you don't have to provide or rotate secrets. En savoir plus sur les services Azure qui prennent en charge les identités managées pour l’authentification Azure AD.Learn more about Azure services that support managed identities for Azure AD authentication.

Si vous configurez votre application logique pour qu’elle utilise l’identité managée attribuée par le système, les fonctions Azure de votre application logique peuvent également utiliser cette même identité pour l’authentification.If you set up your logic app to use the system-assigned managed identity, the Azure functions in your logic app can also use that same identity for authentication. Pour en savoir plus sur la prise en charge de l’authentification pour les fonctions Azure dans les applications logiques, consultez Ajouter l’authentification aux appels sortants.For more information about authentication support for Azure functions in logic apps, see Add authentication to outbound calls.

Pour configurer et utiliser l’identité attribuée par le système avec votre fonction, procédez comme suit :To set up and use the system-assigned identity with your function, follow these steps:

  1. Activez l’identité attribuée par le système sur votre application logique et configurez l’accès de cette identité à la ressource cible.Enable the system-assigned identity on your logic app, and set up that identity's access to the target resource. Consultez Authentifier l’accès aux ressources Azure avec des identités managées dans Azure Logic Apps.See Authenticate access to Azure resources by using managed identities in Azure Logic Apps.

  2. Pour activer l’authentification dans votre fonction Azure et votre application de fonction, procédez comme suit :Enable authentication in your Azure function and function app by following these steps:

Configurer l’authentification anonyme dans votre fonctionSet up anonymous authentication in your function

Pour utiliser l’identité attribuée par le système de votre application logique dans votre fonction Azure, vous devez définir le niveau d’authentification de votre fonction sur anonyme.To use your logic app's system-assigned identity in your Azure function, you have set your function's authentication level to anonymous. Dans le cas contraire, votre application logique génère une erreur « BadRequest ».Otherwise, your logic app throws a "BadRequest" error.

  1. Dans le portail Azure, recherchez et sélectionnez votre application de fonction.In the Azure portal, find and select your function app. Ces étapes utilisent « FabrikamFunctionApp » comme exemple d’application de fonction.These steps use "FabrikamFunctionApp" as the example function app.

  2. Sélectionnez Fonctionnalités de la plateforme dans le volet de l’application de fonction.On the function app pane, select Platform features. Sous Outils de développement, sélectionnez Outils avancés (Kudu) .Under Development tools, select Advanced tools (Kudu).

    Ouvrir les outils avancés pour Kudu

  3. Dans la barre de titre du site web Kudu, dans le menu Console de débogage, sélectionnez CMD.On the Kudu website's title bar, from the Debug Console menu, select CMD.

    Dans le menu de la console de débogage, sélectionner l’option « CMD »

  4. Une fois la page suivante affichée, dans la liste des dossiers, sélectionnez site > wwwroot > votre-fonction.After the next page appears, from the folder list, select site > wwwroot > your-function. Ces étapes utilisent « FabrikamAzureFunction » comme exemple de fonction.These steps use "FabrikamAzureFunction" as the example function.

    Sélectionnez « Site » > « wwwroot » > votre fonction

  5. Ouvre le fichier function.json pour modification.Open the function.json file for editing.

    Cliquer sur Modifier pour le fichier « function.json »

  6. Dans l’objet bindings, vérifiez si la propriété authLevel existe.In the bindings object, check whether the authLevel property exists. Si la propriété existe, définissez sa valeur sur anonymous.If the property exists, set the property value to anonymous. Sinon, ajoutez cette propriété et définissez sa valeur.Otherwise, add that property and set the value.

    Ajoutez la propriété « authLevel » et attribuez-lui la valeur « anonymous ».

  7. Lorsque vous avez terminé, enregistrez vos paramètres, puis passez à la section suivante.When you're done, save your settings, and then continue to the next section.

Configurer l’authentification Azure AD pour votre application de fonctionSet up Azure AD authentication for your function app

Avant de commencer cette tâche, recherchez et mettez ces valeurs de côté pour une utilisation ultérieure :Before you start this task, find and put these values aside for later use:

  • L’ID d’objet généré pour l’identité attribuée par le système qui représente votre application logiqueThe object ID that's generated for the system-assigned identity that represents your logic app

  • L’ID de répertoire de votre locataire dans Azure Active Directory (Azure AD)The directory ID for your tenant in Azure Active Directory (Azure AD)

    Pour récupérer l’ID de répertoire de votre locataire, vous pouvez exécuter la commande PowerShell Get-AzureAccount.To get your tenant's directory ID, you can run the Get-AzureAccount Powershell command. Ou, dans le portail Azure, procédez comme suit :Or, in the Azure portal, follow these steps:

    1. Dans le portail Azure, recherchez et sélectionnez votre application de fonction.In the Azure portal, find and select your function app.

    2. Recherchez et sélectionnez votre locataire Azure AD.Find and select your Azure AD tenant. Ces étapes utilisent « Fabrikam » comme exemple de locataire.These steps use "Fabrikam" as the example tenant.

    3. Dans le menu du locataire, sous Gérer, sélectionnez Propriétés.On the tenant's menu, under Manage, select Properties.

    4. Copiez l’ID de répertoire de votre locataire, par exemple, puis enregistrez-le pour une utilisation ultérieure.Copy your tenant's directory ID, for example, and save that ID for later use.

      Rechercher et copier l’ID de répertoire du locataire Azure AD

  • L’ID de la ressource cible à laquelle vous souhaitez accéderThe resource ID for the target resource that you want to access

    Important

    Cet ID de ressource doit correspondre exactement à ce qu’attend Azure AD, notamment les barres obliques de fin obligatoires.This resource ID must exactly match the value that Azure AD expects, including any required trailing slashes.

    Cet ID de ressource est également la même valeur que celle que vous utiliserez ultérieurement dans la propriété Audience lors de la configuration de votre action de fonction pour qu’elle utilise l’identité attribuée par le système.This resource ID is also the same value that you later use in the Audience property when you set up your function action to use the system-assigned identity.

Vous êtes maintenant prêt à configurer l’authentification Azure AD pour votre application de fonction.Now you're ready to set up Azure AD authentication for your function app.

  1. Dans le portail Azure, recherchez et sélectionnez votre application de fonction.In the Azure portal, find and select your function app.

  2. Sélectionnez Fonctionnalités de la plateforme dans le volet de l’application de fonction.On the function app pane, select Platform features. Sous Mise en réseau, sélectionnez Authentification/Autorisation.Under Networking, select Authentication / Authorization.

    Afficher les paramètres d’authentification et d’autorisation

  3. Définissez le paramètre Authentification App Service sur Activé.Change the App Service Authentication setting to On. Dans la liste Action à exécuter quand une demande n’est pas authentifiée, sélectionnez Se connecter avec Azure Active Directory.From the Action to take when request is not authenticated list, select Log in with Azure Active Directory. Sous Fournisseurs d’authentification, cliquez sur Azure Active Directory.Under Authentication Providers, select Azure Active Directory.

    Activer l’authentification avec Azure AD

  4. Dans le volet Paramètres Azure Active Directory, procédez comme suit :On the Azure Active Directory Settings pane, follow these steps:

    1. Définissez le Mode de gestion sur Avancé.Set Management mode to Advanced.

    2. Dans la propriété ID client, entrez l’ID d’objet de l’identité attribuée par le système de votre application logique.In the Client ID property, enter the object ID for your logic app's system-assigned identity.

    3. Dans la propriété URL de l’émetteur, entrez l’URL https://sts.windows.net/ et ajoutez l’ID de répertoire de votre locataire Azure AD.In the Issuer Url property, enter the https://sts.windows.net/ URL, and append your Azure AD tenant's directory ID.

      https://sts.windows.net/<Azure-AD-tenant-directory-ID>

    4. Dans la propriété Audiences de jeton autorisées, entrez l’ID de la ressource cible à laquelle vous souhaitez accéder.In the Allowed Token Audiences property, enter the resource ID for the target resource that you want to access.

      Cet ID de ressource est la même valeur que celle que vous utiliserez ultérieurement dans la propriété Audience lors de la configuration de votre action de fonction pour qu’elle utilise l’identité attribuée par le système.This resource ID is the same value that you later use in the Audience property when you set up your function action to use the system-assigned identity.

    À ce stade, votre version ressemble à l’exemple suivant :At this point, your version looks similar to this example:

    Paramètres d’authentification Azure Active Directory

  5. Quand vous avez terminé, sélectionnez OK.When you're done, select OK.

  6. Revenez au concepteur d’application logique et suivez les étapes pour authentifier l’accès avec l’identité managée.Return to the Logic App Designer and follow the steps to authenticate access with the managed identity.

Étapes suivantesNext steps