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

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.

  1. 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"
    
  2. Szerezze be az Client ID identitásszolgáltatót és Client Secret az identitásszolgáltatót.

  3. 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 a issuer-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.

  4. Kérje le az JWK URI identitásszolgáltatót, hogy később használhassa. A JWK URI jellemzően az űrlapot ${ISSUER_URI}/keys vagy ${ISSUER_URI}/<version>/keysa . 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.

  1. 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
    
  2. 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
    
  3. Az alábbi paranccsal rendeljen hozzá egy egyszerű szolgáltatást az alkalmazásregisztrációhoz:

    az ad sp create --id ${APPLICATION_ID}
    
  4. 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"
    
  5. Az alkalmazás lekéréséhez Client IDhaszná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'
    
  6. Az alkalmazás lekéréséhez Client Secrethaszná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'
    
  7. 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"
    
  8. 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.

  1. Lépjen a projektmappára.

  2. 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>
    
  3. 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>
    
  4. 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>
    
  5. 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>"
    
  6. 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:

  1. 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>
    
  2. 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"
    
  3. 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}"
    
  4. 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: