Oktatóanyag: Azure Cosmos DB-hitelesítő adatok tárolása és használata az Azure Key Vault
A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra Gremlin Táblázat
Fontos
Javasoljuk, hogy az Azure Cosmos DB-hez egy rendszer által hozzárendelt felügyelt identitást használjon. Ha a felügyelt identitáskezelési megoldás és a tanúsítványalapú megoldás sem felel meg az igényeinek, használja az Ebben a cikkben található Azure Key Vault-megoldást.
Ha az Azure Cosmos DB-t használja adatbázisként, az adatbázisokhoz, tárolókhoz és elemekhez egy SDK-val, az API-végponttal és az elsődleges vagy másodlagos kulccsal csatlakozhat.
Nem ajánlott a végpont URI-ját és a bizalmas írási-olvasási kulcsokat közvetlenül az alkalmazáskódban vagy a konfigurációs fájlban tárolni. Ideális esetben ezek az adatok a gazdagép környezeti változóiból származnak. Az Azure App Service alkalmazásbeállítások lehetővé teszik futtatókörnyezeti hitelesítő adatok beszúrását az Azure Cosmos DB-fiókhoz anélkül, hogy a fejlesztőknek nem biztonságos, világos szöveges módon kellene tárolniuk ezeket a hitelesítő adatokat.
Az Azure Key Vault tovább folytatja ezt az ajánlott eljárást, mivel lehetővé teszi a hitelesítő adatok biztonságos tárolását, miközben olyan szolgáltatásokat biztosít, mint Azure App Service felügyelt hozzáférés a hitelesítő adatokhoz. Azure App Service biztonságosan beolvassa a hitelesítő adatokat az Azure Key Vault-ből, és beszúrja ezeket a hitelesítő adatokat a futó alkalmazásba.
Ezzel az ajánlott eljárással a fejlesztők tárolhatják a hitelesítő adatokat olyan eszközökhöz, mint az Azure Cosmos DB emulátor , vagy ingyenesen kipróbálhatják az Azure Cosmos DB-t a fejlesztés során. Ezután az üzemeltetési csapat biztosíthatja, hogy a megfelelő éles beállításokat a futtatókörnyezetbe injektálja.
Eben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Azure Key Vault-példány létrehozása
- Azure Cosmos DB hitelesítő adatok hozzáadása titkos kulcsként a kulcstartóhoz
- Hozzon létre és regisztráljon egy Azure App Service erőforrást, és adjon meg "olvasási kulcs" engedélyeket
- Kulcstartó titkos kulcsainak injektálása a App Service erőforrásba
Megjegyzés
Ez az oktatóanyag és a mintaalkalmazás egy Azure Cosmos DB for NoSQL-fiókot használ. Ugyanezeket a lépéseket számos más API-kkal is elvégezheti.
Előfeltételek
- Egy meglévő Azure Cosmos DB for NoSQL-fiók.
- Ha Azure-előfizetéssel rendelkezik, hozzon létre egy új fiókot.
- Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
- Másik lehetőségként a véglegesítés előtt ingyenesen kipróbálhatja az Azure Cosmos DB-t .
- GitHub-fiók.
Kezdés előtt: Azure Cosmos DB hitelesítő adatainak lekérése
A kezdés előtt lekérheti a meglévő fiókjához tartozó hitelesítő adatokat.
Lépjen a meglévő Azure Cosmos DB for NoSQL-fiók Azure Portal lapjára.
Az Azure Cosmos DB for NoSQL-fiók oldalán válassza a Kulcsok navigációs menüt.
Jegyezze fel az URI és AZ ELSŐDLEGES KULCS mezők értékeit. Ezeket az értékeket az oktatóanyag későbbi részében fogja használni.
Azure Key Vault-erőforrás létrehozása
Először hozzon létre egy új kulcstartót a NoSQL-hitelesítő API tárolásához.
Jelentkezzen be az Azure Portalra.
Válassza az Erőforrás > létrehozása Biztonsági > Key Vault lehetőséget.
A Kulcstartó létrehozása lapon adja meg a következő adatokat:
Beállítás Leírás Előfizetés Válassza ki az Azure Cosmos-fiókhoz használni kívánt Azure-előfizetést. Erőforráscsoport Válasszon ki egy erőforráscsoportot, vagy válassza az Új létrehozása lehetőséget, majd adjon meg egy egyedi nevet az új erőforráscsoportnak. Key Vault neve Adjon meg egy globálisan egyedi nevet a kulcstartónak. Régió Válassza ki az Azure Cosmos DB-fiókot üzemeltetéséhez használni kívánt földrajzi helyet. Használja a felhasználókhoz legközelebbi helyet, hogy a lehető leggyorsabb hozzáférést biztosítsa számukra az adatokhoz. Tarifacsomag Válassza a Standard lehetőséget. Hagyja meg a többi beállítást az alapértelmezett értékükön.
Válassza az Áttekintés + létrehozás lehetőséget.
Tekintse át a megadott beállításokat, majd válassza a Létrehozás lehetőséget. A fiók létrehozása néhány percet vesz igénybe. Mielőtt továbblépne, várja meg, amíg a portállap megjelenik Az üzembe helyezés befejeződött .
Azure Cosmos DB hozzáférési kulcsok hozzáadása a Key Vault
Most tárolja az Azure Cosmos DB hitelesítő adatait titkos kulcsként a kulcstartóban.
Válassza az Erőforrás megnyitása lehetőséget az Azure Key Vault erőforráslapjának megtekintéséhez.
Az Azure Key Vault erőforrás oldalán válassza a Titkos kódok navigációs menüt.
Válassza a Létrehozás/importálás lehetőséget a menüből.
A Titkos kód létrehozása lapon adja meg a következő információkat:
Beállítás Leírás Feltöltési beállítások Kézi Név cosmos-endpoint Titkos kód értéke Adja meg az oktatóanyag korábbi részében másolt URI-t . Válassza a Létrehozás lehetőséget az új cosmos-endpoint titkos kód létrehozásához.
Válassza ismét a Létrehozás/importálás lehetőséget a menüből. A Titkos kód létrehozása lapon adja meg a következő információkat:
Beállítás Leírás Feltöltési beállítások Kézi Név cosmos-readwrite-key Titkos kód értéke Adja meg az oktatóanyag korábbi részében másolt ELSŐDLEGES KULCSOT . Válassza a Létrehozás lehetőséget az új cosmos-readwrite-key titkos kód létrehozásához.
A titkos kódok létrehozása után tekintse meg őket a titkos kódok listájában a Titkos kódok lapon.
Jelölje ki az egyes kulcsokat, válassza ki a legújabb verziót, majd másolja ki a titkos kód azonosítót. Az oktatóanyag későbbi részében a cosmos-endpoint és a cosmos-readwrite-key titkos kód azonosítóját fogja használni.
Tipp
A titkos kód azonosítója ebben a formátumban
https://<key-vault-name>.vault.azure.net/secrets/<secret-name>/<version-id>
lesz. Ha például a kulcstartó neve msdocs-key-vault, a kulcs neve cosmos-readwrite-key, és a verzió, ha 83b995e363d947999ac6cf487ae0e12e; akkor a titkos azonosító a következő leszhttps://msdocs-key-vault.vault.azure.net/secrets/cosmos-readwrite-key/83b995e363d947999ac6cf487ae0e12e
: .
Azure-webalkalmazás létrehozása és regisztrálása az Azure Key Vault
Ebben a szakaszban hozzon létre egy új Azure-webalkalmazást, helyezzen üzembe egy mintaalkalmazást, majd regisztrálja a webalkalmazás felügyelt identitását az Azure Key Vault.
Hozzon létre egy új GitHub-adattárat a cosmos-db-nosql-dotnet-sample-web-environment-variables sablonnal.
A Azure Portal válassza az Erőforrás > létrehozása Web Web > App lehetőséget.
A Webalkalmazás létrehozása lapon és az Alapvető beállítások lapon adja meg a következő adatokat:
Beállítás Leírás Előfizetés Válassza ki az Azure Cosmos-fiókhoz használni kívánt Azure-előfizetést. Erőforráscsoport Válasszon ki egy erőforráscsoportot, vagy válassza az Új létrehozása lehetőséget, majd adjon meg egy egyedi nevet az új erőforráscsoportnak. Név Adjon meg egy globálisan egyedi nevet a webalkalmazásnak. Közzététel Válassza a Kód lehetőséget. Futtatókörnyezet verme Válassza a .NET 6 (LTS) lehetőséget. Operációs rendszer Válassza a Windows lehetőséget. Régió Válassza ki az Azure Cosmos DB-fiókot üzemeltetéséhez használni kívánt földrajzi helyet. Használja a felhasználókhoz legközelebbi helyet, hogy a lehető leggyorsabb hozzáférést biztosítsa számukra az adatokhoz. A többi beállításnál hagyja meg az alapértelmezett értékeket.
Válassza a Tovább: Üzembe helyezés lehetőséget.
Az Üzembe helyezés lapon adja meg a következő adatokat:
Beállítás Leírás Folyamatos üzembe helyezés Válassza az Engedélyezés lehetőséget. GitHub-fiók Válassza az Engedélyezés lehetőséget. Kövesse a GitHub-fiók engedélyezési kéréseit, hogy engedélyt adjon az Azure-nak az újonnan létrehozott GitHub-adattár olvasásához. Szervezet Válassza ki az új GitHub-adattár szervezetét. Adattár Válassza ki az új GitHub-adattár nevét. Ág Válassza a fő lehetőséget. Válassza az Áttekintés + létrehozás lehetőséget.
Tekintse át a megadott beállításokat, majd válassza a Létrehozás lehetőséget. A fiók létrehozása eltarthat néhány percig. Mielőtt továbblépne, várja meg, amíg a portáloldal megjelenik : Az üzembe helyezés befejeződött .
Előfordulhat, hogy várnia kell néhány további percet, amíg a webalkalmazás először üzembe lesz helyezve a webalkalmazásban. Az Azure Web App erőforráslapján válassza a Tallózás lehetőséget az alkalmazás alapértelmezett állapotának megtekintéséhez.
Válassza az Identitás navigációs menüt.
Az Identitás lapon válassza a Be lehetőséget a Rendszer által hozzárendelt felügyelt identitás területen, majd válassza a Mentés lehetőséget.
Azure Key Vault titkos kulcsok injektálása Az Azure Web App alkalmazásbeállításaiként
Végül szúrja be a kulcstartóban tárolt titkos kulcsokat alkalmazásbeállításokként a webalkalmazásban. Az alkalmazásbeállítások azonban futásidőben beszúrják a hitelesítő adatokat az alkalmazásba anélkül, hogy a hitelesítő adatokat tiszta szövegben tárolják.
Térjen vissza a key vault lapjára a Azure Portal. A navigációs menüben válassza a Hozzáférési szabályzatok lehetőséget.
A Hozzáférési szabályzatok lapon válassza a Létrehozás lehetőséget a menüből.
A Hozzáférési szabályzat létrehozása lap Engedélyek lapján válassza a Titkos engedélyek szakaszban a Beolvasás lehetőséget. Kattintson a Tovább gombra.
Az Egyszerű lapon válassza ki az oktatóanyag korábbi részében létrehozott webalkalmazás nevét. Kattintson a Tovább gombra.
Megjegyzés
Ebben a példában a képernyőképen a webalkalmazás neve msdocs-dotnet-web.
Válassza ismét a Tovább gombot az Alkalmazás lap kihagyásához. A Felülvizsgálat + létrehozás lapon tekintse át a megadott beállításokat, majd válassza a Létrehozás lehetőséget.
Térjen vissza a webalkalmazás lapjára a Azure Portal. A navigációs menüben válassza a Konfiguráció lehetőséget.
A Konfiguráció lapon válassza az Új alkalmazásbeállítás lehetőséget. Az Alkalmazás hozzáadása/szerkesztése párbeszédpanelen adja meg a következő adatokat:
Beállítás Leírás Név CREDENTIALS__ENDPOINT
Kulcs Kérje le az oktatóanyag korábbi részében létrehozott kulcstartóban található cosmos-endpoint titkos kód titkos azonosítóját. Adja meg az azonosítót a következő formátumban: @Microsoft.KeyVault(SecretUri=<secret-identifier>)
.Tipp
Győződjön meg arról, hogy a környezeti változó dupla aláhúzásjel (
__
) értékkel rendelkezik egyetlen aláhúzásjel helyett. A dupla aláhúzásjel egy kulcs deliméter, amelyet a .NET minden platformon támogat. További információ: Környezeti változók konfigurálása.Megjegyzés
Ha például a titkos azonosító
https://msdocs-key-vault.vault.azure.net/secrets/cosmos-endpoint/69621c59ef5b4b7294b5def118921b07
, akkor a hivatkozás a következő lesz@Microsoft.KeyVault(SecretUri=https://msdocs-key-vault.vault.azure.net/secrets/cosmos-endpoint/69621c59ef5b4b7294b5def118921b07)
: .Az új alkalmazásbeállítás megőrzéséhez válassza az OK gombot
Válassza ismét az Új alkalmazásbeállítás lehetőséget . Az Alkalmazás hozzáadása/szerkesztése párbeszédpanelen adja meg a következő adatokat, majd kattintson az OK gombra:
Beállítás Leírás Név CREDENTIALS__KEY
Kulcs Kérje le a cosmos-readwrite-key titkos kód titkos azonosítóját az oktatóanyag korábbi részében létrehozott kulcstartóban. Adja meg az azonosítót a következő formátumban: @Microsoft.KeyVault(SecretUri=<secret-identifier>)
.A Konfiguráció lapra visszatérve válassza a Mentés lehetőséget a webalkalmazás alkalmazásbeállításainak frissítéséhez.
Várjon néhány percet, amíg a webalkalmazás újraindul az új alkalmazásbeállításokkal. Ezen a ponton az új alkalmazásbeállításoknak azt kell jelezniük, hogy kulcstartó-referenciaként szolgálnak.
A navigációs menüben válassza az Áttekintés lehetőséget. Válassza a Tallózás lehetőséget az alkalmazás kitöltött hitelesítő adatokkal való megtekintéséhez.
Következő lépések
- Ha tűzfalat szeretne konfigurálni az Azure Cosmos DB-hez, tekintse meg a tűzfaltámogatási cikket.
- A virtuális hálózati szolgáltatásvégpont konfigurálásához tekintse meg a virtuális hálózati szolgáltatásvégpont használatával történő biztonságos hozzáférést ismertető cikket.