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.
Ce guide de démarrage rapide montre comment configurer une application Durable Functions à l’aide du fournisseur par défaut stockage Azure pour utiliser des connexions basées sur des identités, afin que votre application puisse accéder à son compte de stockage sans gérer les secrets. Une identité managée de Microsoft Entra ID est gérée par la plateforme Azure. Vous n'avez pas besoin de provisionner ou de renouveler des secrets.
Contenu de cet article :
- Configuration du développement local : utiliser Azurite ou vos informations d’identification de développeur pour les tests locaux
- Connexions basées sur l'identité pour l'application déployée sur Azure : activez une identité managée et configurez votre fonction
Note
L’identité managée est prise en charge dans Durable Functions extension versions 2.7.0 et ultérieures.
Si vous n’avez pas de compte Azure, créez un compte gratuit avant de commencer.
Prerequisites
Pour effectuer ce démarrage rapide, les éléments suivants sont requis :
- Projet de Durable Functions existant créé dans le portail Azure ou un projet de Durable Functions local déployé sur Azure.
- Connaissance de l’exécution d’une application Durable Functions dans Azure.
Si vous n'avez pas de projet Durable Functions existant déployé dans Azure, nous vous recommandons de commencer par l'un des guides de démarrage rapide suivants :
- Création d’une première fonction durable – C#
- Création d’une première fonction durable – JavaScript
- Créer votre première fonction durable - Python
- Création d’une première fonction durable – PowerShell
- Créer votre première fonction durable - Java
Configuration du développement local
Vous avez deux options pour le développement local. Utilisez Azurite pour effectuer des tests locaux rapides sans Azure informations d’identification. Si vous devez tester des connexions basées sur des identités par rapport à un compte de stockage Azure réel, utilisez plutôt vos informations d’identification de développeur.
Option 1 : Utiliser l’émulateur de stockage Azure
Lorsque vous développez localement, il est recommandé d'utiliser Azurite, qui est l'émulateur local de stockage Azure. Configurez votre application sur l’émulateur en spécifiant "AzureWebJobsStorage": "UseDevelopmentStorage=true" dans le local.settings.json.
Option 2 : Connexions basées sur l’identité pour le développement local
Strictement, une identité managée est uniquement disponible pour les applications lors de l’exécution sur Azure. Toutefois, vous pouvez toujours configurer une application en cours d’exécution locale pour utiliser la connexion basée sur l’identité à l’aide de vos informations d’identification de développeur pour vous authentifier auprès de Azure ressources. Ensuite, lorsqu’elle est déployée sur Azure, l’application utilise plutôt votre configuration d’identité managée.
Lorsque vous utilisez les informations d’identification du développeur, la connexion tente d’obtenir un jeton à partir des emplacements suivants, dans cet ordre :
- Un cache local partagé entre les applications Microsoft
- Contexte utilisateur actuel dans Visual Studio
- Contexte utilisateur actuel dans Visual Studio Code
- Contexte utilisateur actuel dans le Azure CLI
Si aucune de ces options ne réussit, vous obtenez une erreur indiquant que l’application ne peut pas récupérer un jeton d’authentification. Vérifiez que vous êtes connecté à l'un des outils répertoriés avec un compte qui a accès à votre compte stockage Azure.
Configurer le runtime pour utiliser l’identité du développeur local
Spécifiez le nom de votre compte stockage Azure dans local.settings.json, par exemple :
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage__accountName": "<<your Azure Storage account name>>", "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated" } }Accédez à votre ressource de compte stockage Azure dans le portail Azure.
Sélectionnez l’onglet Access Control (IAM), puis sélectionnez Add role assignment.
Attribuez chacun des rôles suivants à vous-même. Pour chaque rôle, sélectionnez « + Sélectionner des membres » et recherchez l’e-mail que vous utilisez pour vous connecter à Visual Studio, Visual Studio Code ou le Azure CLI.
- Contributeur aux données de queue de stockage
- Contributeur aux données du Blob de stockage
- Contributeur aux données de table de stockage
Note
Il s’agit des trois rôles requis pour votre identité managée lors du déploiement sur Azure. Consultez Attribuer des rôles d’accès à l’identité managée.
Connexions basées sur des identités pour l’application déployée sur Azure
Activer une ressource d’identité managée
Pour commencer, activez une identité managée pour votre application. Votre application de fonction doit avoir une identité managée affectée par le système ou une identité managée affectée par l’utilisateur(-trice). Pour activer une identité managée pour votre application de fonction et pour en savoir plus sur les différences entre les deux types d’identités, voir la présentation de l’identité managée.
Attribuer des rôles d’accès à l’identité managée
Accédez à la ressource stockage Azure de votre application sur le portail Azure et attribuez trois rôles de contrôle d'accès basé sur un rôle (RBAC) à votre identité managée :
- Contributeur aux données de queue de stockage
- Contributeur aux données du Blob de stockage
- Contributeur aux données de table de stockage
Pour trouver votre ressource d’identité, sélectionnez Attribuer l’accès à l’Identité managée, puis + Sélectionner des membres
Ajouter la configuration d’identité managée à votre application
Avant de pouvoir utiliser l’identité managée de votre application, apportez des modifications aux paramètres de l’application :
Dans le portail Azure, dans le menu des ressources de votre application de fonction, sous Settings, sélectionnez Variables de l’environnement.
Dans la liste des paramètres, recherchez AzureWebJobsStorage, puis sélectionnez l’icône Supprimer.
Ajoutez un paramètre pour lier votre compte de stockage Azure à l’application.
Utilisez l’une des méthodes suivantes en fonction du cloud dans lequel votre application s’exécute :
Azure cloud : si votre application s’exécute dans global Azure, ajoutez le paramètre
AzureWebJobsStorage__accountNamequi identifie un nom de compte de stockage Azure. Exemple de valeur :mystorageaccount123Cloud hors Azure : Si votre application s'exécute dans un cloud en dehors d'Azure, vous devez ajouter les trois paramètres suivants pour fournir des URI de service spécifiques (ou endpoints) du compte de stockage au lieu d'un nom de compte.
Nom du paramètre :
AzureWebJobsStorage__blobServiceUriExemple de valeur :
https://mystorageaccount123.blob.core.windows.net/Nom du paramètre :
AzureWebJobsStorage__queueServiceUriExemple de valeur :
https://mystorageaccount123.queue.core.windows.net/Nom du paramètre :
AzureWebJobsStorage__tableServiceUriExemple de valeur :
https://mystorageaccount123.table.core.windows.net/
Vous pouvez obtenir les valeurs de ces variables d’URI dans les informations sur le compte de stockage depuis l’onglet Points de terminaison.
Note
Si vous utilisez Azure Government ou tout autre cloud distinct du Azure global, vous devez utiliser l'option qui fournit des URI de service spécifiques au lieu du nom du compte de stockage uniquement. Pour plus d’informations sur l’utilisation de stockage Azure avec Azure Government, consultez le Develop à l’aide de l’API de stockage dans Azure Government.
Terminez votre configuration d’identité managée (n’oubliez pas de cliquer sur « Appliquer » après avoir apporté des modifications au paramètre) :
Si vous utilisez une identité affectée par le système, n’apportez aucune autre modification.
Si vous utilisez une identité affectée par l’utilisateur, ajoutez les paramètres suivants dans la configuration de votre application :
AzureWebJobsStorage__credential, entrez managedidentity
AzureWebJobsStorage__clientId, obtenez cette valeur GUID à partir de votre ressource d’identité managée
Note
Durable Functions ne prend pas en charge
managedIdentityResourceIdlors de l’utilisation de l’identité affectée par l’utilisateur. UtilisezclientIdà la place.
Vérifier votre configuration
Pour confirmer que votre configuration d’identité managée fonctionne :
- Dans le portail Azure, accédez à votre application de fonction et déclenchez votre orchestration de Durable Functions (par exemple, à l’aide d’une fonction de déclencheur HTTP).
- Vérifiez que l’orchestration se termine correctement en interrogeant le point de terminaison d’état ou en vérifiant l’onglet Moniteur .
- Si vous voyez des erreurs d’authentification, vérifiez que :
- Les trois rôles Contributeur aux données de stockage sont attribués à l’identité correcte.
- Le paramètre
AzureWebJobsStoragechaîne de connexion est supprimé. - Les
AzureWebJobsStorage__accountNameparamètres (ou URI de service) sont corrects.
Étapes suivantes
- Vue d’ensemble de l’identité managée pour App Service et Azure Functions
- fournisseur Durable Functions stockage Azure
- Vue d’ensemble des fournisseurs de stockage Durable Functions