Az Azure Cosmos DB-fiók ügyfél által felügyelt kulcsainak konfigurálása az Azure Key Vaulttal
A KÖVETKEZŐKRE VONATKOZIK: NoSQL MongoDB Cassandra Gremlin Asztal
Az Azure Cosmos DB-fiókban tárolt adatok automatikusan és zökkenőmentesen titkosítva lesznek a Microsoft által kezelt kulcsokkal (szolgáltatás által felügyelt kulcsokkal). Igény szerint hozzáadhat egy második titkosítási réteget a kezelt kulcsokkal (ügyfél által felügyelt kulcsokkal vagy CMK-val).
Az ügyfél által felügyelt kulcsokat az Azure Key Vaultban kell tárolnia, és meg kell adnia egy kulcsot minden olyan Azure Cosmos DB-fiókhoz, amely engedélyezve van az ügyfél által felügyelt kulcsokkal. Ez a kulcs az adott fiókban tárolt összes adat titkosítására szolgál.
Feljegyzés
Ha engedélyezni szeretné az ügyfél által felügyelt kulcsokat a meglévő Azure Cosmos DB-fiókjain, további részletekért tekintse meg az itt található hivatkozást.
Figyelmeztetés
A cassandra API-táblákban az ügyfél által felügyelt kulcsok használatával a következő mezőnevek vannak fenntartva:
id
ttl
_ts
_etag
_rid
_self
_attachments
_epk
Ha az ügyfél által felügyelt kulcsok nincsenek engedélyezve, csak a kezdő mezőnevek __sys_
vannak fenntartva.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
Az Azure Cosmos DB-erőforrás-szolgáltató regisztrálása
Ha a Microsoft.DocumentDB erőforrás-szolgáltató még nincs regisztrálva, első lépésként regisztrálnia kell ezt a szolgáltatót.
Jelentkezzen be az Azure Portalra, nyissa meg az Azure-előfizetését, és válassza az Erőforrás-szolgáltatók lehetőséget a Beállítások lapon:
Keresse meg a Microsoft.DocumentDB erőforrás-szolgáltatót. Ellenőrizze, hogy az erőforrás-szolgáltató már regisztráltként van-e megjelölve. Ha nem, válassza ki az erőforrás-szolgáltatót, és válassza a Regisztráció lehetőséget:
Az Azure Key Vault-példány konfigurálása
Fontos
Az Azure Key Vault-példánynak nyilvános hálózati hozzáféréssel kell elérhetőnek lennie, vagy engedélyeznie kell, hogy a megbízható Microsoft-szolgáltatások megkerülje a tűzfalát. A kizárólag privát végpontokon keresztül elérhető példányok nem használhatók az ügyfél által felügyelt kulcsok üzemeltetésére.
Ha ügyfél által felügyelt kulcsokat használ az Azure Cosmos DB-vel, két tulajdonságot kell beállítania azon az Azure Key Vault-példányon, amelyet a titkosítási kulcsok üzemeltetésére kíván használni: a Helyreállítható törlés és a Törlés elleni védelem.
Ha új Azure Key Vault-példányt hoz létre, engedélyezze ezeket a tulajdonságokat a létrehozás során:
Ha egy meglévő Azure Key Vault-példányt használ, az Azure Portal Tulajdonságok szakaszában ellenőrizheti, hogy engedélyezve vannak-e ezek a tulajdonságok. Ha ezen tulajdonságok bármelyike nincs engedélyezve, tekintse meg a "Helyreállítható törlés engedélyezése" és a "Törlés elleni védelem engedélyezése" című szakaszt az alábbi cikkek egyikében:
Az előnyben részesített biztonsági modell kiválasztása
Miután engedélyezte a törlés elleni védelmet és a helyreállítható törlést, a hozzáférési szabályzat lapon kiválaszthatja a használni kívánt engedélymodellt. A hozzáférési szabályzatok alapértelmezés szerint be vannak állítva, de az Azure szerepköralapú hozzáférés-vezérlése is támogatott.
Meg kell adni a szükséges engedélyeket ahhoz, hogy a Cosmos DB használhassa a titkosítási kulcsot. Ez a lépés attól függően változik, hogy az Azure Key Vault hozzáférési szabályzatokat vagy szerepköralapú hozzáférés-vezérlést használ-e.
Feljegyzés
Fontos megjegyezni, hogy egyszerre csak egy biztonsági modell lehet aktív, így nincs szükség a szerepköralapú hozzáférés-vezérlésre, ha az Azure Key Vault hozzáférési szabályzatok használatára van beállítva, és fordítva)
Hozzáférési szabályzat hozzáadása
Ebben a változatban az Azure Cosmos DB-taggal hozzon létre egy hozzáférési szabályzatot a megfelelő engedélyekkel.
Az Azure Portalon nyissa meg azt az Azure Key Vault-példányt, amelyet a titkosítási kulcsok üzemeltetésére kíván használni. Válassza ki a hozzáférési szabályzatokat a bal oldali menüből:
Válassza a + Hozzáférési szabályzat hozzáadása lehetőséget.
A Kulcsengedélyek legördülő menüben válassza a Lekérés, a Kulcs feloldása és a Tördelési kulcs engedélyeket:
Az Egyszerű kijelölése csoportban válassza a Nincs kijelölve lehetőséget.
Keresse meg az Azure Cosmos DB-t, és válassza ki (a könnyebb keresés érdekében az alkalmazásazonosító alapján is kereshet:
00001111-aaaa-2222-bbbb-3333cccc4444
bármely Azure-régióban, kivéve az Azure Government-régiókat, ahol az alkalmazásazonosító).11112222-bbbb-3333-cccc-4444dddd5555
Tipp.
Ez regisztrálja az Azure Cosmos DB belső identitását az Azure Key Vault hozzáférési szabályzatában. Ha az Azure Cosmos DB-tag nem szerepel a listában, előfordulhat, hogy újra regisztrálnia kell a Microsoft.DocumentDB erőforrás-szolgáltatót.
Válassza a Kiválasztás elemet az alján.
Válassza a Hozzáadás lehetőséget az új hozzáférési szabályzat hozzáadásához.
Az összes módosítás mentéséhez válassza a Mentés a Key Vault-példányon lehetőséget.
Szerepköralapú hozzáférés-vezérlési szerepkörök hozzáadása
Az Azure Portalon nyissa meg azt az Azure Key Vault-példányt, amelyet a titkosítási kulcsok üzemeltetésére kíván használni. A bal oldali menüben válassza a Hozzáférés-vezérlés (IAM) lehetőséget, és válassza az Erőforráshoz való hozzáférés engedélyezése lehetőséget.
Keressen rá a Key Vault rendszergazdai szerepkörére, és rendelje hozzá saját magához. Ezt a feladatot úgy hajtja végre, hogy először a szerepkör nevére keres a listából, majd a "Tagok" fülre kattint. A lapon válassza a "Felhasználó, csoport vagy szolgáltatásnév" lehetőséget a rádióban, majd keresse meg az Azure-fiókját. A fiók kiválasztása után a szerepkör hozzárendelhető.
Ezután a szükséges engedélyeket hozzá kell rendelni a Cosmos DB-hez. Így az utolsó szerepkör-hozzárendeléshez hasonlóan lépjen a feladatlapra, de ezúttal keresse meg a "Key Vault crypto service encryption user" szerepkört, és a tagok lapon keresse meg a Cosmos DB tagját. Az egyszerű kereséshez keresse meg az Azure Cosmos DB-tagot , és válassza ki.
Fontos
Az Azure Government régióban az alkalmazás azonosítója.
11112222-bbbb-3333-cccc-4444dddd5555
Válassza a Véleményezés + hozzárendelés lehetőséget, és a szerepkör hozzá lesz rendelve a Cosmos DB-hez.
Ellenőrizze, hogy a szerepkörök helyesen lettek-e beállítva
Ezután a hozzáférés-vezérlési lapon ellenőrizze, hogy az összes szerepkör megfelelően van-e konfigurálva.
A szerepkörök hozzárendelése után a Hozzáférés-vezérlés IAM lapján válassza a "Hozzáférés megtekintése ehhez az erőforráshoz" lehetőséget, és ellenőrizze, hogy minden megfelelően van-e beállítva.
A lapon állítsa a hatókört "erre az erőforrásra " , és ellenőrizze, hogy rendelkezik-e a Key Vault rendszergazdai szerepkörével, és a Cosmos DB-tag rendelkezik a Key Vault titkosítási felhasználói szerepkörével.
Kulcs létrehozása az Azure Key Vaultban
Itt hozzon létre egy új kulcsot az Azure Key Vault használatával, és kérje le az egyedi azonosítót.
Az Azure Portalon nyissa meg a titkosítási kulcsok üzemeltetéséhez használni kívánt Azure Key Vault-példányt. Ezután válassza a Bal oldali menü Kulcsok elemét:
Válassza a Létrehozás/Importálás lehetőséget, adja meg az új kulcs nevét, és válasszon egy RSA-kulcsméretet. A legjobb biztonság érdekében legalább 3072 ajánlott. Ezután válassza a Létrehozás lehetőséget:
Tipp.
Másik lehetőségként az Azure CLI-vel is létrehozhat egy kulcsot a következőkkel:
az keyvault key create \ --vault-name <name-of-key-vault> \ --name <name-of-key>
A kulcstartók Azure CLI-vel való kezelésével kapcsolatos további információkért lásd az Azure Key Vault azure CLI-vel való kezelését.
A kulcs létrehozása után válassza ki az újonnan létrehozott kulcsot, majd annak aktuális verzióját.
Másolja ki a kulcs kulcsazonosítóját, kivéve az utolsó perjel utáni részt:
Új Azure Cosmos DB-fiók létrehozása
Hozzon létre egy új Azure Cosmos DB-fiókot az Azure Portal vagy az Azure CLI használatával.
Amikor új Azure Cosmos DB-fiókot hoz létre az Azure Portalról, válassza az Ügyfél által felügyelt kulcsot a titkosítási lépésben. A Kulcs URI mezőjébe illessze be az előző lépésből kimásolt Azure Key Vault-kulcs URI/kulcsazonosítóját:
Fontos
A hálózati konfigurációtól függően előfordulhat, hogy engedélyeznie kell az Azure Cosmos DB-hez való hozzáférést más Azure-szolgáltatásokból.
Felügyelt identitás használata az Azure Key Vault hozzáférési szabályzatában
Ez a hozzáférési szabályzat biztosítja, hogy a titkosítási kulcsok elérhetők legyenek az Azure Cosmos DB-fiókban. A hozzáférési szabályzat egy adott Microsoft Entra-identitáshoz való hozzáférés biztosításával valósul meg. Az identitások két típusa támogatott:
- Az Azure Cosmos DB belső identitásával hozzáférést biztosíthat az Azure Cosmos DB szolgáltatáshoz.
- Az Azure Cosmos DB-fiók felügyelt identitása kifejezetten a fiókhoz való hozzáférés biztosításához használható.
Ügyfél által felügyelt kulcsok használata folyamatos biztonsági mentéssel
Folyamatos biztonsági mentési fiókot az Azure CLI vagy egy Azure Resource Manager-sablon használatával hozhat létre.
Jelenleg csak a felhasználó által hozzárendelt felügyelt identitás támogatott a folyamatos biztonsági mentési fiókok létrehozásához.
A fiók létrehozása után frissítheti az identitást a rendszer által hozzárendelt felügyelt identitásra.
Azt is megteheti, hogy a felhasználó először rendszeres biztonsági mentési móddal hoz létre rendszeridentitást, majd az alábbi utasítások segítségével migrálja a fiókot folyamatos biztonsági mentési módba az Alábbi utasítások segítségével : Azure Cosmos DB-fiók áttelepítése időszakosról folyamatos biztonsági mentési módra
Felügyelt identitással konfigurált folyamatos fiók visszaállítása
A visszaállítási kérelemben felhasználó által hozzárendelt identitásra van szükség, mert a forrásfiók által felügyelt identitás (felhasználó által hozzárendelt és rendszer által hozzárendelt identitások) nem adhatók át automatikusan a céladatbázis-fiókba.
Ügyfél által kezelt kulcsok és dupla titkosítás
Az Ügyfél által felügyelt kulcsok használatakor az Azure Cosmos DB-fiókban tárolt adatok kétszer lesznek titkosítva:
- Egyszer a Microsoft által felügyelt kulcsokkal végrehajtott alapértelmezett titkosításon keresztül.
- Egyszer az ügyfél által felügyelt kulcsokkal végrehajtott extra titkosításon keresztül.
A kettős titkosítás csak a fő Azure Cosmos DB tranzakciós tárolóra vonatkozik. Egyes funkciók magukban foglalják az adatok belső replikálását egy második tárolási rétegbe, ahol nem biztosítják a kettős titkosítást, még az ügyfél által felügyelt kulcsokkal sem. Ezek a funkciók a következők:
Kulcsrotálás
Az Azure Cosmos DB-fiók által használt ügyfél által kezelt kulcs elforgatása kétféleképpen végezhető el.
Hozza létre az Azure Key Vaultból jelenleg használt kulcs új verzióját:
Az aktuálisan használt kulcs felcserélése másikkal a fiók kulcs URI-jának frissítésével. Az Azure Portalon lépjen az Azure Cosmos DB-fiókjába, és válassza az Adattitkosítás lehetőséget a bal oldali menüből:
Ezután cserélje le a Kulcs URI-t a használni kívánt új kulcsra, és válassza a Mentés lehetőséget:
Így érheti el ugyanezt az eredményt a PowerShellben:
# Variable for resource group name $RESOURCE_GROUP_NAME = "<resource-group-name>" # Variable for account name $ACCOUNT_NAME = "<globally-unique-account-name>" # Variable for new key URI in the key vault $NEW_KEY_VAULT_KEY_URI="https://<key-vault-name>.vault.azure.net/keys/<new-key-name>" $parameters = @{ ResourceGroupName = $RESOURCE_GROUP_NAME Name = $ACCOUNT_NAME ResourceType = "Microsoft.DocumentDb/databaseAccounts" } $ACCOUNT = Get-AzResource @parameters $ACCOUNT.Properties.keyVaultKeyUri = $NEW_KEY_VAULT_KEY_URI $ACCOUNT | Set-AzResource -Force
Az előző kulcs- vagy kulcsverzió letiltható, miután az Azure Key Vault naplózási naplói már nem jelenítik meg az Azure Cosmos DB-ből származó tevékenységeket ezen a kulcs- vagy kulcsverzión. 24 óra kulcsváltás után nem szabad több tevékenységet elvégezni az előző kulcs- vagy kulcsverzióban.
Az Azure Key Vaultban a kulcs automatikus elforgatása mindaddig támogatott, amíg az előző kulcs nincs letiltva vagy törölve. A belső rendszereknek időre van szükségük ahhoz, hogy felzárkózhassanak a kulcs új verziójához, miután ellenőrizte, hogy a fiók nincs visszavonva, vagy áttér az ügyfél által felügyelt kulcsok engedélyezésére.
Hibakezelés
Ha az Azure Cosmos DB-ben az ügyfél által felügyelt kulcsokkal kapcsolatos hibák merülnek fel, az Azure Cosmos DB egy HTTP-alállapotkóddal együtt adja vissza a hiba részleteit a válaszban. A HTTP-alállapotkóddal hibakeresést végezhet a probléma kiváltó okán. A támogatott HTTP-alállapotkódok listájának lekéréséhez tekintse meg az Azure Cosmos DB HTTP-állapotkódjait ismertető cikket.
Gyakori kérdések
Az alábbiakban gyakori kérdéseket talál az ügyfél által felügyelt kulcsok Azure Cosmos DB-ben való beállításával kapcsolatban.
Vannak további díjak az ügyfél által felügyelt kulcsok engedélyezéséhez?
Nem, ennek a funkciónak a engedélyezése díjmentes.
Hogyan befolyásolják az ügyfél által felügyelt kulcsok a kapacitástervezést?
Az adatbázisműveletek által felhasznált kérelemegységek növekedése az adatok titkosításához és visszafejtéséhez szükséges további feldolgozást tükrözi az ügyfél által felügyelt kulcsok használatakor. Az extra RU-használat a kiosztott kapacitás valamivel magasabb kihasználtságához vezethet. Útmutatásért használja ezt a táblázatot:
Művelettípus | Kérelemegység növelése |
---|---|
Pontolvasások (elemek beolvasása az azonosítójuk alapján) | + 5% műveletenként |
Bármilyen írási művelet | + 6% műveletenként | Indexelt tulajdonságonként körülbelül + 0,06 RU |
Lekérdezések, változáscsatorna olvasása vagy ütközéscsatorna | + 15% műveletenként |
Milyen adatok lesznek titkosítva az ügyfél által kezelt kulcsokkal?
Az Azure Cosmos DB-fiókban tárolt összes adat az ügyfél által kezelt kulcsokkal van titkosítva, kivéve a következő metaadatokat:
Az Azure Cosmos DB-fiókok , -adatbázisok és -tárolók neve
Az indexelési szabályzatokban deklarált tulajdonságelérési utak
A tárolók partíciókulcsainak értékei
Támogatottak az ügyfél által felügyelt kulcsok a meglévő Azure Cosmos DB-fiókokhoz?
Igen. Tekintse meg a meglévő Azure Cosmos DB-fiókok ügyfél által felügyelt kulcsainak beállítását ismertető témakört
Használhat ügyfél által felügyelt kulcsokat az Azure Cosmos DB elemzési tárával?
Igen, az Azure Synapse Link csak az ügyfél által felügyelt kulcsok konfigurálását támogatja az Azure Cosmos DB-fiók felügyelt identitásával. Az Azure Cosmos DB-fiók felügyelt identitását az Azure Key Vault hozzáférési szabályzatában kell használnia, mielőtt engedélyezi az Azure Synapse Linket a fiókjában. A felügyelt identitás engedélyezésével és hozzáférési szabályzatban való használatával kapcsolatos útmutatóért tekintse meg az Azure Key Vault hozzáférését az Azure Cosmos DB-ből felügyelt identitás használatával.
Van olyan terv, amely a fiókszintű kulcsoknál finomabb részletességet támogat?
Jelenleg nem, de a tárolószintű kulcsok is megfontolandók.
Hogyan állapíthatom meg, hogy az ügyfél által felügyelt kulcsok engedélyezve vannak-e az Azure Cosmos DB-fiókomban?
Az Azure Portalon lépjen az Azure Cosmos DB-fiókjába, és figyelje meg a bal oldali menü adattitkosítási bejegyzését. Ha ez a bejegyzés létezik, az ügyfél által felügyelt kulcsok engedélyezve vannak a fiókjában:
Az Azure Cosmos DB-fiók adatait programozott módon is lekérheti, és megkeresheti a keyVaultKeyUri
tulajdonság jelenlétét.
Hogyan befolyásolják az ügyfél által felügyelt kulcsok az időszakos biztonsági mentéseket?
Az Azure Cosmos DB rendszeres és automatikus biztonsági másolatot készít a fiókjában tárolt adatokról. Ez a művelet biztonsági másolatot készít a titkosított adatokról.
Az időszakos biztonsági mentés sikeres visszaállításához a következő feltételek szükségesek:
- A biztonsági mentéskor használt titkosítási kulcsra van szükség, és elérhetőnek kell lennie az Azure Key Vaultban. Ehhez a feltételhez nem szükséges visszavonás, és a biztonsági mentéskor használt kulcs verziója továbbra is engedélyezve van.
- Ha rendszer által hozzárendelt felügyelt identitást használt a hozzáférési szabályzatban, ideiglenesen adjon hozzáférést az Azure Cosmos DB belső identitásához az adatok visszaállítása előtt. Ez a követelmény azért létezik, mert a rendszer által hozzárendelt felügyelt identitás egy fiókra vonatkozik, és nem használható újra a célfiókban. Miután az adatok teljes mértékben visszaálltak a célfiókra, beállíthatja a kívánt identitáskonfigurációt, és eltávolíthatja a belső identitást a Key Vault hozzáférési szabályzatából.
Hogyan befolyásolják az ügyfél által felügyelt kulcsok a folyamatos biztonsági mentéseket?
Az Azure Cosmos DB lehetővé teszi a folyamatos biztonsági mentések konfigurálását a fiókjában. A folyamatos biztonsági mentések segítségével az adatokat az elmúlt 30 nap bármely pontjához visszaállíthatja. Ha olyan fiókon szeretne folyamatos biztonsági másolatot készíteni, ahol engedélyezve vannak az ügyfél által felügyelt kulcsok, a Key Vault hozzáférési szabályzatában rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitást kell használnia. Az Azure Cosmos DB belső identitásai jelenleg nem támogatottak a folyamatos biztonsági mentést használó fiókokban.
A felhasználó által hozzárendelt identitás frissítéséhez az ügyfél által felügyelt kulcsokkal rendelkező fiókok előfeltételei.
- Adjon hozzá egy felhasználó által hozzárendelt identitást a Cosmos DB-fiókhoz, és adjon engedélyeket a Key Vault hozzáférési szabályzatában.
- Állítsa be a felhasználó által hozzárendelt alapértelmezett identitást az Azure CLI vagy az ARM használatával.
az cosmosdb update --resource-group MyResourceGroup --name MyAccountName --default-identity UserAssignedIdentity=/subscriptions/MySubscriptionId/resourcegroups/MyResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MyUserAssignedIdentity
Az időponthoz kötött visszaállítás sikeres végrehajtásához a következő feltételek szükségesek:
- A biztonsági mentéskor használt titkosítási kulcsra van szükség, és elérhetőnek kell lennie az Azure Key Vaultban. Ez a követelmény azt jelenti, hogy nem történt visszavonás, és a biztonsági mentéskor használt kulcs verziója továbbra is engedélyezve van.
- Győződjön meg arról, hogy a forrásfiókban eredetileg használt felhasználó által hozzárendelt felügyelt identitás továbbra is deklarálva van a Key Vault hozzáférési szabályzatában.
Fontos
Ha a fiók törlése előtt visszavonja a titkosítási kulcsot, előfordulhat, hogy a fiók biztonsági mentése a visszavonás előtt legfeljebb 1 órával megírt adatokat hagyja ki.
Hogyan visszavonni egy titkosítási kulcsot?
A kulcs visszavonása a kulcs legújabb verziójának letiltásával történik:
Ha egy Azure Key Vault-példány összes kulcsát vissza szeretné vonni, törölheti az Azure Cosmos DB-tag számára biztosított hozzáférési szabályzatot:
Milyen műveletek érhetők el az ügyfél által felügyelt kulcsok visszavonása után?
A titkosítási kulcs visszavonása esetén csak a fiók törlése hajtható végre.
Új felügyelt identitás hozzárendelése a visszaállított adatbázisfiókhoz az adatbázisfiókhoz való hozzáférés folytatásához vagy helyreállításához
A felhasználó által hozzárendelt identitás egy megadott Cosmos DB-fiókhoz van kötve, amikor felhasználó által hozzárendelt identitást rendelünk hozzá egy fiókhoz, az ARM továbbítja a kérelmet a felügyelt szolgáltatásidentitásoknak a kapcsolat létrehozásához. Jelenleg a cmk + felhasználó által hozzárendelt identitás visszaállítása során (folyamatos és időszakos biztonsági mentési visszaállítás esetén) a forrásadatbázis-fiókból a céladatbázis-fiókba viszjük át a felhasználói identitás adatait,
Mivel az identitás metaadatai a forrásadatbázis-fiókhoz vannak kötve, és a visszaállítási munkafolyamat nem veszi át az identitás hatókörét a céladatbázis-fiókra. Ez azt eredményezi, hogy a visszaállított adatbázisfiókok rossz állapotban lesznek, és elérhetetlenné válnak a forrásfiók törlése és az identitás megújítási ideje lejárt.
Új felügyelt identitás hozzárendelésének lépései:
- Hozzon létre egy új, felhasználó által hozzárendelt felügyelt identitást.
- KeyVault-kulcs hozzáférésének biztosítása ehhez az identitáshoz.
- Rendelje hozzá ezt az új identitást a visszaállított adatbázisfiókhoz.
Következő lépések
- További információ az Adattitkosításról az Azure Cosmos DB-ben.