Zjistěte, jak připojit aplikaci ASP.NET Core spuštěnou ve službě Azure App Service ke službě Azure App Configuration pomocí jedné z následujících metod:
- Spravovaná identita přiřazená systémem (SMI)
- Spravovaná identita přiřazená uživatelem (UMI)
- Hlavní služba
- Připojovací řetězec
V tomto kurzu pomocí Azure CLI proveďte následující úlohy:
- Nastavení prostředků Azure
- Vytvoření připojení mezi webovou aplikací a službou App Configuration
- Sestavení a nasazení aplikace do služby Azure App Service
Prerequisites
Přihlásit se do Azure
Spuštěním az login v Azure CLI se přihlaste k Azure.
Nastavení prostředků Azure
Začněte vytvořením prostředků Azure.
Naklonujte následující ukázkové úložiště:
git clone https://github.com/Azure-Samples/serviceconnector-webapp-appconfig-dotnet.git
Nasaďte webovou aplikaci do Azure.
Pomocí těchto kroků vytvořte službu App Service a nasaďte ukázkovou aplikaci. Ujistěte se, že máte roli Přispěvatel předplatného nebo Vlastník .
Vytvořte službu App Service a nasaďte ukázkovou aplikaci, která používá spravovanou identitu přiřazenou systémem k interakci s konfigurací aplikace.
# 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 |
Zvolte umístění blízko vás. Použijte az account list-locations --output table k výpisu umístění. |
eastus |
| Název skupiny prostředků |
Pomocí této skupiny prostředků uspořádejte všechny prostředky Azure potřebné k dokončení tohoto kurzu. |
service-connector-tutorial-rg |
| Název služby App Service |
Název služby App Service se používá jako název prostředku v Azure a k vytvoření plně kvalifikovaného názvu domény pro vaši aplikaci ve formě koncového bodu serveru. Povolené znaky jsou A-Z, 0-9a .- Azure připojí náhodný řetězec, aby byl koncový bod serveru jedinečný ve všech Azure. |
webapp-appconfig-smi |
Vytvořte službu App Service a nasaďte ukázkovou aplikaci, která používá spravovanou identitu přiřazenou uživatelem k interakci s konfigurací aplikace.
# 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 |
Example |
| Location |
Zvolte umístění blízko vás. Použijte az account list-locations --output table k výpisu umístění. |
eastus |
| Název skupiny prostředků |
Pomocí této skupiny prostředků uspořádejte všechny prostředky Azure potřebné k dokončení tohoto kurzu. |
service-connector-tutorial-rg |
| Název služby App Service |
Název služby App Service se používá jako název prostředku v Azure a k vytvoření plně kvalifikovaného názvu domény pro vaši aplikaci ve formě koncového bodu serveru. Povolené znaky jsou A-Z, 0-9a .- Azure připojí náhodný řetězec, aby byl koncový bod serveru jedinečný ve všech Azure. |
webapp-appconfig-umi |
Vytvořte spravovanou identitu přiřazenou uživatelem. Uložte výstup do dočasného poznámkového bloku.
az identity create --resource-group $RESOURCE_GROUP_NAME --name "myIdentity"
Vytvořte aplikační službu a nasaďte ukázkovou aplikaci, která používá instanční objekt pro interakci s konfigurací aplikace.
# 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 |
Example |
| Location |
Zvolte umístění blízko vás. Použijte az account list-locations --output table k výpisu umístění. |
eastus |
| Název skupiny prostředků |
Pomocí této skupiny prostředků uspořádejte všechny prostředky Azure potřebné k dokončení tohoto kurzu. |
service-connector-tutorial-rg |
| Název služby App Service |
Název služby App Service se používá jako název prostředku v Azure a k vytvoření plně kvalifikovaného názvu domény pro vaši aplikaci ve formě koncového bodu serveru. Povolené znaky jsou A-Z, 0-9a .- Azure připojí náhodný řetězec, aby byl koncový bod serveru jedinečný ve všech Azure. |
webapp-appconfig-sp |
Vytvořte service principal. Nezapomeňte nahradit yourSubscriptionID skutečným ID předplatného. Uložte výstup do dočasného poznámkového bloku.
az ad sp create-for-rbac --name myServicePrincipal --role Contributor --scopes /subscriptions/{yourSubscriptionID}/resourceGroups/$RESOURCE_GROUP_NAME
Warning
Společnost Microsoft doporučuje používat nejbezpečnější dostupný způsob autentizace. Tok ověřování popsaný v tomto postupu vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci. Nese rizika, která nejsou přítomna v jiných tocích. Tento tok byste měli použít jenom v případě, že jiné bezpečnější toky, jako jsou spravované identity, nejsou přijatelné.
Vytvořte službu App Service a nasaďte ukázkovou aplikaci, která používá připojovací řetězec k interakci s konfigurací aplikace.
# 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 |
Example |
| Location |
Zvolte umístění blízko vás. Použijte az account list-locations --output table k výpisu umístění. |
eastus |
| Název skupiny prostředků |
Pomocí této skupiny prostředků uspořádejte všechny prostředky Azure potřebné k dokončení tohoto kurzu. |
service-connector-tutorial-rg |
| Název služby App Service |
Název služby App Service se používá jako název prostředku v Azure a k vytvoření plně kvalifikovaného názvu domény pro vaši aplikaci ve formě koncového bodu serveru. Povolené znaky jsou A-Z, 0-9a .- Azure připojí náhodný řetězec, aby byl koncový bod serveru jedinečný ve všech Azure. |
webapp-appconfig-cs |
Vytvořte Azure App Configuration Store.
APP_CONFIG_NAME='my-app-config'
az appconfig create --resource-group $RESOURCE_GROUP_NAME --name $APP_CONFIG_NAME --sku Free --location eastus
Naimportujte testovací konfigurační soubor do azure App Configuration.
Importujte konfigurační soubor testu do služby Azure App Configuration pomocí spravované identity přiřazené systémem.
Změňte adresáře na složku ServiceConnectorSample.
Naimportujte testovací konfigurační soubor ./sampleconfigs.json do úložiště App Configuration. Pokud používáte Cloud Shell, nahrajte sampleconfigs.json před spuštěním příkazu.
az appconfig kv import --name $APP_CONFIG_NAME --source file --format json --path ./sampleconfigs.json --separator : --yes
Naimportujte testovací konfigurační soubor do služby Azure App Configuration pomocí spravované identity přiřazené uživatelem.
Změňte adresáře na složku ServiceConnectorSample.
Naimportujte testovací konfigurační soubor ./sampleconfigs.json do úložiště App Configuration. Pokud používáte Cloud Shell, nahrajte sampleconfigs.json před spuštěním příkazu.
az appconfig kv import --name $APP_CONFIG_NAME --source file --format json --path ./sampleconfigs.json --separator : --yes
Importujte testovací konfigurační soubor do Azure App Configuration pomocí služebního principálu.
Změňte adresáře na složku ServiceConnectorSample.
Naimportujte konfigurační soubor ./sampleconfigs.json do App Configuration Store. Pokud používáte Cloud Shell, nahrajte sampleconfigs.json před spuštěním příkazu.
az appconfig kv import --name $APP_CONFIG_NAME --source file --format json --path ./sampleconfigs.json --separator : --yes
Warning
Společnost Microsoft doporučuje používat nejbezpečnější dostupný způsob autentizace. Tok ověřování popsaný v tomto postupu vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci. Nese rizika, která nejsou přítomna v jiných tocích. Tento tok byste měli použít jenom v případě, že jiné bezpečnější toky, jako jsou spravované identity, nejsou přijatelné.
Importujte konfigurační soubor testu do azure App Configuration pomocí připojovacího řetězce.
Změňte adresáře na složku ServiceConnectorSample.
Importujte testovací konfigurační soubor ./sampleconfigs.json do obchodu App Configuration. Pokud používáte Cloud Shell, nahrajte sampleconfigs.json před spuštěním příkazu.
az appconfig kv import --name $APP_CONFIG_NAME --source file --format json --path ./sampleconfigs.json --separator : --yes
Připojení webové aplikace ke konfiguraci aplikace
Vytvořte propojení mezi webovou aplikací a app Configuration Storem.
Pomocí ověřování identity spravované systémem vytvořte připojení mezi vaší webovou aplikací a vaším úložištěm App Configuration. Toto připojení se provádí prostřednictvím konektoru Service Connector.
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 odkazuje na typ ověřování spravované identity přiřazené systémem (SMI). Konektor služby také podporuje následující typy ověřování: spravovaná identita přiřazená uživatelem (UMI), připojovací řetězec (tajemství) a objekt služby.
Pomocí ověřování spravované identity přiřazené uživatelem vytvořte připojení mezi vaší webovou aplikací a službou App Configuration Store. Toto připojení se provádí prostřednictvím konektoru Service Connector.
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_umi" --user-identity client-id=<myIdentityClientId> subs-id=<myTestSubsId>
user-identity odkazuje na typ ověřování spravované identity přiřazené uživatelem. Service Connector také podporuje následující ověřování: spravovanou identitu přiřazenou systémem, připojovací řetězec (tajný klíč) a instanční objekt.
Existují dva způsoby, jak najít client-id:
- V Azure CLI zadejte
az identity show --name "myIdentity" --resource-group $RESOURCE_GROUP_NAME --query 'clientId'.
- Na webu Azure Portal otevřete spravovanou identitu vytvořenou dříve a v části Přehled získejte hodnotu v části ID klienta.
Pomocí služebního principálu vytvořte připojení mezi vaší webovou aplikací a úložištěm konfigurace aplikace. Tato konfigurace se provádí prostřednictvím konektoru Service Connector.
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_sp" --service-principal client-id=<mySPClientId> secret=<mySPSecret>
service-principal se vztahuje k typu ověřování principálu služby. Konektor služby také podporuje následující ověřování: spravovaná identita přiřazená systémem (UMI), spravovaná identita přiřazená uživatelem (UMI) a připojovací řetězec (tajný klíč).
Vytvořte připojení mezi webovou aplikací a app Configuration Store pomocí připojovacího řetězce. Toto připojení se provádí prostřednictvím konektoru Service Connector.
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_cs" --secret
secret odkazuje na typ ověřování připojovacího řetězce. Service Connector také podporuje následující typy ověřování: spravovaná identita přiřazená systémem, uživatelsky přiřazená spravovaná identita a zástupce služby.
Ověření připojení
Pokud chcete zkontrolovat, jestli připojení funguje, přejděte do své webové aplikace. Nejjednodušším způsobem, jak se dostat k webové aplikaci, je otevřít ji na webu Azure Portal. Na stránce Přehled vyberte výchozí doménu. Jakmile se web objeví, zobrazí se: Dobrý den. Vaše webová aplikace Azure je teď připojená ke službě App Configuration pomocí serviceConnectoru.
Jak to funguje
Zjistěte, co Service Connector spravuje na pozadí pro každý typ ověřování.
Service Connector spravuje konfiguraci připojení za vás:
- Nastavte webovou aplikaci
AZURE_APPCONFIGURATION_ENDPOINT tak, aby k ní přistupovala a získala koncový bod Konfigurace aplikace. Přístup k ukázkovém kódu
- Aktivujte systémem přiřazené spravované ověřování webové aplikace a udělte službě App Configuration roli Čtenář dat, aby se aplikace mohla ověřit ve službě App Configuration pomocí DefaultAzureCredential z Azure.Identity. Přístup k ukázkovém kódu
Service Connector spravuje konfiguraci připojení za vás:
- Nastavte webovou aplikaci
AZURE_APPCONFIGURATION_ENDPOINT, AZURE_APPCONFIGURATION_CLIENTID aby k ní aplikace mohla přistoupit a získat koncový bod konfigurace aplikace v kódu.
- Aktivujte spravované ověřování webové aplikace přiřazené uživatelem a udělte službě App Configuration roli Čtenář dat, aby se aplikace ověřila ve službě App Configuration pomocí DefaultAzureCredential z Azure.Identity. Přístup k ukázkovém kódu
Service Connector spravuje konfiguraci připojení za vás:
- Nastavte webovou aplikaci
AZURE_APPCONFIGURATION_ENDPOINT tak, aby k ní přistupovala a získala koncový bod Konfigurace aplikace. Přístup k ukázkovém kódu
- Uložte přihlašovací údaje prvku pro službu do nastavení aplikace WebApp AppSettings
AZURE_APPCONFIGURATION_CLIENTID.
AZURE_APPCONFIGURATION_TENANTID
AZURE_APPCONFIGURATION_CLIENTSECRET a udělte služebnímu účtu roli Čtenář dat konfigurace aplikace, aby se aplikace mohla ověřit v konfiguraci aplikace v kódu pomocí ClientSecretCredentialAzure.Identity.
Service Connector spravuje konfiguraci připojení za vás:
- Nakonfigurujte webovou aplikaci
AZURE_APPCONFIGURATION_CONNECTIONSTRING, aby k ní mohla aplikace přistupovat, a získejte připojovací řetězec konfigurace aplikace. Přístup k ukázkovém kódu
- Aktivujte systémem přiřazené spravované ověřování webové aplikace a udělte službě App Configuration roli Čtenář dat, aby se aplikace mohla ověřit ve službě App Configuration pomocí DefaultAzureCredential z Azure.Identity. Přístup k ukázkovém kódu
Další informace naleznete v části Interní aspekty konektoru služby.
Test (volitelné)
Volitelně můžete provést následující testy:
Aktualizujte hodnotu klíče SampleApplication:Settings:Messages v App Configuration Storu.
az appconfig kv set --name <myAppConfigStoreName> --key SampleApplication:Settings:Messages --value hello --yes
Přejděte do své webové aplikace Azure, jak je popsáno výše, a aktualizujte stránku. Uvidíte, že zpráva je aktualizovaná na: hello.
Vyčistěte zdroje
Pokud už tyto prostředky Azure nebudete používat, odstraňte je spuštěním az group delete příkazu. Tento příkaz odstraní vaši skupinu prostředků a všechny prostředky v ní.
az group delete --name <myResourceGroupName> --yes
Další krok