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)
  • Service Principal
  • 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

Prerequisites

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. Stellen Sie sicher, dass Sie über die Rolle " Mitwirkender " oder "Besitzer" des Abonnements 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 Description Example
    Location Wählen Sie einen Ort in Ihrer Nähe aus. Verwenden Sie az account list-locations --output table zum Auflisten von Standorten. eastus
    Ressourcengruppenname Verwenden Sie diese Ressourcengruppe, um alle Azure-Ressourcen zu organisieren, die zum Abschließen dieses Lernprogramms erforderlich sind. service-connector-tutorial-rg
    App Service-Name Der Name des App-Diensts wird als Name der Ressource in Azure verwendet und um den vollqualifizierten Domänennamen für Ihre App in Form des Serverendpunkts zu bilden. Gültige Zeichen sind A-Z, 0-9 und -. Azure fügt eine zufällige Zeichenfolge an, um den Serverendpunkt in allen Azure eindeutig zu machen. webapp-appconfig-smi
  3. Erstellen Sie einen Azure App-Konfigurationsspeicher.

    APP_CONFIG_NAME='my-app-config'
    
    az appconfig create --resource-group $RESOURCE_GROUP_NAME --name $APP_CONFIG_NAME --sku Free --location 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 das Verzeichnis zum Ordner ServiceConnectorSample.

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

      az appconfig kv import --name $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 --resource-group $RESOURCE_GROUP_NAME --name $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). Service Connector unterstützt auch die folgenden Authentifizierungen: vom Benutzer zugewiesene verwaltete Identität (UMI), Verbindungszeichenfolge [geheim] und Service Principal.

Überprüfen der Verbindung

Um zu überprüfen, ob die Verbindung funktioniert, navigieren Sie zu Ihrer Web-App. Die einfachste Möglichkeit, ihre Web-App zu öffnen, besteht darin, sie im Azure-Portal zu öffnen. Wählen Sie auf der Seite "Übersicht" die Standarddomäne aus. Nachdem die Website online ist, sehen Sie, dass folgendes angezeigt wird: Hallo. Ihre Azure WebApp ist jetzt durch ServiceConnector mit App Configuration verbunden.

Funktionsweise

Erfahren Sie, was Service Connector hinter den Kulissen für jeden Authentifizierungstyp 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. Zugriff auf Beispielcode.
  • 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. Zugriff auf Beispielcode.

Weitere Informationen finden Sie unter "Service Connector internals".

Test (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 --name <myAppConfigStoreName> --key SampleApplication:Settings:Messages --value hello --yes
    
  2. Navigieren Sie wie zuvor beschrieben zu Ihrer Azure Web App, und aktualisieren Sie die Seite. Sie sehen, dass die Nachricht aktualisiert wird auf: hallo.

Bereinigen von Ressourcen

Nachdem Sie fertig sind, löschen Sie sie, wenn Sie diese Azure-Ressourcen nicht mehr verwenden werden, indem Sie den az group delete Befehl ausführen. Dieser Befehl löscht Ihre Ressourcengruppe und alle darin aufgeführten Ressourcen.

az group delete --name <myResourceGroupName> --yes

Nächster Schritt