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
Válassza az Erőforrás létrehozása lehetőséget az Azure Portal bal felső sarkában:
A keresőmezőbe írja be a Key Vaultot, és válassza a Key Vaultot a legördülő listából.
Az eredmények listájában válassza a bal oldalon található Key Vaults elemet.
A Kulcstartókban válassza a Hozzáadás lehetőséget.
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.
Hagyja meg a többi Kulcstartó létrehozása beállítást az alapértelmezett értékekkel.
Kattintson a Felülvizsgálat + létrehozás elemre.
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.
- A Key Vault tulajdonságok lapjain válassza a Titkos kulcsok lehetőséget.
- Válassza a Generálás/importálás lehetőséget.
- 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.
- Hagyja meg a többi titkos kódtulajdonság létrehozását az alapértelmezett értékekkel.
- Válassza a Létrehozás lehetőséget.
Key Vault-hivatkozás hozzáadása az alkalmazáskonfigurációhoz
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.
Válassza a Configuration Explorer lehetőséget.
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.
A kód frissítése Key Vault-referencia használatára
Adjon hozzá egy hivatkozást a szükséges NuGet-csomagokhoz az alábbi parancs futtatásával:
dotnet add package Azure.Identity
Nyissa meg a Program.cs, és adjon hozzá hivatkozásokat a következő szükséges csomagokhoz:
using Azure.Identity;
Az alkalmazáskonfigurációt a metódus meghívásával használhatja
AddAzureAppConfiguration
. Adja meg aConfigureKeyVault
lehetőséget, és adja át a megfelelő hitelesítő adatokat a Key Vaultnak aSetCredential
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
vagySetSecretResolver
metódusokbólAzureAppConfigurationKeyVaultOptions
.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 SharedTokenCacheCredential
VisualStudioCredential
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
Ha az alkalmazást a .NET CLI használatával szeretné létrehozni, futtassa a következő parancsot a parancshéjban:
dotnet build
A build befejezése után a következő paranccsal futtassa helyileg a webalkalmazást:
dotnet run
Nyisson meg egy böngészőablakot, és nyissa meg
http://localhost:5000
a helyileg üzemeltetett webalkalmazás alapértelmezett URL-címét.
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.
- Jelentkezzen be az Azure Portalra, és válassza ki az Erőforráscsoportokat.
- A Szűrés név szerint mezőbe írja be az erőforráscsoport nevét.
- Az eredménylistában válassza ki az erőforráscsoport nevét az áttekintés megtekintéséhez.
- Válassza az Erőforráscsoport törlése elemet.
- 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: