Zelfstudie: Een web-app verbinden met Azure-app Configuratie met Service Connector
Artikel
Meer informatie over het verbinden van een ASP.NET Core-app die wordt uitgevoerd op Azure-app Service, om Azure-app Configuratie te Azure-app met behulp van een van de volgende methoden:
Door het systeem toegewezen beheerde identiteit (SMI)
Door de gebruiker toegewezen beheerde identiteit (UMI)
Service-principal
Connection string
In deze zelfstudie gebruikt u de Azure CLI om de volgende taken uit te voeren:
Azure-resources instellen
Een verbinding maken tussen een web-app en App Configuration
Uw app bouwen en implementeren in Azure-app Service
Vereisten
Een Azure-account met een actief abonnement. Uw toegangsrol binnen het abonnement moet 'Inzender' of 'Eigenaar' zijn. Gratis een account maken
Maak een app-service en implementeer de voorbeeld-app die gebruikmaakt van door het systeem toegewezen beheerde identiteit om te communiceren met app-configuratie.
# 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
Voorbeeld
Locatie
Kies een locatie bij u in de buurt. Gebruik az account list-locations --output table dit om locaties weer te geven.
eastus
Naam van de resourcegroep
U gebruikt deze resourcegroep om alle Azure-resources te organiseren die nodig zijn om deze zelfstudie te voltooien.
service-connector-tutorial-rg
Naam van App Service
De naam van de app-service wordt gebruikt als de naam van de resource in Azure en om de volledig gekwalificeerde domeinnaam voor uw app te vormen, in de vorm van het servereindpunt https://<app-service-name>.azurewebsites.com. Deze naam moet uniek zijn in alle Azure en de enige toegestane tekens zijn A-Z,-09 en .-
webapp-appconfig-smi
Maak een app-service en implementeer de voorbeeld-app die gebruikmaakt van door de gebruiker toegewezen beheerde identiteit om te communiceren met app-configuratie.
# Change directory to the UMI sample
cd serviceconnector-webapp-appconfig-dotnet\user-assigned-managed-identity
# Create a web app
LOCATION='eastus'
RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
APP_SERVICE_NAME='webapp-appconfig-umi'
az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
Parameter
Description
Voorbeeld
Locatie
Kies een locatie bij u in de buurt. Gebruik az account list-locations --output table dit om locaties weer te geven.
eastus
Naam van de resourcegroep
U gebruikt deze resourcegroep om alle Azure-resources te organiseren die nodig zijn om deze zelfstudie te voltooien.
service-connector-tutorial-rg
Naam van App Service
De naam van de app-service wordt gebruikt als de naam van de resource in Azure en om de volledig gekwalificeerde domeinnaam voor uw app te vormen, in de vorm van het servereindpunt https://<app-service-name>.azurewebsites.com. Deze naam moet uniek zijn in alle Azure en de enige toegestane tekens zijn A-Z,-09 en .-
webapp-appconfig-umi
Maak een door de gebruiker toegewezen beheerde identiteit. Sla de uitvoer op in een tijdelijk kladblok.
az identity create --resource-group $RESOURCE_GROUP_NAME -n "myIdentity"
Maak een app-service en implementeer de voorbeeld-app die gebruikmaakt van een service-principal om te communiceren met app-configuratie.
# Change directory to the service principal sample
cd serviceconnector-webapp-appconfig-dotnet\service-principal
# Create a web app
LOCATION='eastus'
RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
APP_SERVICE_NAME='webapp-appconfig-sp'
az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
Parameter
Description
Voorbeeld
Locatie
Kies een locatie bij u in de buurt. Gebruik az account list-locations --output table dit om locaties weer te geven.
eastus
Naam van de resourcegroep
U gebruikt deze resourcegroep om alle Azure-resources te organiseren die nodig zijn om deze zelfstudie te voltooien.
service-connector-tutorial-rg
Naam van App Service
De naam van de app-service wordt gebruikt als de naam van de resource in Azure en om de volledig gekwalificeerde domeinnaam voor uw app te vormen, in de vorm van het servereindpunt https://<app-service-name>.azurewebsites.com. Deze naam moet uniek zijn in alle Azure en de enige toegestane tekens zijn A-Z,-09 en .-
webapp-appconfig-sp
Maak een service-principal en zorg ervoor dat u de id van uw yourSubscriptionID werkelijke abonnement vervangt. Sla de uitvoer op in een tijdelijk kladblok.
az ad sp create-for-rbac --name myServicePrincipal --role Contributor --scopes /subscriptions/{yourSubscriptionID}/resourceGroups/$RESOURCE_GROUP_NAME
Waarschuwing
Microsoft raadt u aan de veiligste verificatiestroom te gebruiken die beschikbaar is. De verificatiestroom die in deze procedure wordt beschreven, vereist een zeer hoge mate van vertrouwen in de toepassing en brengt risico's met zich mee die niet aanwezig zijn in andere stromen. U moet deze stroom alleen gebruiken wanneer andere veiligere stromen, zoals beheerde identiteiten, niet haalbaar zijn.
Maak een app-service en implementeer de voorbeeld-app die gebruikmaakt van verbindingsreeks om te communiceren met app-configuratie.
# Change directory to the service principal sample
cd serviceconnector-webapp-appconfig-dotnet\connection-string
# Create a web app
LOCATION='eastus'
RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
APP_SERVICE_NAME='webapp-appconfig-cs'
az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
Parameter
Description
Voorbeeld
Locatie
Kies een locatie bij u in de buurt. Gebruik az account list-locations --output table dit om locaties weer te geven.
eastus
Naam van de resourcegroep
U gebruikt deze resourcegroep om alle Azure-resources te organiseren die nodig zijn om deze zelfstudie te voltooien.
service-connector-tutorial-rg
Naam van App Service
De naam van de app-service wordt gebruikt als de naam van de resource in Azure en om de volledig gekwalificeerde domeinnaam voor uw app te vormen, in de vorm van het servereindpunt https://<app-service-name>.azurewebsites.com. Deze naam moet uniek zijn in alle Azure en de enige toegestane tekens zijn A-Z,-09 en .-
Microsoft raadt u aan de veiligste verificatiestroom te gebruiken die beschikbaar is. De verificatiestroom die in deze procedure wordt beschreven, vereist een zeer hoge mate van vertrouwen in de toepassing en brengt risico's met zich mee die niet aanwezig zijn in andere stromen. U moet deze stroom alleen gebruiken wanneer andere veiligere stromen, zoals beheerde identiteiten, niet haalbaar zijn.
Importeer het testconfiguratiebestand in Azure-app Configuratie met behulp van een verbindingsreeks.
Maak een verbinding tussen uw webtoepassing en uw App Configuration-archief met behulp van een door het systeem toegewezen beheerde identiteitverificatie. Deze verbinding wordt uitgevoerd via serviceconnector.
system-identity verwijst naar het door het systeem toegewezen SMI-verificatietype (Managed Identity). Service Connector ondersteunt ook de volgende verificaties: door de gebruiker toegewezen beheerde identiteit (UMI), verbindingsreeks (geheim) en service-principal.
Maak een verbinding tussen uw webtoepassing en uw App Configuration-archief met behulp van een door de gebruiker toegewezen beheerde identiteitverificatie. Deze verbinding wordt uitgevoerd via serviceconnector.
user-identity verwijst naar het door de gebruiker toegewezen verificatietype voor beheerde identiteiten. Service Connector ondersteunt ook de volgende verificaties: door het systeem toegewezen beheerde identiteit, verbindingsreeks (geheim) en service-principal.
Er zijn twee manieren waarop u het client-idvolgende kunt vinden:
Voer in de Azure CLI het volgende in az identity show -n "myIdentity" -g $RESOURCE_GROUP_NAME --query 'clientId'.
Open in Azure Portal de beheerde identiteit die eerder en in Overzicht is gemaakt, en haal de waarde op onder Client-id.
Maak een verbinding tussen uw webtoepassing en uw App Configuration-archief met behulp van een service-principal. Dit wordt gedaan via serviceconnector.
service-principal verwijst naar het verificatietype service-principal. Service Connector ondersteunt ook de volgende verificaties: door het systeem toegewezen beheerde identiteit (UMI), door de gebruiker toegewezen beheerde identiteit (UMI) en verbindingsreeks (geheim).
Maak een verbinding tussen uw webtoepassing en uw App Configuration-archief met behulp van een verbindingsreeks. Deze verbinding wordt uitgevoerd via serviceconnector.
secret verwijst naar het verificatietype verbindingsreeks. Service Connector ondersteunt ook de volgende verificaties: door het systeem toegewezen beheerde identiteit, door de gebruiker toegewezen beheerde identiteit en service-principal.
De verbinding valideren
Als u wilt controleren of de verbinding werkt, gaat u vanuit uw browser naar uw web-app https://<myWebAppName>.azurewebsites.net/ . Zodra de website is geopend, ziet u dat 'Hallo' wordt weergegeven. Uw Azure WebApp is nu verbonden met App Configuration door ServiceConnector.
Hoe het werkt
Hieronder vindt u welke Service Connector achter de schermen voor elk verificatietype beheert.
Service Connector beheert de verbindingsconfiguratie voor u:
Stel de web-app AZURE_APPCONFIGURATION_ENDPOINT in om de toepassing toegang te geven tot de app en het App Configuration-eindpunt op te halen. Voorbeeldcode voor toegang.
Activeer de door het systeem toegewezen beheerde verificatie van de web-app en verleen App Configuration een gegevenslezerrol om de toepassing te laten verifiëren bij de App Configuration met behulp van DefaultAzureCredential van Azure.Identity. Voorbeeldcode voor toegang.
Service Connector beheert de verbindingsconfiguratie voor u:
Stel de web-app's AZURE_APPCONFIGURATION_ENDPOINTin om AZURE_APPCONFIGURATION_CLIENTID de toepassing toegang te geven tot de app en het app-configuratie-eindpunt in code op te halen;
Activeer de door de gebruiker toegewezen beheerde verificatie van de web-app en verleen App Configuration een gegevenslezerrol om de toepassing te laten verifiëren bij de App Configuration met behulp van DefaultAzureCredential van Azure.Identity. Voorbeeldcode voor toegang.
Service Connector beheert de verbindingsconfiguratie voor u:
Stel de web-app AZURE_APPCONFIGURATION_ENDPOINT in om de toepassing toegang te geven tot de app en het App Configuration-eindpunt op te halen. Voorbeeldcode voor toegang.
sla de referenties van de service-principal op in WebApp AppSettings AZURE_APPCONFIGURATION_CLIENTID. AZURE_APPCONFIGURATION_TENANTIDen AZURE_APPCONFIGURATION_CLIENTSECRET verleent De rol App Configuration Data Reader aan de service-principal, zodat de toepassing kan worden geverifieerd bij de App Configuration in code, met behulp van ClientSecretCredential Azure.Identity.
Service Connector beheert de verbindingsconfiguratie voor u:
Stel de web-app in AZURE_APPCONFIGURATION_CONNECTIONSTRING om de toepassing toegang te geven en de App Configuration-verbindingsreeks op te halen. Voorbeeldcode voor toegang.
Activeer de door het systeem toegewezen beheerde verificatie van de web-app en verleen App Configuration een gegevenslezerrol om de toepassing te laten verifiëren bij de App Configuration met behulp van DefaultAzureCredential van Azure.Identity. Voorbeeldcode voor toegang.
Werk de waarde van de sleutel SampleApplication:Settings:Messages in het App Configuration Store bij.
az appconfig kv set -n <myAppConfigStoreName> --key SampleApplication:Settings:Messages --value hello --yes
Navigeer naar uw Azure-web-app door naar de pagina te https://<myWebAppName>.azurewebsites.net/ gaan en te vernieuwen. U ziet dat het bericht is bijgewerkt naar 'hallo'.
Resources opschonen
Als u klaar bent en u deze Azure-resources niet meer gaat gebruiken, verwijdert u deze door de opdracht uit te az group delete voeren. Met deze opdracht worden uw resourcegroep en alle resources erin verwijderd.
az group delete -n <myResourceGroupName> --yes
Volgende stappen
Volg de onderstaande zelfstudies voor meer informatie over Service Connector.