Share via


Oktatóanyag: Key Vault-hivatkozások használata Java Spring-alkalmazásban

Ebből az oktatóanyagból megtudhatja, hogyan használhatja az Azure App Configuration szolgáltatást az Azure Key Vault. App Configuration és Key Vault kiegészítő szolgáltatások, amelyeket egymás mellett használnak a legtöbb alkalmazástelepítésben.

App Configuration a Key Vault tárolt értékekre hivatkozó kulcsok létrehozásával segíti a szolgáltatások együttes használatát. Amikor App Configuration ilyen kulcsokat hoz létre, az Key Vault értékek URI-jait tárolja, nem pedig magukat az értékeket.

Az alkalmazás az App Configuration ügyfélszolgáltatót használja Key Vault hivatkozások lekéréséhez, ugyanúgy, mint a App Configuration tárolt egyéb kulcsok esetében. Ebben az esetben a App Configuration tárolt értékek URI-k, amelyek a Key Vault értékeire hivatkoznak. Ezek nem Key Vault értékek vagy hitelesítő adatok. Mivel az ügyfélszolgáltató Key Vault hivatkozásként ismeri fel a kulcsokat, Key Vault használ az értékek lekéréséhez.

Az alkalmazás felelős az App Configuration és Key Vault megfelelő hitelesítéséért. A két szolgáltatás nem kommunikál közvetlenül.

Ez az oktatóanyag bemutatja, hogyan valósíthat meg Key Vault referenciákat a kódban. A rövid útmutatókban bemutatott webalkalmazásra épül. A folytatás előtt először végezze el a Java Spring-alkalmazás létrehozása App Configuration.

Az oktatóanyag lépéseit bármely kódszerkesztővel elvégezheti. A Visual Studio Code például egy platformfüggetlen kódszerkesztő, amely Windows, macOS és Linux operációs rendszerekhez érhető el.

Eben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Hozzon létre egy App Configuration kulcsot, amely egy Key Vault tárolt értékre hivatkozik.
  • A kulcs értékét egy Java Spring-alkalmazásból érheti el.

Előfeltételek

Tároló létrehozása

  1. Válassza az Erőforrás létrehozása lehetőséget a Azure Portal bal felső sarkában:

    Képernyőkép az Erőforrás létrehozása lehetőségről a Azure Portal.

  2. A keresőmezőbe írja be a Key Vault nevet.

  3. Az eredmények listájában válassza a bal oldalon található Key Vaults elemet.

  4. A Key Vaultsban válassza a Hozzáadás lehetőséget.

  5. A Jobb oldalon, a Kulcstartó létrehozása területen adja meg a következő információkat:

    • Válassza az Előfizetés lehetőséget az előfizetés kiválasztásához.
    • Az Erőforráscsoport területen válassza az Új létrehozása lehetőséget, és adja meg az erőforráscsoport nevét.
    • A Key Vault nevében egyedi névre van szükség. Ebben az oktatóanyagban adja meg a Contoso-vault2 nevet.
    • A Régió legördülő listában válasszon egy helyet.
  6. Hagyja meg a többi Kulcstartó létrehozása beállítást az alapértelmezett értékekkel.

  7. Válassza a Létrehozás lehetőséget.

Ezen a ponton az Ön Azure-fiókja az egyetlen jogosult az új tároló elérésére.

Képernyőkép a kulcstartóról.

Titkos kulcs hozzáadása a Key Vaulthoz

Ha titkos kulcsot szeretne hozzáadni a tárolóhoz, csak néhány további lépést kell végrehajtania. Ebben az esetben adjon hozzá egy üzenetet, amellyel tesztelheti Key Vault lekérését. Az üzenet neve Üzenet, és a "Hello from Key Vault" értéket tárolja benne.

  1. A Key Vault tulajdonságok lapján válassza a Titkos kulcsok lehetőséget.
  2. Válassza a Létrehozás/importálás lehetőséget.
  3. A Titkos kód létrehozása panelen adja meg a következő értékeket:
    • Feltöltési beállítások: Adja meg a Manuális értéket.
    • Név: Írja be az üzenetet.
    • Érték: Adja meg a Hello kifejezést Key Vault.
  4. Hagyja meg a másik Titkos kód létrehozása tulajdonságot az alapértelmezett értékekkel.
  5. Válassza a Létrehozás lehetőséget.

Key Vault hivatkozás hozzáadása App Configuration

  1. Jelentkezzen be az Azure Portalra. Válassza a Minden erőforrás lehetőséget, majd válassza ki a rövid útmutatóban létrehozott App Configuration store-példányt.

  2. Válassza a Konfigurációkezelő lehetőséget.

  3. Válassza a +Kulcstartó-referencialétrehozása> lehetőséget, majd adja meg a következő értékeket:

    • Kulcs: Válassza az /application/config.keyvaultmessage lehetőséget
    • Címke: Hagyja üresen ezt az értéket.
    • Előfizetés, erőforráscsoport és kulcstartó: Adja meg az előző szakaszban létrehozott kulcstartó értékeinek megfelelő értékeket.
    • Titkos kód: Válassza ki az előző szakaszban létrehozott Message (Üzenet ) nevű titkos kódot.

Csatlakozás Key Vault

  1. Ebben az oktatóanyagban egy szolgáltatásnevet használ a hitelesítéshez a Key Vault. A szolgáltatásnév létrehozásához használja az Azure CLI az ad sp create-for-rbac parancsot:

    az ad sp create-for-rbac -n "http://mySP" --role Contributor --scopes /subscriptions/{subscription-id} --sdk-auth
    

    Ez a művelet kulcs/érték párok sorozatát adja vissza:

    {
    "clientId": "7da18cae-779c-41fc-992e-0527854c6583",
    "clientSecret": "b421b443-1669-4cd7-b5b1-394d5c945002",
    "subscriptionId": "443e30da-feca-47c4-b68f-1636b75e16b3",
    "tenantId": "35ad10f1-7799-4766-9acf-f2d946161b77",
    "activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
    "resourceManagerEndpointUrl": "https://management.azure.com/",
    "sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
    "galleryEndpointUrl": "https://gallery.azure.com/",
    "managementEndpointUrl": "https://management.core.windows.net/"
    }
    
  2. Futtassa a következő parancsot, hogy a szolgáltatásnév hozzáférjen a kulcstartóhoz:

    az keyvault set-policy -n <your-unique-keyvault-name> --spn <clientId-of-your-service-principal> --secret-permissions delete get
    
  3. Futtassa a következő parancsot az object-id lekéréséhez, majd adja hozzá App Configuration.

    az ad sp show --id <clientId-of-your-service-principal>
    az role assignment create --role "App Configuration Data Reader" --scope /subscriptions/<subscriptionId>/resourceGroups/<group-name> --assignee-principal-type --assignee-object-id <objectId-of-your-service-principal> --resource-group <your-resource-group>
    
  4. Hozza létre a környezeti változókat AZURE_CLIENT_ID, AZURE_CLIENT_SECRET és AZURE_TENANT_ID. Használja az előző lépésekben megjelenített szolgáltatásnév értékeit. Futtassa a következő parancsokat a parancssorban, és indítsa újra a parancssort a módosítás érvénybe lépéséhez:

    setx AZURE_CLIENT_ID "clientId"
    setx AZURE_CLIENT_SECRET "clientSecret"
    setx AZURE_TENANT_ID "tenantId"
    

    Ha Windows PowerShell használ, futtassa a következő parancsot:

    $Env:AZURE_CLIENT_ID = "clientId"
    $Env:AZURE_CLIENT_SECRET = "clientSecret"
    $Env:AZURE_TENANT_ID = "tenantId"
    

    MacOS vagy Linux használata esetén futtassa a következő parancsot:

    export AZURE_CLIENT_ID ='clientId'
    export AZURE_CLIENT_SECRET ='clientSecret'
    export AZURE_TENANT_ID ='tenantId'
    

Megjegyzés

