Oktatóanyag: Key Vault-hivatkozások használata egy ASP.NET Core-alkalmazásban

Ebben az oktatóanyagban megtudhatja, hogyan használhatja a Azure-alkalmazás Configuration szolgáltatást az Azure Key Vaulttal együtt. Az alkalmazáskonfiguráció és a Key Vault a legtöbb alkalmazástelepítésben egymás mellett használt kiegészítő szolgáltatások.

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

Az alkalmazás az Alkalmazáskonfiguráció ügyfélszolgáltatója segítségével kéri le a Key Vault-referenciákat, ugyanúgy, mint az Alkalmazáskonfigurációban tárolt többi kulcs esetében. Ebben az esetben az Alkalmazáskonfigurációban tárolt értékek olyan URI-k, amelyek a Key Vault értékeire hivatkoznak. Ezek nem Key Vault-értékek vagy hitelesítő adatok. Mivel az ügyfélszolgáltató a kulcsokat Key Vault-hivatkozásként ismeri fel, a Key Vault használatával kéri le az értékeiket.

Az alkalmazás felelős az alkalmazáskonfiguráció és a 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 implementálhat Key Vault-hivatkozásokat a kódban. A rövid útmutatókban bemutatott webalkalmazásra épül. A folytatás előtt először fejezze be a ASP.NET Core-alkalmazás létrehozása az alkalmazáskonfigurációval .

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.

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

  • Hozzon létre egy alkalmazáskonfigurációs kulcsot, amely a Key Vaultban tárolt értékre hivatkozik.
  • A kulcs értékét egy ASP.NET Core-webalkalmazásból érheti el.

Előfeltételek

Az oktatóanyag megkezdése előtt telepítse a .NET SDK 6.0-s vagy újabb verzióját.

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

Tároló létrehozása

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

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

  2. A keresőmezőbe írja be a Key Vaultot, és válassza a Key Vaultot a legördülő listából.

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

  4. A Kulcstartókban válassza a Hozzáadás lehetőséget.

  5. A Kulcstartó létrehozása jobb oldalán 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áscsoportban adjon meg egy meglévő erőforráscsoportnevet, vagy válassza az Új létrehozása lehetőséget, és adjon meg egy erőforráscsoportnevet.
    • A Key Vault nevében egyedi névre van szükség.
    • 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. Kattintson a Felülvizsgálat + létrehozás elemre.

  8. A rendszer ellenőrzi és megjeleníti a beírt adatokat. Kattintson a Létrehozás gombra.

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

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 elvégeznie. Ebben az esetben adjon hozzá egy üzenetet, amellyel tesztelheti a 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 lapjain válassza a Titkos kulcsok lehetőséget.
  2. Válassza a Generálá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 beállítást.
    • Név: Írja be az üzenetet.
    • Érték: Adja meg a Hello értéket a Key Vaultból.
  4. Hagyja meg a többi titkos kódtulajdonság létrehozását az alapértelmezett értékekkel.
  5. Válassza a Létrehozás lehetőséget.

Key Vault-hivatkozás hozzáadása az alkalmazáskonfigurációhoz

  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 Configuration Explorer lehetőséget.

  3. Válassza a + Kulcstartó létrehozása>referenciát, majd adja meg a következő értékeket:

    • Kulcs: Válassza a TestApp:Gépház: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 üzenet nevű titkos kódot.

Képernyőkép az új Key Vault-referenciaűrlap létrehozásáról

A kód frissítése Key Vault-referencia használatára

  1. Adjon hozzá egy hivatkozást a szükséges NuGet-csomagokhoz az alábbi parancs futtatásával:

    dotnet add package Azure.Identity
    
  2. Nyissa meg a Program.cs, és adjon hozzá hivatkozásokat a következő szükséges csomagokhoz:

    using Azure.Identity;
    
  3. Az alkalmazáskonfigurációt a metódus meghívásával használhatja AddAzureAppConfiguration . Adja meg a ConfigureKeyVault lehetőséget, és adja át a megfelelő hitelesítő adatokat a Key Vaultnak a SetCredential metódus használatával.

    var builder = WebApplication.CreateBuilder(args);
    
    // Retrieve the connection string
    string connectionString = builder.Configuration.GetConnectionString("AppConfig");
    
    // Load configuration from Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration(options =>
    {
        options.Connect(connectionString);
    
        options.ConfigureKeyVault(keyVaultOptions =>
        {
            keyVaultOptions.SetCredential(new DefaultAzureCredential());
        });
    });
    

    Tipp.

    Ha több Key Vaultot használ, mindegyikhez ugyanazt a hitelesítő adatot fogja használni. Ha a Key Vaultok eltérő hitelesítő adatokat igényelnek, beállíthatja őket az osztályból Register vagy SetSecretResolver metódusokból AzureAppConfigurationKeyVaultOptions .

  4. Amikor inicializálta a kapcsolatot az Alkalmazáskonfigurációval, a metódus meghívásával ConfigureKeyVault állítsa be a Key Vaulthoz való kapcsolatot. Az inicializálás után ugyanúgy érheti el a Key Vault-hivatkozások értékeit, mint a hagyományos alkalmazáskonfigurációs kulcsok értékeit.

    A folyamat működés közbeni megtekintéséhez nyissa meg az Index.cshtml fájlt a Nézetek>kezdőlap mappában. Cserélje le a tartalmát a következő kódra:

    @page
    @using Microsoft.Extensions.Configuration
    @inject IConfiguration Configuration
    
    <style>
        body {
            background-color: @Configuration["TestApp:Settings:BackgroundColor"]
        }
        h1 {
            color: @Configuration["TestApp:Settings:FontColor"];
            font-size: @Configuration["TestApp:Settings:FontSize"]px;
        }
    </style>
    
    <h1>@Configuration["TestApp:Settings:Message"]
        and @Configuration["TestApp:Settings:KeyVaultMessage"]</h1>
    

    A Key Vault TestApp:Gépház:KeyVaultMessage hivatkozásának értékét ugyanúgy érheti el, mint a TestApp:Gépház:Message konfigurációs értékéhez.

