Rövid útmutató: Egyszeri bejelentkezés konfigurálása alkalmazásokhoz az Azure Spring Apps Enterprise-csomag használatával
Feljegyzés
Az Azure Spring Apps az Azure Spring Cloud szolgáltatás új neve. Bár a szolgáltatásnak új neve van, bizonyos helyeken a régi nevet fogja látni egy darabig, miközben az eszközök, például képernyőképek, videók és diagramok frissítésével dolgozunk.
Ez a cikk a következőre vonatkozik:❌ Basic/Standard ✔️ Enterprise
Ez a rövid útmutató bemutatja, hogyan konfigurálhatja az egyszeri bejelentkezést az Azure Spring Apps Enterprise-csomagban futó alkalmazásokhoz.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
- Licenc az Azure Spring Apps Enterprise-csomaghoz. További információ: Nagyvállalati csomag az Azure Marketplace-en.
- Az Azure CLI 2.45.0-s vagy újabb verziója.
- Git.
- jq
- Az Azure Spring Apps Enterprise csomagbővítménye. A következő paranccsal távolítsa el a korábbi verziókat, és telepítse a legújabb Enterprise-csomagbővítményt. Ha korábban telepítette a
spring-cloud
bővítményt, távolítsa el a bővítményt a konfiguráció és a verzióeltérések elkerülése érdekében.az extension add --upgrade --name spring az extension remove --name spring-cloud
- A Nagyvállalati csomag használatával hajtsa végre az alkalmazások Azure Spring Appsben való kiépítésének és üzembe helyezésének lépéseit.
Egyszeri bejelentkezési hitelesítő adatok előkészítése
Az alkalmazás egyszeri bejelentkezésének konfigurálásához elő kell készítenie a hitelesítő adatokat. Az alábbi szakaszok egy meglévő szolgáltató használatának vagy egy alkalmazásregisztráció Microsoft Entra-azonosítóval való kiépítésének lépéseit ismertetik.
Meglévő szolgáltató használata
Kövesse az alábbi lépéseket az egyszeri bejelentkezés konfigurálásához egy meglévő identitásszolgáltató használatával. Ha Microsoft Entra-alkalmazásregisztrációt épít ki, ugorjon a következő szakaszra, és hozzon létre és konfiguráljon egy alkalmazásregisztrációt a Microsoft Entra-azonosítóval.
Konfigurálja a meglévő identitásszolgáltatót, hogy engedélyezze a Spring Cloud Gatewayre való átirányítást a VMware Tanzu és a VMware Tanzu API-portálhoz. A Spring Cloud Gateway egyetlen URI-val rendelkezik, amely lehetővé teszi az átjáróba való újbóli belépést. Az API Portal két URI-val támogatja a felhasználói felületet és a mögöttes API-t. Az alábbi parancsok lekérik azokat az URI-kat, amelyeket hozzáad az egyszeri bejelentkezési szolgáltató konfigurációjához.
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"
Szerezze be az
Client ID
identitásszolgáltatót ésClient Secret
az identitásszolgáltatót.Szerezze be az
Issuer URI
identitásszolgáltatóját. A szolgáltatót egy kiállítói URI-val kell konfigurálnia, amely az a URI, amelyet kiállítóazonosítóként állít be. Ha például aissuer-uri
megadotthttps://example.com
, akkor a rendszer egy OpenID-szolgáltató konfigurációs kérését küldi el.https://example.com/.well-known/openid-configuration
Az eredmény várhatóan egy OpenID-szolgáltató konfigurációs válasza lesz.Feljegyzés
Csak olyan engedélyezési kiszolgálókat használhat, amelyek támogatják az OpenID Csatlakozás Discovery protokollt.
Kérje le az
JWK URI
identitásszolgáltatót, hogy később használhassa. AJWK URI
jellemzően az űrlapot${ISSUER_URI}/keys
vagy${ISSUER_URI}/<version>/keys
a . Az Identity Service-alkalmazás a nyilvános JSON-webkulcsokkal (JWK) ellenőrzi az egyszeri bejelentkezési identitásszolgáltató engedélyezési kiszolgálója által kibocsátott JSON-webjogkivonatokat (JWT).
Alkalmazásregisztráció létrehozása és konfigurálása Microsoft Entra-azonosítóval
Az alkalmazás Microsoft Entra-azonosítóval való regisztrálásához kövesse az alábbi lépéseket. Ha egy meglévő szolgáltató hitelesítő adatait használja, ugorjon a következő szakaszra, az Identity Service-alkalmazás üzembe helyezésére.
Az alábbi paranccsal hozzon létre egy alkalmazásregisztrációt a Microsoft Entra-azonosítóval, és mentse a kimenetet:
az ad app create --display-name <app-registration-name> > ad.json
Az alábbi paranccsal kérje le az alkalmazásazonosítót, és gyűjtse össze az ügyfél titkos kódját:
export APPLICATION_ID=$(cat ad.json | jq -r '.appId') az ad app credential reset --id ${APPLICATION_ID} --append > sso.json
Az alábbi paranccsal rendeljen hozzá egy egyszerű szolgáltatást az alkalmazásregisztrációhoz:
az ad sp create --id ${APPLICATION_ID}
Az alábbi parancsokkal lekérheti a Spring Cloud Gateway és az API Portal URL-címeit, és hozzáadhatja a szükséges válasz URL-címeket az Active Directory-alkalmazásregisztrációhoz.
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"
Az alkalmazás lekéréséhez
Client ID
használja a következő parancsot. Mentse a kimenetet a rövid útmutató későbbi részében való használatra.cat sso.json | jq -r '.appId'
Az alkalmazás lekéréséhez
Client Secret
használja a következő parancsot. Mentse a kimenetet a rövid útmutató későbbi részében való használatra.cat sso.json | jq -r '.password'
A következő paranccsal kérje le a következő parancsot
Issuer URI
. Mentse a kimenetet a rövid útmutató későbbi részében való használatra.export TENANT_ID=$(cat sso.json | jq -r '.tenant') echo "https://login.microsoftonline.com/${TENANT_ID}/v2.0"
Kérje le a
JWK URI
következő parancs kimenetéből. Az Identity Service-alkalmazás a nyilvános JSON-webkulcsokat (JWK) használja az Active Directory által kibocsátott JSON-webjogkivonatok (JWT) ellenőrzéséhez.export TENANT_ID=$(cat sso.json | jq -r '.tenant') echo "https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys"
Az Identity Service-alkalmazás üzembe helyezése
Az egyszeri bejelentkezés végrehajtásához használja az alábbi lépéseket az Identity Service-alkalmazás üzembe helyezéséhez. Az Identity Service-alkalmazás egyetlen útvonalon segíti a felhasználó azonosítását.
Lépjen a projektmappára.
Az alkalmazás létrehozásához használja a
identity-service
következő parancsot:az spring app create \ --resource-group <resource-group-name> \ --name identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Az alábbi paranccsal engedélyezheti az identitásszolgáltatás külső konfigurációját az Application Configuration Service-hez kötéssel:
az spring application-configuration-service bind \ --resource-group <resource-group-name> \ --app identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Az alábbi paranccsal engedélyezheti az identitásszolgáltatás szolgáltatásfelderítését és regisztrációjának engedélyezését a Szolgáltatásregisztrációs adatbázishoz kötéssel:
az spring service-registry bind \ --resource-group <resource-group-name> \ --app identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Az identitásszolgáltatás üzembe helyezéséhez használja a következő parancsot:
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>"
A következő paranccsal irányíthatja a kéréseket az identitásszolgáltatáshoz:
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
Egyszeri bejelentkezés konfigurálása a Spring Cloud Gatewayhez
A Spring Cloud Gateway konfigurálható úgy, hogy a kéréseket egyszeri bejelentkezéssel hitelesítse. A Spring Cloud Gateway egyszeri bejelentkezés használatára való konfigurálásához kövesse az alábbi lépéseket:
Az alábbi parancsokkal konfigurálhatja a Spring Cloud Gatewayt az egyszeri bejelentkezés használatára:
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>
Utasítsa a kosárszolgáltatás-alkalmazást, hogy használja a Spring Cloud Gatewayt a hitelesítéshez. A következő paranccsal adja meg a szükséges környezeti változókat:
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"
Utasítsa a rendelési szolgáltatásalkalmazást, hogy a Spring Cloud Gatewayt használja a hitelesítéshez. A következő paranccsal adja meg a szükséges környezeti változókat:
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}"
A Spring Cloud Gateway URL-címének lekéréséhez használja a következő parancsot:
echo "https://${GATEWAY_URL}"
A kimeneti URL-címet megnyithatja egy böngészőben a frissített alkalmazás megismeréséhez. A Log In függvény már működik, így elemeket vehet fel a kosárba, és rendeléseket adhat le. A bejelentkezés után az ügyféladatok gomb megjeleníti a bejelentkezett felhasználónevet.
Egyszeri bejelentkezés konfigurálása az API Portalon
A VMware Tanzu API Portalját úgy konfigurálhatja, hogy egyszeri bejelentkezést használjon, hogy hitelesítést igényeljen az API-k felfedezése előtt. Az alábbi parancsokkal konfigurálhatja az egyszeri bejelentkezést az API Portalon:
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>
Az API Portal URL-címének lekéréséhez használja az alábbi parancsokat:
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}"
A kimeneti URL-címet megnyithatja egy böngészőben az alkalmazás API-inak megismeréséhez. Az API-k felfedezése előtt be kell jelentkeznie.
Az erőforrások eltávolítása
Ha további rövid útmutatókkal és oktatóanyagokkal szeretne dolgozni, érdemes lehet ezeket az erőforrásokat a helyén hagyni. Ha már nincs rá szükség, törölje az erőforráscsoportot, amely törli az erőforráscsoport erőforrásait. Ha törölni szeretné az erőforráscsoportot az Azure CLI használatával, használja a következő parancsokat:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Következő lépések
Folytassa az alábbi rövid útmutatók bármelyikével: