La configuration de l'identité gérée pour les fonctions Azure implique l'utilisation de l'identité gérée attribuée par le système ou de l'identité gérée affectée par l'utilisateur. Voici comment vous pouvez configurer les deux types:
Activation du système attribué à l'identité gérée
1. Accédez au portail Azure: accédez à votre application de fonction Azure dans le portail Azure.
2. Sélectionnez l'option Identité: Dans le menu de gauche, sélectionnez Paramètres, puis cliquez sur Identity.
3. Activer l'identité affectée par le système: dans l'onglet Système attribué, basculez l'état à ON et cliquez sur Enregistrer. Cela crée une identité gérée avec le même nom que votre application de fonction.
4. Attribuez des autorisations: accédez à la ressource (par exemple, Azure Storage ou Base de données SQL) que vous souhaitez accéder à votre fonction. Attribuez les rôles appropriés à l'identité gérée en allant à l'accès au contrôle (IAM), puis aux affectations de rôle et en ajoutant l'identité gérée aux rôles requis [1] [3] [7].
Activation de l'identité gérée de l'utilisateur
1. Créez une identité affectée par l'utilisateur: Premièrement, créez une ressource d'identité gérée attribuée par l'utilisateur dans Azure. Cette identité peut être utilisée sur plusieurs ressources.
2. Assignez l'application Fonction: dans le portail Azure, accédez aux paramètres d'identité de votre application de fonction. Passez à l'onglet Attribué par l'utilisateur et cliquez sur Ajouter. Recherchez et sélectionnez l'identité attribuée par l'utilisateur que vous avez créé [1] [6].
3. Configurer les paramètres de l'application: Pour certains services tels que Key Vault, vous devrez peut-être définir des propriétés supplémentaires (par exemple, `KeyVaulTreferenceIdentity`) via les appels d'API REST, car ces paramètres ne sont pas disponibles dans l'interface utilisateur [1].
4. Attribuer des autorisations: similaire aux identités attribuées par système, attribuez les rôles nécessaires à l'identité attribuée par l'utilisateur pour les ressources cibles [6].
Utilisation d'identité gérée dans le code
Lorsque vous utilisez des identités gérées, vos fonctions Azure peuvent tirer parti des bibliothèques comme «Azure.identity» pour s'authentifier avec Azure Services sans gérer directement les secrets. Par exemple, vous pouvez utiliser `DefaultAzureCredential 'pour vous connecter à Azure Storage ou à la base de données SQL [5] [9].
Avantages des identités gérées
- Sécurité: évite la nécessité de stocker des secrets dans des fichiers de code ou de configuration.
- Flexibilité: permet une gestion facile des autorisations d'accès via Azure RBAC.
- Évolutivité: prend en charge les identités attribuées au système et attribuées par l'utilisateur pour différents scénarios [4] [6].
Citations:
[1] https://www.red-gate.com/simple-talk/cloud/azure/azure-function-and-user-assigned-manged-identities/
[2] https://codebankblog.wordpress.com/2020/06/27/azure-function-with-manged-identity-and-azure-sql-db/
[3] https://kumarashwinhubert.com/secure-your-azure-fonctions-use-manged-identity-for-azurewebjobsstorage
[4] https://docs.azure.cn/en-us/azure-functions/fonctions-identity-basase-connections-tutorial
[5] https://www.linkedin.com/pulse/how-use-manged-identities-app-service-azure-ali-khan-
[6] https://learn.microsoft.com/en-us/azure/app-service/overview-manged-identity
[7] https://docs.azure.cn/en-us/azure-functions/fonctions-identity-access-azure-sql-with-manged-identity
[8] https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-configure-manged-identity
[9] https://www.transparity.com/app-innovation/azure-functions-with-manged-identity-storage-access/