Accéder à AppConfiguration depuis Azure Function avec la Managed Identity

Florian CAILLAUD
Publié par Florian CAILLAUD
Catégorie : App Configuration / Azure / Azure Functions
10/06/2024

Introduction

Azure App Configuration se présente comme une solution essentielle pour centraliser et gérer les paramètres de configuration des applications distribuées. Il offre un emplacement unique pour stocker et gérer les paramètres de configuration et les feature flags. Cet article se propose d’explorer les méthodes d’accès sécurisé à ces configurations en utilisant les Azure Functions en combinaison avec l’authentification Managed Identity. Cette approche permet d’éviter la gestion des identifiants dans le code ou la configuration.

 

Accéder à Azure AppConfiguration

Depuis une Azure Function, pour accéder à Azure AppConfiguration, nous devons établir une connexion sécurisée. L’utilisation de Identité Managé (Managed Identity) de la fonction nous permet de réaliser cette opération, d’une part, de manière sécurisée et d’autre part sans gestion explicite des clés API ou des secrets. Pour configurer notre fonction pour l’utilisation de Managed Identity, voici les étapes à suivre :

  1. Activez Managed Identity pour votre Function App via le portail Azure.

System Assign Identity Activation

2. Configurez les permissions RBAC pour que votre Managed Identity puisse lire les paramètres de l’Azure AppConfiguration (le rôle App Configuration Data Reader est suffisant).

AppConfiguration Role Creation

3. Utilisez le SDK Azure pour accéder à AppConfiguration dans votre code. Voici un exemple en C# :

var builder = new ConfigurationBuilder();
builder.AddAzureAppConfiguration(options =>
{
    var credentials = new ManagedIdentityCredential();
    options.Connect(new Uri("<Your-App-Configuration-Resource-URI>"), credentials);
});
var configuration = builder.Build();
string myConfigValue = configuration["MyKey"];

Ce code illustre comment initialiser la connexion à Azure AppConfiguration en utilisant Managed Identity.

  1. Testez votre fonction pour vous assurer que les clés de configuration sont récupérées correctement.

 

Bonnes pratiques et dépannage

En plus de la sécurisation de l’accès, il est important de suivre les bonnes pratiques pour une maintenance et une évolutivité optimales. Assurez-vous de gérer les exceptions dans votre code pour gérer les cas où la configuration ne peut être chargée. Utilisez également Azure Monitor pour suivre les performances de vos fonctions et l’accès aux configurations.

 

Conclusion

Avec les Azure Functions et Managed Identity, vous pouvez accéder à Azure AppConfiguration de manière sécurisée et scalable. Cela simplifie le code, renforce la sécurité et favorise les meilleures pratiques de développement cloud-native.

Documentation et ressources supplémentaires:

En suivant les étapes et les pratiques décrites dans cet article, vous pouvez simplifier la gestion des configurations et renforcer la sécurité de vos applications cloud.