Az alkalmazás hozzáférésének biztosítása a Key Vaulthoz

Azure-alkalmazás konfiguráció nem fér hozzá a kulcstartóhoz. Az alkalmazás közvetlenül a Key Vaultból fog olvasni, ezért hozzáférést kell adnia az alkalmazásnak a kulcstartó titkos kulcsaihoz. Így a titkos kód mindig az alkalmazással marad. A hozzáférés a Key Vault hozzáférési szabályzatával vagy az Azure szerepköralapú hozzáférés-vezérlésével adható meg.

A fenti kódban használja DefaultAzureCredential . Ez egy összesített jogkivonat-hitelesítő adat, amely automatikusan próbálkozik számos hitelesítő adattípussal, például EnvironmentCredential, ManagedIdentityCredential, SharedTokenCacheCredentialés VisualStudioCredential. További információt a DefaultAzureCredential osztályban talál. Bármilyen hitelesítő adattípusra lecserélhető DefaultAzureCredential explicit módon. A használat azonban DefaultAzureCredential lehetővé teszi, hogy ugyanazzal a kóddal rendelkezzen, amely helyi és Azure-környezetben is fut. Például saját hitelesítőadat-hozzáférést biztosít a kulcstartóhoz. DefaultAzureCredential automatikusan visszaesik a SharedTokenCacheCredentialVisualStudioCredential Visual Studio helyi fejlesztésre való használata esetén.

Másik lehetőségként beállíthatja a AZURE_TENANT_ID, AZURE_CLIENT_ID és AZURE_CLIENT_Standard kiadás CRET környezeti változókat, és DefaultAzureCredential a kulcstartóval való hitelesítéshez használhatja az EnvironmentCredential ügyfél titkos kódját. Miután az alkalmazás üzembe lett helyezve egy olyan Azure-szolgáltatásban, amelyen engedélyezve van a felügyelt identitás (például Azure-alkalmazás Service, Azure Kubernetes Service vagy Azure Container Instance), engedélyt ad az Azure-szolgáltatás felügyelt identitásának a kulcstartó eléréséhez. DefaultAzureCredential automatikusan használja ManagedIdentityCredential , amikor az alkalmazás az Azure-ban fut. Ugyanazt a felügyelt identitást használhatja az alkalmazáskonfigurációval és a Key Vaulttal való hitelesítéshez is. További információ: Felügyelt identitások használata az alkalmazáskonfiguráció eléréséhez.

Az alkalmazás helyi létrehozása és futtatása

  1. Ha az alkalmazást a .NET CLI használatával szeretné létrehozni, futtassa a következő parancsot a parancshéjban:

    dotnet build
    
  2. A build befejezése után a következő paranccsal futtassa helyileg a webalkalmazást:

    dotnet run
    
  3. Nyisson meg egy böngészőablakot, és nyissa meg http://localhost:5000a helyileg üzemeltetett webalkalmazás alapértelmezett URL-címét.

    Helyi alkalmazásindítás rövid útmutatója

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

Ha nem szeretné folytatni a cikkben létrehozott erőforrások használatát, 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 rossz erőforráscsoportot vagy erőforrásokat. Ha a cikk erőforrásait olyan erőforráscsoporton belül 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 az Azure Portalra, és válassza ki az Erőforráscsoportokat.
  2. A Szűrés név szerint 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 a megerősítéshez az erőforráscsoport nevét, és 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 kulcsot az Alkalmazáskonfigurációban, amely a Key Vaultban tárolt titkos kódra hivatkozik. A titkos kulcsok és tanúsítványok Key Vaultból való automatikus újratöltéséről a következő oktatóanyagban olvashat:

Az alkalmazáskonfigurációhoz és a Key Vaulthoz való hozzáférés egyszerűsítéséhez a felügyelt identitás használatával az alábbi oktatóanyagban tájékozódhat: