Freigeben über


Tutorial: Verbinden einer Web-App mit Azure App Configuration mithilfe eines Dienstconnectors

Erfahren Sie, wie Sie eine ASP.NET Core-App, die unter Azure App Service ausgeführt wird, mithilfe einer der folgenden Methoden mit Azure App Configuration verbinden:

  • Systemseitig zugewiesene verwaltete Identität (SMI)
  • Benutzerseitig zugewiesene verwaltete Identität (UMI)
  • Dienstprinzipal
  • Verbindungszeichenfolge

In diesem Tutorial verwenden Sie die Azure CLI, um folgende Aufgaben auszuführen:

  • Einrichten von Azure-Ressourcen
  • Erstellen einer Verbindung zwischen einer Web-App und App Configuration
  • Erstellen und Bereitstellen Ihrer App für Azure App Service

Voraussetzungen

Anmelden bei Azure

Führen Sie az login in der Azure CLI aus, um sich bei Azure anzumelden.

Einrichten von Azure-Ressourcen

Beginnen Sie mit dem Erstellen Ihrer Azure-Ressourcen.

  1. Klonen Sie das folgende Beispielrepository:

    git clone https://github.com/Azure-Samples/serviceconnector-webapp-appconfig-dotnet.git
    
  2. Bereitstellen der Web-App in Azure

    Folgen Sie diesen Schritten, um eine App Service-Instanz zu erstellen und die Beispiel-App bereitzustellen. Vergewissern Sie sich, dass Sie über die Rolle „Abonnementmitwirkender“ oder „Besitzer“ verfügen.

    Erstellen Sie einen App-Dienst, und stellen Sie die Beispiel-App bereit, die die systemseitig zugewiesene verwaltete Identität zur Interaktion mit der App-Konfiguration verwendet.

    # 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
    
    Parameter BESCHREIBUNG Beispiel
    Standort Wählen Sie einen Standort in Ihrer Nähe aus. Verwenden Sie az account list-locations --output table zum Auflisten von Standorten. eastus
    Ressourcengruppenname Sie verwenden diese Ressourcengruppe, um alle zum Abschließen dieses Tutorials erforderlichen Azure-Ressourcen zu organisieren. service-connector-tutorial-rg
    App Service-Name Der App Service-Name wird als Name der Ressource in Azure und zum Erstellen des vollqualifizierten Domänennamens für Ihre App in Form des Serverendpunkts https://<app-service-name>.azurewebsites.com verwendet. Dieser Name muss innerhalb von Azure eindeutig sein, und zulässig sind ausschließlich die Zeichen A-Z, 0-9 und -. webapp-appconfig-smi
  3. Erstellen eines Azure App Configuration-Speichers

    APP_CONFIG_NAME='my-app-config'
    
    az appconfig create -g $RESOURCE_GROUP_NAME -n $APP_CONFIG_NAME --sku Free -l eastus
    
  4. Importieren Sie die Testkonfigurationsdatei in Azure App Configuration.

    Importieren Sie die Testkonfigurationsdatei mithilfe einer systemseitig zugewiesenen verwalteten Identität in Azure App Configuration.

    1. Wechseln Sie in den Ordner ServiceConnectorSample.

    2. Importieren Sie die Testkonfigurationsdatei ./sampleconfigs.json in den App Configuration-Speicher. Wenn Sie Cloud Shell verwenden, laden Sie sampleconfigs.json hoch, bevor Sie den Befehl ausführen.

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

Verbinden der Web-App mit App Configuration

Erstellen Sie eine Verbindung zwischen Ihrer Webanwendung und Ihrem App Configuration-Speicher.

Erstellen Sie eine Verbindung zwischen Ihrer Anwendung und Ihrem App Configuration-Speicher unter Verwendung einer Authentifizierung mit systemseitig zugewiesener verwalteter Identität. Diese Verbindung erfolgt über den Dienstconnector.

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 bezieht sich auf den Authentifizierungstyp der systemseitig zugewiesenen verwalteten Identität (SMI). Der Dienstconnector unterstützt auch die folgenden Authentifizierungen: Benutzerseitig zugewiesene verwaltete Identität (UMI), Verbindungszeichenfolge (Geheimnis) und Dienstprinzipal.

Überprüfen der Verbindung

  1. Um zu überprüfen, ob die Verbindung funktioniert, navigieren Sie in Ihrem Browser zu Ihrer Web-App unter https://<myWebAppName>.azurewebsites.net/. Sobald die Website verfügbar ist, sehen Sie die Meldung „Hallo. Ihre Azure-Web-App ist jetzt über ServiceConnector mit App Configuration verbunden.“

Funktionsweise

Im Folgenden erfahren Sie, was der Dienstconnector im Hintergrund für die einzelnen Authentifizierungstypen verwaltet.

Der Dienstconnector verwaltet die Verbindungskonfiguration für Sie:

  • Richten Sie den AZURE_APPCONFIGURATION_ENDPOINT der Web-App ein, damit die Anwendung darauf zugreifen und den App Configuration-Endpunkt abrufen kann. Greifen Sie auf den Beispielcode zu.
  • Aktivieren Sie die Authentifizierung vom Typ „Systemseitig zugewiesene verwaltete Identität“ der Web-App, und gewähren Sie App Configuration die Rolle „Datenleseberechtigter“, damit sich die Anwendung mithilfe von „DefaultAzureCredential“ aus „Azure.Identity“ bei App Configuration authentifizieren kann. Greifen Sie auf den Beispielcode zu.

Weitere Informationen hierzu finden Sie unter Besonderheiten des Dienstconnectors.

Testen (optional)

Führen Sie optional die folgenden Tests aus:

  1. Aktualisieren Sie den Wert des Schlüssels SampleApplication:Settings:Messages im App Configuration-Speicher.

    az appconfig kv set -n <myAppConfigStoreName> --key SampleApplication:Settings:Messages --value hello --yes
    
  2. Navigieren Sie zu Ihrer Azure-Web-App, indem Sie zu https://<myWebAppName>.azurewebsites.net/ wechseln und die Seite aktualisieren. Sie werden sehen, dass die Nachricht zu „Hallo“ aktualisiert wird.

Bereinigen von Ressourcen

Wenn Sie diese Azure-Ressourcen nicht mehr verwenden werden, löschen Sie sie, indem Sie den Befehl az group delete ausführen. Mit diesem Befehl werden Ihre Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.

az group delete -n <myResourceGroupName> --yes

Nächste Schritte

Befolgen Sie die unten aufgeführten Tutorials, um mehr über Service Connector zu erfahren.