Esercitazione: collegare un'app Web a Configurazione app di Azure usando Connettore di servizi

Informazioni su come collegare un'app ASP.NET Core in esecuzione su Azure App Service a Configurazione app di Azure, usando uno dei metodi seguenti:

  • Identità gestita assegnata dal sistema (SMI)
  • Identità gestita assegnata dall'utente (UMI)
  • Entità servizio
  • Stringa di connessione

In questa esercitazione verrà usata l'interfaccia della riga di comando di Azure per completare le attività seguenti:

  • Configurare le risorse di Azure
  • Creare una connessione tra un'app Web e Configurazione app
  • Compilare e distribuire l'app in Servizio app di Azure

Prerequisiti

Accedere ad Azure

Eseguire az login nell'interfaccia della riga di comando di Azure per accedere ad Azure.

Configurare le risorse di Azure

Per iniziare, creare le risorse Azure.

  1. Clonare il seguente repository di esempio:

    git clone https://github.com/Azure-Samples/serviceconnector-webapp-appconfig-dotnet.git
    
  2. Distribuire l'app Web in Azure

    Seguire i passaggi seguenti per creare un Servizio app e distribuire l'app di esempio. Assicurarsi di disporre del ruolo di Collaboratore o Proprietario della sottoscrizione.

    Creare un Servizio app e distribuire l'app di esempio che usa un'identità gestita assegnata al sistema per interagire con Configurazione app.

    # 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
    
    Parametro Descrizione Esempio
    Ufficio Selezionare una località nelle vicinanze. Usare il comando az account list-locations --output table per elencare le posizioni. Stati Uniti orientali
    Nome del gruppo di risorse Usare questo gruppo di risorse per organizzare tutte le risorse Azure necessarie per completare questa esercitazione. service-connector-tutorial-rg
    Nome del servizio app Il nome del Servizio app viene utilizzato come nome della risorsa in Azure e per formare il nome di dominio completo per l'app, nella forma dell'endpoint del server https://<app-service-name>.azurewebsites.com. Questo nome deve essere univoco in tutto Azure e i caratteri consentiti sono solo A-Z, 0-9 e -. webapp-appconfig-smi
  3. Creare un archivio di Configurazione app di Azure

    APP_CONFIG_NAME='my-app-config'
    
    az appconfig create -g $RESOURCE_GROUP_NAME -n $APP_CONFIG_NAME --sku Free -l eastus
    
  4. Importare il file di configurazione di test in Configurazione app di Azure.

    Importare il file di configurazione di test in Configurazione app di Azure usando un'identità gestita assegnata al sistema.

    1. Eseguire il comando cd nella cartella ServiceConnectorSample

    2. Importare il file di configurazione di test ./sampleconfigs.json nell'archivio Configurazione app. Se si utilizza Cloud Shell, caricare sampleconfigs.json prima di eseguire il comando.

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

Collegare l'app Web a Configurazione app

Creare una connessione tra l'applicazione Web e l'archivio Configurazione app.

Creare una connessione tra l'applicazione Web e l'archivio Configurazione app, usando l'autenticazione tramite identità gestita assegnata al sistema. Questa connessione viene effettuata tramite Connettore di servizi.

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 si riferisce al tipo di autenticazione tramite identità gestita assegnata al sistema (SMI). Connettore di servizi supporta anche le seguenti autenticazioni: identità gestita assegnata dall'utente (UMI), stringa di connessione (chiave segreta) ed entità servizio.

Convalidare la connessione

  1. Per verificare se la connessione è funzionante, passare all'app Web su https://<myWebAppName>.azurewebsites.net/ dal browser. Una volta che il sito web è attivo, verrà visualizzato il messaggio "Salve. L'app Web di Azure è ora connessa a Configurazione app tramite ServiceConnector".

Funzionamento

Di seguito sono riportati i dettagli su come Connettore servizi gestisce ciascun tipo di autenticazione.

Connettore di servizi gestisce la configurazione della connessione:

  • Impostare AZURE_APPCONFIGURATION_ENDPOINT dell'app Web per consentire all'applicazione di accedervi e ottenere l'endpoint di Configurazione app. Accedere al codice di esempio.
  • Attivare l'autenticazione gestita assegnata al sistema per l'app Web e concedere a Configurazione app il ruolo di Lettore dati per consentire all'applicazione di autenticarsi a Configurazione app usando DefaultAzureCredential di Azure.Identity. Accedere al codice di esempio.

Per altre informazioni, vedere il funzionamento dettagliato di Connettore servizio.

Test (facoltativo)

Facoltativamente, eseguire i test seguenti:

  1. Aggiornare il valore della chiave SampleApplication:Settings:Messages nell'archivio di Configurazione app.

    az appconfig kv set -n <myAppConfigStoreName> --key SampleApplication:Settings:Messages --value hello --yes
    
  2. Accedere all'app Web di Azure passando a https://<myWebAppName>.azurewebsites.net/ e aggiornare la pagina. Si vedrà che il messaggio viene aggiornato a "Salve".

Pulire le risorse

Al termine dell'operazione, se non si intende usare più queste risorse di Azure, eliminarle eseguendo il comando az group delete. Questo comando elimina il gruppo di risorse e tutte le risorse al suo interno.

az group delete -n <myResourceGroupName> --yes

Passaggi successivi

Per altre informazioni sul connettore di servizi seguire le esercitazioni riportate di seguito.