Rychlý start: Konfigurace jednotného přihlašování pro aplikace pomocí plánu Azure Spring Apps Enterprise
Poznámka:
Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.
Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.
Tento článek se vztahuje na: ❎ Basic/Standard ✅ Enterprise
V tomto rychlém startu se dozvíte, jak nakonfigurovat jednotné přihlašování pro aplikace spuštěné v plánu Azure Spring Apps Enterprise.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Licence pro plán Azure Spring Apps Enterprise. Další informace najdete v tématu Plán Enterprise na Azure Marketplace.
- Azure CLI verze 2.45.0 nebo vyšší.
- Git
- jq
- Rozšíření plánu Azure Spring Apps Enterprise Pomocí následujícího příkazu odeberte předchozí verze a nainstalujte nejnovější rozšíření plánu Enterprise. Pokud jste rozšíření nainstalovali dříve
spring-cloud
, odinstalujte ho, abyste se vyhnuli neshodám konfigurace a verzí.az extension add --upgrade --name spring az extension remove --name spring-cloud
- Proveďte kroky v části Sestavení a nasazení aplikací do Azure Spring Apps pomocí plánu Enterprise.
Příprava přihlašovacích údajů jednotného přihlašování
Pokud chcete pro aplikaci nakonfigurovat jednotné přihlašování, musíte připravit přihlašovací údaje. Následující části popisují postup použití stávajícího poskytovatele nebo zřízení registrace aplikace s ID Microsoft Entra.
Použití existujícího poskytovatele
Podle těchto kroků nakonfigurujte jednotné přihlašování pomocí existujícího zprostředkovatele identity. Pokud zřizujete registraci aplikace Microsoft Entra, přeskočte k následující části, vytvořte a nakonfigurujte registraci aplikace s ID Microsoft Entra.
Nakonfigurujte existujícího zprostředkovatele identity tak, aby umožňoval přesměrování zpět na bránu Spring Cloud pro VMware Tanzu a portál rozhraní API pro VMware Tanzu. Brána Spring Cloud má jeden identifikátor URI, který umožňuje opětovné zadání do brány. Portál API má dvě identifikátory URI pro podporu uživatelského rozhraní a základního rozhraní API. Následující příkazy načtou tyto identifikátory URI, které přidáte do konfigurace poskytovatele jednotného přihlašování.
export GATEWAY_URL=$(az spring gateway show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') export PORTAL_URL=$(az spring api-portal show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') echo "https://${GATEWAY_URL}/login/oauth2/code/sso" echo "https://${PORTAL_URL}/oauth2-redirect.html" echo "https://${PORTAL_URL}/login/oauth2/code/sso"
Získejte zprostředkovatele
Client ID
identity aClient Secret
pro vašeho zprostředkovatele identity.Získejte zprostředkovatele
Issuer URI
identity. Zprostředkovatel musíte nakonfigurovat s identifikátorem URI vystavitele, což je identifikátor URI, který jako identifikátor vystavitele používá. Pokud jehttps://example.com
zadanýissuer-uri
například , pak se provede požadavek konfigurace zprostředkovatele OpenID dohttps://example.com/.well-known/openid-configuration
. Očekává se, že výsledkem bude odpověď na konfiguraci zprostředkovatele OpenID.Poznámka:
Autorizační servery, které podporují protokol OpenID Connect Discovery, můžete použít pouze.
Získejte zprostředkovatele
JWK URI
identity pro pozdější použití. ObvykleJWK URI
má tvar${ISSUER_URI}/keys
nebo${ISSUER_URI}/<version>/keys
. Aplikace Služby identit používá veřejné webové klíče JSON (JWK) k ověření webových tokenů JSON (JWT) vydaných autorizačním serverem zprostředkovatele identity jednotného přihlašování.
Vytvoření a konfigurace registrace aplikace pomocí Microsoft Entra ID
Chcete-li zaregistrovat aplikaci v Microsoft Entra ID, postupujte podle těchto kroků. Pokud používáte přihlašovací údaje existujícího zprostředkovatele, přeskočte k následující části nasazení aplikace Služby identit.
Pomocí následujícího příkazu vytvořte registraci aplikace s ID Microsoft Entra a uložte výstup:
az ad app create --display-name <app-registration-name> > ad.json
Pomocí následujícího příkazu načtěte ID aplikace a shromážděte tajný klíč klienta:
export APPLICATION_ID=$(cat ad.json | jq -r '.appId') az ad app credential reset --id ${APPLICATION_ID} --append > sso.json
Pomocí následujícího příkazu přiřaďte instanční objekt k registraci aplikace:
az ad sp create --id ${APPLICATION_ID}
Pomocí následujících příkazů načtěte adresy URL pro bránu Spring Cloud a portál rozhraní API a přidejte potřebné adresy URL odpovědí do registrace aplikace Active Directory.
export APPLICATION_ID=$(cat ad.json | jq -r '.appId') export GATEWAY_URL=$(az spring gateway show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') export PORTAL_URL=$(az spring api-portal show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') az ad app update \ --id ${APPLICATION_ID} \ --web-redirect-uris "https://${GATEWAY_URL}/login/oauth2/code/sso" "https://${PORTAL_URL}/oauth2-redirect.html" "https://${PORTAL_URL}/login/oauth2/code/sso"
K načtení aplikace
Client ID
použijte následující příkaz . Uložte výstup pro pozdější použití v tomto rychlém startu.cat sso.json | jq -r '.appId'
K načtení aplikace
Client Secret
použijte následující příkaz . Uložte výstup pro pozdější použití v tomto rychlém startu.cat sso.json | jq -r '.password'
K načtení souboru
Issuer URI
použijte následující příkaz . Uložte výstup pro pozdější použití v tomto rychlém startu.export TENANT_ID=$(cat sso.json | jq -r '.tenant') echo "https://login.microsoftonline.com/${TENANT_ID}/v2.0"
JWK URI
Načtěte z výstupu následujícího příkazu. Aplikace Služby identit používá veřejné webové klíče JSON (JWK) k ověření webových tokenů JSON (JWT) vydaných službou Active Directory.export TENANT_ID=$(cat sso.json | jq -r '.tenant') echo "https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys"
Nasazení aplikace Služby identit
K dokončení jednotného přihlašování použijte následující postup k nasazení aplikace Služby identit. Aplikace Služby identit poskytuje jednu trasu, která vám pomůže identifikovat uživatele.
Přejděte do složky projektu.
K vytvoření
identity-service
aplikace použijte následující příkaz:az spring app create \ --resource-group <resource-group-name> \ --name identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Pomocí následujícího příkazu povolte externalizovanou konfiguraci služby identit vazbou na službu Application Configuration Service:
az spring application-configuration-service bind \ --resource-group <resource-group-name> \ --app identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Pomocí následujícího příkazu povolte zjišťování a registraci služby identity vazbou na registr služby:
az spring service-registry bind \ --resource-group <resource-group-name> \ --app identity-service \ --service <Azure-Spring-Apps-service-instance-name>
K nasazení služby identit použijte následující příkaz:
az spring app deploy \ --resource-group <resource-group-name> \ --name identity-service \ --service <Azure-Spring-Apps-service-instance-name> \ --config-file-pattern identity/default \ --source-path apps/acme-identity \ --build-env BP_JVM_VERSION=17 \ --env "JWK_URI=<jwk-uri>"
Ke směrování požadavků do služby identit použijte následující příkaz:
az spring gateway route-config create \ --resource-group <resource-group-name> \ --name identity-routes \ --service <Azure-Spring-Apps-service-instance-name> \ --app-name identity-service \ --routes-file azure-spring-apps-enterprise/resources/json/routes/identity-service.json
Konfigurace jednotného přihlašování pro bránu Spring Cloud
Bránu Spring Cloud můžete nakonfigurovat tak, aby ověřila požadavky pomocí jednotného přihlašování. Pokud chcete nakonfigurovat bránu Spring Cloud tak, aby používala jednotné přihlašování, postupujte takto:
Pomocí následujících příkazů nakonfigurujte bránu Spring Cloud tak, aby používala jednotné přihlašování:
export GATEWAY_URL=$(az spring gateway show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') az spring gateway update \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> \ --api-description "Fitness Store API" \ --api-title "Fitness Store" \ --api-version "v1.0" \ --server-url "https://${GATEWAY_URL}" \ --allowed-origins "*" \ --client-id <client-id> \ --client-secret <client-secret> \ --scope "openid,profile" \ --issuer-uri <issuer-uri>
Řekněte aplikaci služby košíku, aby k ověřování používala bránu Spring Cloud. Pomocí následujícího příkazu zadejte potřebné proměnné prostředí:
az spring app update \ --resource-group <resource-group-name> \ --name cart-service \ --service <Azure-Spring-Apps-service-instance-name> \ --env "AUTH_URL=https://${GATEWAY_URL}" "CART_PORT=8080"
Požádejte aplikaci služby objednávek, aby k ověřování používala bránu Spring Cloud. Pomocí následujícího příkazu zadejte potřebné proměnné prostředí:
az spring app update \ --resource-group <resource-group-name> \ --name order-service \ --service <Azure-Spring-Apps-service-instance-name> \ --env "AcmeServiceSettings__AuthUrl=https://${GATEWAY_URL}"
Pomocí následujícího příkazu načtěte adresu URL brány Spring Cloud:
echo "https://${GATEWAY_URL}"
V prohlížeči můžete otevřít výstupní adresu URL a prozkoumat aktualizovanou aplikaci. Funkce Přihlášení je nyní funkční a umožňuje přidávat položky do košíku a zadávat objednávky. Po přihlášení se na tlačítku s informacemi o zákazníci zobrazí přihlášené uživatelské jméno.
Konfigurace jednotného přihlašování pro portál API
Portál rozhraní API pro VMware Tanzu můžete nakonfigurovat tak, aby před prozkoumáním rozhraní API vyžadoval jednotné přihlašování. Ke konfiguraci jednotného přihlašování pro portál ROZHRANÍ API použijte následující příkazy:
export PORTAL_URL=$(az spring api-portal show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
az spring api-portal update \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--client-id <client-id> \
--client-secret <client-secret> \
--scope "openid,profile,email" \
--issuer-uri <issuer-uri>
Pomocí následujících příkazů načtěte adresu URL portálu api:
export PORTAL_URL=$(az spring api-portal show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
echo "https://${PORTAL_URL}"
Výstupní adresu URL můžete otevřít v prohlížeči a prozkoumat rozhraní API aplikace. Před prozkoumáním rozhraní API vás nasměruje, abyste se přihlásili.
Vyčištění prostředků
Pokud chcete pokračovat v práci s dalšími rychlými starty a kurzy, můžete tyto prostředky ponechat na místě. Pokud už ji nepotřebujete, odstraňte skupinu prostředků, která odstraní prostředky ve skupině prostředků. Pokud chcete odstranit skupinu prostředků pomocí Azure CLI, použijte následující příkazy:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Další kroky
Pokračujte k některému z následujících volitelných rychlých startů: