Tutoriel : Connecter une application web à Azure App Configuration avec le connecteur de services

Découvrez comment connecter une application ASP.NET Core s’exécutant sur Azure App Service à Azure App Configuration à l’aide de l’une des méthodes suivantes :

  • Identité managée affectée par le système (SMI)
  • Identité managée affectée par l’utilisateur (UMI)
  • Principal du service
  • Chaîne de connexion

Dans ce tutoriel, vous allez utiliser Azure CLI pour effectuer les tâches suivantes :

  • Configurer les ressources Azure
  • Créer une connexion entre une application web et App Configuration
  • Générer et déployer votre application sur Azure App Service

Prérequis

Connexion à Azure

Exécutez az login dans l’interface Azure CLI pour vous connecter à Azure.

Configurer les ressources Azure

Commencez par créer vos ressources Azure.

  1. Clonez l’exemple de dépôt suivant :

    git clone https://github.com/Azure-Samples/serviceconnector-webapp-appconfig-dotnet.git
    
  2. Déployer l’application web sur Azure

    Suivez ces étapes pour créer un service App Service et déployer l’exemple d’application. Vérifiez que vous disposez du rôle Propriétaire ou Contributeur d’abonnement.

    Créez un service d’application et déployez l’exemple d’application qui utilise l’identité managée affectée par le système pour interagir avec App Config.

    # Change directory to the SMI sample
    cd serviceconnector-webapp-appconfig-dotnet\system-managed-identity
    
    # Create a web app
    
    LOCATION='eastus'
    RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
    APP_SERVICE_NAME='webapp-appconfig-smi'
    
    az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
    
    Paramètre Description Exemple
    Emplacement Choisissez un emplacement près de chez vous. Utilisez az account list-locations --output tablepour répertorier les emplacements. eastus
    Nom du groupe ressources Vous utiliserez ce groupe de ressources pour organiser toutes les ressources Azure nécessaires à l’exécution de ce tutoriel. service-connector-tutorial-rg
    Nom de l’App Service Le nom du service d’application est utilisé comme nom de la ressource dans Azure et pour former le nom de domaine complet de votre application, sous la forme du point de terminaison de serveur https://<app-service-name>.azurewebsites.com. Ce nom doit être unique dans tout Azure, et les seuls caractères autorisés sont A-Z, 0-9 et -. webapp-appconfig-smi
  3. Créer un magasin Azure App Configuration

    APP_CONFIG_NAME='my-app-config'
    
    az appconfig create -g $RESOURCE_GROUP_NAME -n $APP_CONFIG_NAME --sku Free -l eastus
    
  4. Importez le fichier de configuration de test dans Azure App Configuration.

    Importez le fichier de configuration de test dans Azure App Configuration à l’aide d’une identité managée affectée par le système.

    1. Accédez au dossier ServiceConnectorSample.

    2. Importez le fichier de configuration de test ./sampleconfigs.json dans le magasin App Configuration. Si vous utilisez Cloud Shell, chargez sampleconfigs.json avant d’exécuter la commande.

      az appconfig kv import -n $APP_CONFIG_NAME --source file --format json --path ./sampleconfigs.json --separator : --yes
      

Connecter l’application web à App Configuration

Créez une connexion entre votre application web et votre magasin App Configuration.

Créez une connexion entre votre application web et votre magasin App Configuration, à l’aide d’une authentification d’identité managée affectée par le système. Cette connexion s’effectue par le biais du connecteur de services.

az webapp connection create appconfig -g $RESOURCE_GROUP_NAME -n $APP_SERVICE_NAME --app-config $APP_CONFIG_NAME --tg $RESOURCE_GROUP_NAME --connection "app_config_smi" --system-identity

system-identity fait référence au type d’authentification SMI (identité managée affectée par le système). Le connecteur de services prend également en charge les authentifications suivantes : identité managée affectée par l’utilisateur (UMI), chaîne de connexion (secret) et principal de service.

Valider la connexion

  1. Pour vérifier si la connexion fonctionne, accédez à votre application web à https://<myWebAppName>.azurewebsites.net/ à partir de votre navigateur. Une fois le site web opérationnel, vous verrez qu’il affiche « Hello. Your Azure WebApp is connected to App Configuration by ServiceConnector now ».

Fonctionnement

Vous trouverez ci-dessous ce que le connecteur de services gère en arrière-plan pour chaque type d’authentification.

Le connecteur de services gère la configuration de connexion pour vous :

  • Configurez le AZURE_APPCONFIGURATION_ENDPOINT de l’application web pour permettre à l’application d’y accéder et d’obtenir le point de terminaison App Configuration. Exemple de code d’accès.
  • Activez l’authentification managée affectée par le système de l’application web et accordez à App Configuration le rôle Lecteur de données pour permettre à l’application de s’authentifier auprès d’App Configuration à l’aide de DefaultAzureCredential à partir d’Azure.Identity. Exemple de code d’accès.

Pour plus d’informations, accédez à Composants internes du connecteur de services.

Test (facultatif)

Si vous le souhaitez, effectuez les tests suivants :

  1. Mettez à jour la valeur de la clé SampleApplication:Settings:Messages dans le magasin App Configuration.

    az appconfig kv set -n <myAppConfigStoreName> --key SampleApplication:Settings:Messages --value hello --yes
    
  2. Accédez à votre application web Azure à https://<myWebAppName>.azurewebsites.net/ et actualisez la page. Vous verrez que le message est mis à jour et indique « hello ».

Nettoyer les ressources

Une fois terminé, si vous n’allez plus utiliser ces ressources Azure, supprimez-les en exécutant la commande az group delete. Cette commande supprime votre groupe de ressources et toutes les ressources s’y trouvant.

az group delete -n <myResourceGroupName> --yes

Étapes suivantes

Suivez les tutoriels ci-dessous pour en savoir plus sur Service Connector.