Oktatóanyag: Az Azure Cosmos DB hitelesítő adatainak tárolása és használata az Azure Key Vaulttal
A KÖVETKEZŐKRE VONATKOZIK:
NoSQL
MongoDB
Cassandra
Gremlin
Asztal
Fontos
Az Azure Cosmos DB-hez való hozzáférés ajánlott egy rendszer által hozzárendelt felügyelt identitás használata. Ha a felügyelt identitásmegoldás és a tanúsítványalapú megoldás sem felel meg az igényeinek, használja az Azure Key Vault megoldását ebben a cikkben.
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, valamint az elsődleges vagy másodlagos kulccsal csatlakozhat.
Nem ajánlott közvetlenül az alkalmazás kódjában vagy konfigurációs fájljában tárolni a végponti URI-t és a bizalmas írási-írási kulcsokat. Ideális esetben ezeket az adatokat a gazdagép környezeti változóiból olvassa be. A Azure-alkalmazás Szolgáltatásban az alkalmazásbeállítások lehetővé teszik futtatókörnyezeti hitelesítő adatok injektálásához az Azure Cosmos DB-fiókhoz anélkül, hogy a fejlesztőknek nem biztonságos, egyértelmű 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 azáltal, hogy lehetővé teszi a hitelesítő adatok biztonságos tárolását, miközben olyan szolgáltatásokat biztosít, mint Azure-alkalmazás szolgáltatás által felügyelt hozzáférés a hitelesítő adatokhoz. Azure-alkalmazás szolgáltatás biztonságosan beolvassa a hitelesítő adatokat az Azure Key Vaultbó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 az olyan eszközök hitelesítő adatait, 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 operatív csapat biztosíthatja, hogy futásidőben a megfelelő éles beállítások legyenek injektálva.
Ebben 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
- Azure-alkalmazás szolgáltatáserőforrás létrehozása és regisztrálása, valamint "olvasási kulcs" engedélyek megadása
- Kulcstartó titkos kulcsainak injektálása az App Service-erőforrásba
Feljegyzé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 Rendelkezik Azure-előfizetéssel, 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.
Mielőtt hozzákezdene: Azure Cosmos DB-hitelesítő adatok 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 oldalára.
Az Azure Cosmos DB for NoSQL-fiók lapjá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 az API NoSQL-hitelesítő adatainak tárolásához.
Jelentkezzen be az Azure Portalra.
Válassza az Erőforrás > biztonsági > kulcstartó létrehozása 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 adja meg az új erőforráscsoport egyedi nevét. Kulcstartó 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özelebb lévő helyet, hogy a lehető leggyorsabb hozzáférést biztosítsa az adatokhoz. Tarifacsomag Válassza a Standard lehetőséget. Hagyja meg a többi beállítást az alapértelmezett értékekre.
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áloldal megjelenik Az üzembe helyezés befejeződött .
Azure Cosmos DB hozzáférési kulcsok hozzáadása a Key Vaulthoz
Most tárolja az Azure Cosmos DB-hitelesítő adatait titkos kulcsként a kulcstartóban.
Válassza az Ugrás az erőforrásra lehetőséget az Azure Key Vault erőforrásoldalának megtekintéséhez.
Az Azure Key Vault erőforráslapjá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ő adatokat:
Beállítás Leírás Feltöltési beállítások Kézi Név cosmos-endpoint Titkos kulcs é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-végpont titkos kódjának 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ő adatokat:
Beállítás Leírás Feltöltési beállítások Kézi Név cosmos-readwrite-key Titkos kulcs é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 kulcsok 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 a titkos azonosítót. Az oktatóanyag későbbi részében a cosmos-endpoint és a cosmos-readwrite-key titkos kulcs azonosítóját fogja használni.
Tipp.
A titkos azonosító ebben a formátumban
https://<key-vault-name>.vault.azure.net/secrets/<secret-name>/<version-id>
van. Ha például a kulcstartó neve msdocs-key-vault, a kulcs neve cosmos-readwrite-key, a verzió pedig aaaaaaaa-0b0b-1c1c-2d2d-333333333333; akkor a titkos azonosítóhttps://msdocs-key-vault.vault.azure.net/secrets/cosmos-readwrite-key/aaaaaaaa-0b0b-1c1c-2d2d-333333333333
:
Azure-webalkalmazás létrehozása és regisztrálása az Azure Key Vaultban
Ebben a szakaszban hozzon létre egy új Azure Web App-alkalmazást, telepítsen egy mintaalkalmazást, majd regisztrálja a webalkalmazás felügyelt identitását az Azure Key Vaultban.
Hozzon létre egy új GitHub-adattárat a cosmos-db-nosql-dotnet-sample-web-environment-variables sablonnal.
Az Azure Portalon válassza az Erőforrás > webalkalmazás >létrehozása lehetőséget.
A Webalkalmazás létrehozása lap és az Alapszintű beállítások lapon adja meg a következő információkat:
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 adja meg az új erőforráscsoport egyedi nevét. 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örnyezeti verem 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özelebb lévő helyet, hogy a lehető leggyorsabb hozzáférést biztosítsa az adatokhoz. Hagyja meg a többi beállítást az alapértelmezett értékekre.
Válassza a Következő: Ü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 ki 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, és adjon engedélyt 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 ki a fő elemet. 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áloldal megjelenik Az üzembe helyezés befejeződött .
Előfordulhat, hogy várnia kell néhány percet, amíg a webalkalmazást először üzembe helyezik 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áshoz, majd válassza a Mentés lehetőséget.
Azure Key Vault-titkos kulcsok injektálása Azure Web App-alkalmazásbeállításokként
Végül adja meg a kulcstartóban tárolt titkos kulcsokat alkalmazásbeállításokként a webalkalmazásban. Az alkalmazás beállításai 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 oldalához az Azure Portalon. Válassza ki az Access-szabályzatokat a navigációs menüből.
Az Access szabályzatok lapján 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 kódok engedélyeinek szakaszban a Beolvasás lehetőséget. Válassza a Tovább lehetőséget.
Az Egyszerű lapon válassza ki az oktatóanyag korábbi részében létrehozott webalkalmazás nevét. Válassza a Tovább lehetőséget.
Feljegyzés
Ebben a példában a képernyőképen a webalkalmazás neve msdocs-dotnet-web.
Az Alkalmazás lap kihagyásához kattintson ismét a Tovább gombra. A Véleményezés + 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 az Azure Portalon. Válassza a Konfiguráció lehetőséget a navigációs menüben.
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 Az oktatóanyag korábbi részében létrehozott kulcstartóban kérje le a 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ás (
__
) értékkel rendelkezik egyetlen aláhúzásjel helyett. A dupla aláhúzás a .NET által támogatott kulcselválasztó minden platformon. További információkért lásd a környezeti változók konfigurációját.Feljegyzés
Ha például a titkos azonosító,
https://msdocs-key-vault.vault.azure.net/secrets/cosmos-endpoint/AB0CD1EF2GH3IJ4KL5MN6OP7QR8ST9
akkor a hivatkozás a következő@Microsoft.KeyVault(SecretUri=https://msdocs-key-vault.vault.azure.net/secrets/cosmos-endpoint/AB0CD1EF2GH3IJ4KL5MN6OP7QR8ST9)
:Az új alkalmazásbeállítás megőrzéséhez válassza az OK gombot
Válassza ismét az Új alkalmazás beállítást . 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 Az oktatóanyag korábbi részében létrehozott kulcstartóban kérje le a cosmos-readwrite-key titkos kód titkos azonosítóját. Adja meg az azonosítót a következő formátumban: @Microsoft.KeyVault(SecretUri=<secret-identifier>)
.A Konfiguráció lapon 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 key vault-referenciaként szolgálnak.
Válassza az Áttekintés lehetőséget a navigációs menüből. A Tallózás gombra kattintva megtekintheti az alkalmazást a kitöltött hitelesítő adatokkal.
Következő lépések
- Az Azure Cosmos DB tűzfalának konfigurálásához 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 biztonságos hozzáférést a virtuális hálózati szolgáltatásvégpont-cikk használatával.