Samouczek: łączenie aplikacji internetowej z konfiguracją aplikacja systemu Azure za pomocą łącznika usługi
Artykuł
Dowiedz się, jak połączyć aplikację ASP.NET Core działającą w usłudze aplikacja systemu Azure Service z usługą aplikacja systemu Azure Configuration przy użyciu jednej z następujących metod:
Tożsamość zarządzana przypisana przez system (SMI)
Tożsamość zarządzana przypisana przez użytkownika (UMI)
Jednostka usługi
Connection string
W tym samouczku użyj interfejsu wiersza polecenia platformy Azure, aby wykonać następujące zadania:
Konfigurowanie zasobów platformy Azure
Tworzenie połączenia między aplikacją internetową a usługą App Configuration
Kompilowanie i wdrażanie aplikacji w usłudze aplikacja systemu Azure
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Twoja rola dostępu w ramach subskrypcji musi być "Współautor" lub "Właściciel". Utwórz konto bezpłatnie.
Wdrażanie aplikacji internetowej na platformie Azure
Wykonaj następujące kroki, aby utworzyć usługę App Service i wdrożyć przykładową aplikację. Upewnij się, że masz rolę Współautor subskrypcji lub Właściciel.
Utwórz usługę app service i wdróż przykładową aplikację, która używa przypisanej przez system tożsamości zarządzanej do interakcji z konfiguracją aplikacji.
# 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
Parametr
Opis
Przykład
Lokalizacja
Wybierz lokalizację w pobliżu. Użyj polecenia az account list-locations --output table , aby wyświetlić listę lokalizacji.
eastus
Nazwa grupy zasobów
Użyjesz tej grupy zasobów, aby zorganizować wszystkie zasoby platformy Azure potrzebne do ukończenia tego samouczka.
service-connector-tutorial-rg
Nazwa usługi aplikacji
Nazwa usługi app Service jest używana jako nazwa zasobu na platformie Azure i do utworzenia w pełni kwalifikowanej nazwy domeny dla aplikacji w postaci punktu końcowego https://<app-service-name>.azurewebsites.comserwera . Ta nazwa musi być unikatowa na całej platformie Azure, a jedynymi dozwolonymi znakami są A-Z,-09 i .-
webapp-appconfig-smi
Utwórz usługę app service i wdróż przykładową aplikację, która używa tożsamości zarządzanej przypisanej przez użytkownika do interakcji z konfiguracją aplikacji.
# 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
Parametr
Opis
Przykład
Lokalizacja
Wybierz lokalizację w pobliżu. Użyj polecenia az account list-locations --output table , aby wyświetlić listę lokalizacji.
eastus
Nazwa grupy zasobów
Użyjesz tej grupy zasobów, aby zorganizować wszystkie zasoby platformy Azure potrzebne do ukończenia tego samouczka.
service-connector-tutorial-rg
Nazwa usługi aplikacji
Nazwa usługi app Service jest używana jako nazwa zasobu na platformie Azure i do utworzenia w pełni kwalifikowanej nazwy domeny dla aplikacji w postaci punktu końcowego https://<app-service-name>.azurewebsites.comserwera . Ta nazwa musi być unikatowa na całej platformie Azure, a jedynymi dozwolonymi znakami są A-Z,-09 i .-
webapp-appconfig-umi
Utwórz tożsamość zarządzaną przypisaną przez użytkownika. Zapisz dane wyjściowe w tymczasowym notatniku.
az identity create --resource-group $RESOURCE_GROUP_NAME -n "myIdentity"
Utwórz usługę app service i wdróż przykładową aplikację, która używa jednostki usługi do interakcji z aplikacją App Config.
# 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
Parametr
Opis
Przykład
Lokalizacja
Wybierz lokalizację w pobliżu. Użyj polecenia az account list-locations --output table , aby wyświetlić listę lokalizacji.
eastus
Nazwa grupy zasobów
Użyjesz tej grupy zasobów, aby zorganizować wszystkie zasoby platformy Azure potrzebne do ukończenia tego samouczka.
service-connector-tutorial-rg
Nazwa usługi aplikacji
Nazwa usługi app Service jest używana jako nazwa zasobu na platformie Azure i do utworzenia w pełni kwalifikowanej nazwy domeny dla aplikacji w postaci punktu końcowego https://<app-service-name>.azurewebsites.comserwera . Ta nazwa musi być unikatowa na całej platformie Azure, a jedynymi dozwolonymi znakami są A-Z,-09 i .-
webapp-appconfig-sp
Utwórz jednostkę usługi, zastąp element yourSubscriptionID rzeczywistym identyfikatorem subskrypcji. Zapisz dane wyjściowe w tymczasowym notatniku.
az ad sp create-for-rbac --name myServicePrincipal --role Contributor --scopes /subscriptions/{yourSubscriptionID}/resourceGroups/$RESOURCE_GROUP_NAME
Ostrzeżenie
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Przepływ uwierzytelniania opisany w tej procedurze wymaga bardzo wysokiego poziomu zaufania w aplikacji i niesie ze sobą ryzyko, które nie występują w innych przepływach. Tego przepływu należy używać tylko wtedy, gdy inne bezpieczniejsze przepływy, takie jak tożsamości zarządzane, nie są opłacalne.
Utwórz usługę app service i wdróż przykładową aplikację, która używa parametry połączenia do interakcji z aplikacją App Config.
# 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
Parametr
Opis
Przykład
Lokalizacja
Wybierz lokalizację w pobliżu. Użyj polecenia az account list-locations --output table , aby wyświetlić listę lokalizacji.
eastus
Nazwa grupy zasobów
Użyjesz tej grupy zasobów, aby zorganizować wszystkie zasoby platformy Azure potrzebne do ukończenia tego samouczka.
service-connector-tutorial-rg
Nazwa usługi aplikacji
Nazwa usługi app Service jest używana jako nazwa zasobu na platformie Azure i do utworzenia w pełni kwalifikowanej nazwy domeny dla aplikacji w postaci punktu końcowego https://<app-service-name>.azurewebsites.comserwera . Ta nazwa musi być unikatowa na całej platformie Azure, a jedynymi dozwolonymi znakami są A-Z,-09 i .-
webapp-appconfig-cs
Tworzenie magazynu konfiguracji aplikacja systemu Azure
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Przepływ uwierzytelniania opisany w tej procedurze wymaga bardzo wysokiego poziomu zaufania w aplikacji i niesie ze sobą ryzyko, które nie występują w innych przepływach. Tego przepływu należy używać tylko wtedy, gdy inne bezpieczniejsze przepływy, takie jak tożsamości zarządzane, nie są opłacalne.
Zaimportuj plik konfiguracji testu do aplikacja systemu Azure Configuration przy użyciu parametry połączenia.
Cd into the folder (Cd into the folder) ServiceConnectorSample
Utwórz połączenie między aplikacją internetową a magazynem App Configuration przy użyciu uwierzytelniania tożsamości zarządzanej przypisanej przez system. To połączenie odbywa się za pośrednictwem łącznika usługi.
system-identity odnosi się do typu uwierzytelniania tożsamości zarządzanej przypisanej przez system (SMI). Łącznik usługi obsługuje również następujące uwierzytelnianie: tożsamość zarządzana przypisana przez użytkownika (UMI), parametry połączenia (wpis tajny) i jednostka usługi.
Utwórz połączenie między aplikacją internetową a magazynem App Configuration przy użyciu uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika. To połączenie odbywa się za pośrednictwem łącznika usługi.
user-identity odnosi się do typu uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika. Łącznik usługi obsługuje również następujące uwierzytelnianie: tożsamość zarządzana przypisana przez system, parametry połączenia (wpis tajny) i jednostka usługi.
Istnieją dwa sposoby znajdowania elementu client-id:
W interfejsie wiersza polecenia platformy Azure wprowadź .az identity show -n "myIdentity" -g $RESOURCE_GROUP_NAME --query 'clientId'
W witrynie Azure Portal otwórz tożsamość zarządzaną, która została utworzona wcześniej i w obszarze Przegląd, pobierz wartość w obszarze Identyfikator klienta.
Utwórz połączenie między aplikacją internetową a magazynem App Configuration przy użyciu jednostki usługi. Odbywa się to za pośrednictwem łącznika usługi.
service-principal odnosi się do typu uwierzytelniania jednostki usługi. Łącznik usługi obsługuje również następujące uwierzytelnianie: tożsamość zarządzana przypisana przez system (UMI), tożsamość zarządzana przypisana przez użytkownika (UMI) i parametry połączenia (wpis tajny).
Utwórz połączenie między aplikacją internetową a magazynem App Configuration przy użyciu parametry połączenia. To połączenie odbywa się za pośrednictwem łącznika usługi.
secret odnosi się do typu uwierzytelniania parametrów połączenia. Łącznik usługi obsługuje również następujące uwierzytelnianie: tożsamość zarządzana przypisana przez system, tożsamość zarządzana przypisana przez użytkownika i jednostka usługi.
Sprawdzanie poprawności połączenia
Aby sprawdzić, czy połączenie działa, przejdź do aplikacji internetowej w https://<myWebAppName>.azurewebsites.net/ przeglądarce. Po uruchomieniu witryny internetowej zobaczysz jej komunikat "Hello". Aplikacja internetowa platformy Azure jest teraz połączona z usługą App Configuration by ServiceConnector".
Jak to działa
Poniżej znajdują się informacje, którymi łącznik usługi zarządza w tle dla każdego typu uwierzytelniania.
Skonfiguruj aplikację AZURE_APPCONFIGURATION_ENDPOINT internetową, aby umożliwić aplikacji dostęp do niej i uzyskać punkt końcowy usługi App Configuration. Uzyskaj dostęp do przykładowego kodu.
Aktywuj zarządzane uwierzytelnianie przypisane przez system aplikacji internetowej i przyznaj usłudze App Configuration rolę Czytelnik danych, aby umożliwić aplikacji uwierzytelnianie w usłudze App Configuration przy użyciu opcji DefaultAzureCredential z poziomu usługi Azure.Identity. Uzyskaj dostęp do przykładowego kodu.
Łącznik usługi zarządza konfiguracją połączenia:
Skonfiguruj aplikację AZURE_APPCONFIGURATION_ENDPOINTinternetową , AZURE_APPCONFIGURATION_CLIENTID aby umożliwić aplikacji dostęp do niej i uzyskać punkt końcowy konfiguracji aplikacji w kodzie;
Aktywuj zarządzane uwierzytelnianie przypisane przez użytkownika aplikacji internetowej i przyznaj usłudze App Configuration rolę Czytelnik danych, aby umożliwić aplikacji uwierzytelnianie w usłudze App Configuration przy użyciu opcji DefaultAzureCredential z poziomu usługi Azure.Identity. Uzyskaj dostęp do przykładowego kodu.
Łącznik usługi zarządza konfiguracją połączenia:
Skonfiguruj aplikację AZURE_APPCONFIGURATION_ENDPOINT internetową, aby umożliwić aplikacji dostęp do niej i uzyskać punkt końcowy usługi App Configuration. Uzyskaj dostęp do przykładowego kodu.
Zapisz poświadczenia jednostki usługi w usłudze WebApp AppSettings AZURE_APPCONFIGURATION_CLIENTID. AZURE_APPCONFIGURATION_TENANTIDAZURE_APPCONFIGURATION_CLIENTSECRET i przyznaj rolę Czytelnik danych konfiguracji aplikacji jednostce usługi, aby aplikacja mogła zostać uwierzytelniona w usłudze App Configuration w kodzie przy użyciu polecenia ClientSecretCredentialAzure.Identity.
Łącznik usługi zarządza konfiguracją połączenia:
Skonfiguruj aplikację AZURE_APPCONFIGURATION_CONNECTIONSTRING internetową, aby zezwolić aplikacji na dostęp do niej i uzyskać parametry połączenia App Configuration. Uzyskaj dostęp do przykładowego kodu.
Aktywuj zarządzane uwierzytelnianie przypisane przez system aplikacji internetowej i przyznaj usłudze App Configuration rolę Czytelnik danych, aby umożliwić aplikacji uwierzytelnianie w usłudze App Configuration przy użyciu opcji DefaultAzureCredential z poziomu usługi Azure.Identity. Uzyskaj dostęp do przykładowego kodu.
Zaktualizuj wartość klucza SampleApplication:Settings:Messages w sklepie App Configuration Store.
az appconfig kv set -n <myAppConfigStoreName> --key SampleApplication:Settings:Messages --value hello --yes
Przejdź do aplikacji internetowej platformy Azure, przechodząc do https://<myWebAppName>.azurewebsites.net/ strony i odświeżając stronę. Zobaczysz, że komunikat zostanie zaktualizowany do "hello".
Czyszczenie zasobów
Gdy skończysz, jeśli nie będziesz już używać tych zasobów platformy Azure, usuń je, uruchamiając az group delete polecenie . To polecenie usuwa grupę zasobów i wszystkie zawarte w niej zasoby.
az group delete -n <myResourceGroupName> --yes
Następne kroki
Postępuj zgodnie z samouczkami wymienionymi poniżej, aby dowiedzieć się więcej o łączniku usługi.