Ezeket a Key Vault hitelesítő adatokat csak az alkalmazáson belül használja. Az alkalmazás közvetlenül Key Vault hitelesíti ezeket a hitelesítő adatokat a App Configuration szolgáltatás bevonása nélkül. A Key Vault az alkalmazás és a App Configuration szolgáltatás számára is biztosít hitelesítést kulcsok megosztása és felfedése nélkül.

A kód frissítése Key Vault hivatkozás használatára

  1. Hozzon létre egy APP_CONFIGURATION_ENDPOINT nevű környezeti változót. Állítsa be az értékét a App Configuration-tároló végpontjára. A végpontot a Azure Portal Hozzáférési kulcsok paneljén találja. Indítsa újra a parancssort a módosítás érvénybe lépésének engedélyezéséhez.

  2. Nyissa meg a konfigurációs fájlt az erőforrások mappában. Frissítse ezt a fájlt a APP_CONFIGURATION_ENDPOINT érték használatára. Távolítsa el a fájlban lévő kapcsolati sztring mutató hivatkozásokat.

spring:
    cloud:
        azure:
            appconfiguration:
                stores:
                    - endpoint: ${APP_CONFIGURATION_ENDPOINT}

Megjegyzés

A Spring Cloud Azure globális konfigurációival is csatlakozhat Key Vault.

  1. Nyissa meg a MessageProperties.java fájlt. Adjon hozzá egy keyVaultMessage nevű új változót:

    private String keyVaultMessage;
    
    public String getKeyVaultMessage() {
        return keyVaultMessage;
    }
    
    public void setKeyVaultMessage(String keyVaultMessage) {
        this.keyVaultMessage = keyVaultMessage;
    }
    
  2. Nyissa meg a HelloController.java fájlt. Frissítse a getMessage metódust, hogy tartalmazza a Key Vault-ból lekért üzenetet.

    @GetMapping
    public String getMessage() {
        return "Message: " + properties.getMessage() + "\nKey Vault message: " + properties.getKeyVaultMessage();
    }
    
  3. Hozza létre a Spring Boot-alkalmazást a Mavennel, és futtassa, például:

    mvn clean package
    mvn spring-boot:run
    
  4. Az alkalmazás futtatása után a curl használatával tesztelheti az alkalmazást, például:

    curl -X GET http://localhost:8080/
    

    Megjelenik a App Configuration áruházban megadott üzenet. Megjelenik a Key Vault beírt üzenet is.

Az erőforrások eltávolítása

Ha nem szeretné tovább használni a cikkben létrehozott erőforrásokat, törölje az itt létrehozott erőforráscsoportot a díjak elkerülése érdekében.

Fontos

Az erőforráscsoport törlése nem vonható vissza. Az erőforráscsoport és a benne lévő összes erőforrás véglegesen törlődik. Győződjön meg arról, hogy nem véletlenül törli a helytelen erőforráscsoportot vagy erőforrásokat. Ha a cikk erőforrásait olyan erőforráscsoportban hozta létre, amely más megtartani kívánt erőforrásokat tartalmaz, törölje az egyes erőforrásokat a megfelelő panelről az erőforráscsoport törlése helyett.

  1. Jelentkezzen be a Azure Portal, és válassza az Erőforráscsoportok lehetőséget.
  2. A Szűrés név alapján mezőbe írja be az erőforráscsoport nevét.
  3. Az eredménylistában válassza ki az erőforráscsoport nevét az áttekintés megtekintéséhez.
  4. Válassza az Erőforráscsoport törlése elemet.
  5. A rendszer az erőforráscsoport törlésének megerősítését kéri. Adja meg az erőforráscsoport nevét a megerősítéshez, majd válassza a Törlés lehetőséget.

Néhány pillanat múlva az erőforráscsoport és annak összes erőforrása törlődik.

Következő lépések

Ebben az oktatóanyagban létrehozott egy App Configuration kulcsot, amely egy Key Vault tárolt értékre hivatkozik. További kérdésekért tekintse meg a referenciadokumentációt, amely tartalmazza a Spring Cloud Azure App Configuration kódtár működésével kapcsolatos összes részletet. Ha meg szeretné tudni, hogyan használhat funkciójelölőket a Java Spring-alkalmazásban, folytassa a következő oktatóanyagban.