Azure Database for PostgreSQL Egykiszolgálós adattitkosítás ügyfél által felügyelt kulccsal
A KÖVETKEZŐKRE VONATKOZIK: Azure Database for PostgreSQL – Önálló kiszolgáló
Fontos
Azure Database for PostgreSQL – Az önálló kiszolgáló a kivezetési útvonalon van. Határozottan javasoljuk, hogy frissítsen az Azure Database for PostgreSQL rugalmas kiszolgálóra. A rugalmas Azure Database for PostgreSQL-kiszolgálóra való migrálással kapcsolatos további információkért lásd: Mi történik az önálló Azure Database for PostgreSQL-kiszolgálóval?
Az Azure PostgreSQL az Azure Storage-titkosítással alapértelmezés szerint titkosítja az inaktív adatokat a Microsoft által felügyelt kulcsokkal. Az Azure PostgreSQL-felhasználók számára ez nagyon hasonlít a transzparens adattitkosítás (TDE) más adatbázisokban, például az SQL Serverben. Számos szervezetnek teljes körűen szabályoznia kell az adatokhoz való hozzáférést egy ügyfél által felügyelt kulccsal. Az önálló Azure Database for PostgreSQL-kiszolgáló ügyfél által felügyelt kulcsaival történő adattitkosítással saját kulcsot (BYOK) hozhat létre az inaktív adatok védelméhez. Emellett lehetővé teszi a szervezetek számára a kulcsok és adatok kezelésével járó feladatok elkülönítését. Az ügyfél által felügyelt titkosítással Ön felel a kulcs életciklusáért, a kulcs használati engedélyeiért, és a kulcsokkal végzett műveletek naplózásáért.
Az önálló Azure Database for PostgreSQL-kiszolgáló ügyfél által felügyelt kulcsaival rendelkező adattitkosítás kiszolgálószinten van beállítva. Egy adott kiszolgáló esetében a szolgáltatás által használt adattitkosítási kulcs (DEK) titkosítására egy ügyfél által felügyelt kulcs, az úgynevezett kulcstitkosítási kulcs (KEK) szolgál. A KEK egy aszimmetrikus kulcs, amely egy ügyfél által birtokolt és ügyfél által felügyelt Azure Key Vault-példányban van tárolva. A kulcstitkosítási kulcs (KEK) és az adattitkosítási kulcs (DEK) részletesebb leírása a cikk későbbi részében olvasható.
A Key Vault egy felhőalapú, külső kulcskezelő rendszer. Magas rendelkezésre állású, és skálázható, biztonságos tárterületet biztosít az RSA titkosítási kulcsokhoz, opcionálisan a FIPS 140 által ellenőrzött hardveres biztonsági modulok (HSM-ek) segítségével. Nem teszi lehetővé a tárolt kulcsok közvetlen elérését, de titkosítási és visszafejtési szolgáltatásokat nyújt az engedélyezett entitások számára. A Key Vault létrehozhatja, importálhatja vagy áthelyezheti egy helyszíni HSM-eszközről.
Feljegyzés
Ez a funkció minden Olyan Azure-régióban elérhető, ahol az önálló Azure Database for PostgreSQL-kiszolgáló támogatja az "Általános célú" és a "Memóriaoptimalizált" tarifacsomagokat. Egyéb korlátozásokért tekintse meg a korlátozási szakaszt.
Juttatások
Az önálló Azure Database for PostgreSQL-kiszolgáló ügyfél által felügyelt kulcsaival történő adattitkosítás a következő előnyöket nyújtja:
- Az adathozzáférést teljes mértékben Ön szabályozza a kulcs eltávolításának és az adatbázis elérhetetlenné tételének képességével.
- Teljes hozzáférés a kulcs életciklusa felett, beleértve a kulcs elforgatását a vállalati szabályzatokhoz való igazodás érdekében.
- Kulcsok központi kezelése és szervezése az Azure Key Vaultban.
- A titkosítás engedélyezésének nincs további teljesítménybeli hatása az ügyfelek által felügyelt kulccsal (CMK) kapcsolatban, mivel a PostgreSQL mindkét esetben az Azure Storage-rétegre támaszkodik az adattitkosításhoz. Az egyetlen különbség az, ha a CMK-t az Azure Storage Encryption Key használja, amely a tényleges adattitkosítást hajtja végre, a CMK használatával titkosítja.
- Képesség a biztonsági tisztviselők, valamint a DBA és a rendszergazdák közötti feladatok elkülönítésének megvalósítására.
Terminológia és leírás
Adattitkosítási kulcs (DEK): Egy partíció vagy adatblokk titkosításához használt szimmetrikus AES256-kulcs. Az egyes adatblokkok más kulccsal történő titkosítása megnehezíti a titkosítási elemzési támadásokat. Az adott blokk titkosítását és visszafejtését végző erőforrás-szolgáltatónak vagy alkalmazáspéldánynak szüksége van a DEK-khoz való hozzáférésre. Ha a DEK-t új kulccsal cseréli le, csak a társított blokkban lévő adatokat kell újratitkosítani az új kulccsal.
Kulcstitkosítási kulcs (KEK): A DEK-k titkosításához használt titkosítási kulcs. A Key Vaultot soha nem elhagyó KEK lehetővé teszi, hogy maguk a DEK-k titkosítva és vezérelve legyenek. A KEK-hez hozzáféréssel rendelkező entitás eltérhet a DEK-t igénylő entitástól. Mivel a KEK-nek a DEK-k visszafejtéséhez van szükség, a KEK gyakorlatilag egyetlen pont, amellyel a DEK-k a KEK törlésével hatékonyan törölhetők.
A KEK-kkal titkosított DEK-k tárolása külön történik. Ezeket a DEK-okat csak a KEK-hez hozzáféréssel rendelkező entitás tudja visszafejteni. További információ: Biztonság inaktív állapotban.
Az ügyfél által felügyelt kulccsal végzett adattitkosítás működése
Ahhoz, hogy egy PostgreSQL-kiszolgáló ügyfél által felügyelt kulcsokat használjon a Key Vaultban a DEK titkosításához, a Key Vault rendszergazdája a következő hozzáférési jogosultságokat biztosítja a kiszolgálóhoz:
- get: A kulcs nyilvános részének és tulajdonságainak lekéréséhez a kulcstartóban.
- wrapKey: A DEK titkosításához. A titkosított DEK az Azure Database for PostgreSQL-ben van tárolva.
- unwrapKey: A DEK visszafejtéséhez. Az Azure Database for PostgreSQL-nek szüksége van a visszafejtett DEK-ra az adatok titkosításához/visszafejtéséhez
A Key Vault rendszergazdája engedélyezheti a Key Vault naplózási eseményeinek naplózását is, így később is naplózhatók.
Ha a kiszolgáló úgy van konfigurálva, hogy a kulcstartóban tárolt ügyfél által kezelt kulcsot használja, a kiszolgáló elküldi a DEK-t a kulcstartónak titkosítás céljából. A Key Vault a felhasználói adatbázisban tárolt titkosított DEK-t adja vissza. Hasonlóképpen, ha szükséges, a kiszolgáló elküldi a védett DEK-t a kulcstartóba a visszafejtéshez. Az auditorok az Azure Monitor használatával áttekinthetik a Key Vault naplózási eseménynaplóit, ha a naplózás engedélyezve van.
Az önálló Azure Database for PostgreSQL-kiszolgáló adattitkosításának konfigurálására vonatkozó követelmények
A Key Vault konfigurálásának követelményei a következők:
- A Key Vaultnak és az Önálló Azure Database for PostgreSQL-kiszolgálónak ugyanahhoz a Microsoft Entra-bérlőhöz kell tartoznia. A bérlők közötti Key Vault és a kiszolgálói interakciók nem támogatottak. A Key Vault-erőforrás későbbi áthelyezéséhez újra kell konfigurálnia az adattitkosítást.
- A key vaultot 90 nappal kell beállítani a "Törölt tárolók megőrzéséhez szükséges napok" beállításhoz. Ha a meglévő kulcstartó alacsonyabb számmal lett konfigurálva, létre kell hoznia egy új kulcstartót, mivel a létrehozás után nem módosítható.
- Engedélyezze a helyreállítható törlés funkciót a kulcstartón, hogy védelmet nyújthasson az adatvesztés ellen, ha véletlen kulcs (vagy Key Vault) törlése történik. A helyreállíthatóan törölt erőforrások 90 napig maradnak meg, kivéve, ha a felhasználó addig helyreállítja vagy törli őket. A visszaállítási és törlési műveletek saját engedélyekkel rendelkeznek a Key Vault hozzáférési szabályzatában. A helyreállítható törlés funkció alapértelmezés szerint ki van kapcsolva, de a PowerShellen vagy az Azure CLI-n keresztül engedélyezheti (vegye figyelembe, hogy az Azure Portalon keresztül nem engedélyezheti).
- A törlés elleni védelem engedélyezése a törölt tárolók és tárolóobjektumok kötelező megőrzési idejének kikényszerítéséhez
- Adjon hozzáférést az Önálló Azure Database for PostgreSQL-kiszolgálónak a kulcstartóhoz a get, wrapKey és unwrapKey engedélyekkel az egyedi felügyelt identitás használatával. Az Azure Portalon a rendszer automatikusan létrehozza a szolgáltatás egyedi identitását, ha az adattitkosítás engedélyezve van az önálló PostgreSQL-kiszolgálón. Az Önálló Azure Database for PostgreSQL-kiszolgáló adattitkosítása az Azure Portal használatával részletes, részletes útmutatást tartalmaz az Azure Portal használatakor.
Az ügyfél által felügyelt kulcs konfigurálásának követelményei a következők:
- A DEK titkosításához használandó ügyfél által kezelt kulcs csak aszimmetrikus lehet, RSA 2048.
- A kulcs aktiválási dátumának (ha be van állítva) múltbeli dátumnak és időpontnak kell lennie. A lejárati dátumnak (ha be van állítva) jövőbeli dátumnak és időnek kell lennie.
- A kulcsnak engedélyezve kell lennie.
- Ha egy meglévő kulcsot importál a kulcstartóba, ügyeljen rá, hogy a támogatott fájlformátumokban (
.pfx
, ,.byok
).backup
adja meg.
Ajánlások
Ha ügyfél által felügyelt kulccsal használ adattitkosítást, az alábbiakban a Key Vault konfigurálására vonatkozó javaslatokat talál:
Állítson be egy erőforrás-zárolást a Key Vaulton annak szabályozásához, hogy ki törölheti ezt a kritikus erőforrást, és megakadályozza a véletlen vagy jogosulatlan törlést.
Engedélyezze a naplózást és a jelentéskészítést az összes titkosítási kulcson. A Key Vault olyan naplókat biztosít, amelyek könnyen injektálhatóak más biztonsági információkba és eseménykezelési eszközökbe. Az Azure Monitor Log Analytics egy példa egy már integrált szolgáltatásra.
Győződjön meg arról, hogy a Key Vault és az Önálló Azure Database for PostgreSQL-kiszolgáló ugyanabban a régióban található, így gyorsabb hozzáférést biztosíthat a DEK-körbefuttatáshoz és a töredékműveletekhez.
Zárolja az Azure KeyVaultot csak a privát végpontra és a kiválasztott hálózatokra , és csak megbízható Microsoft-szolgáltatások számára engedélyezi az erőforrások védelmét.
Az alábbiakban javaslatokat talál az ügyfél által felügyelt kulcs konfigurálására:
Őrizze meg az ügyfél által felügyelt kulcs egy példányát biztonságos helyen, vagy helyezze el a letéti szolgáltatásban.
Ha a Key Vault létrehozza a kulcsot, hozzon létre egy biztonsági másolatot a kulcs első használata előtt. A biztonsági mentést csak a Key Vaultba állíthatja vissza. A biztonsági mentési paranccsal kapcsolatos további információkért lásd: Backup-AzKeyVaultKey.
Nem érhető el az ügyfél által felügyelt kulcsfeltétel
Ha ügyfél által felügyelt kulccsal konfigurálja az adattitkosítást a Key Vaultban, a kiszolgáló folyamatos hozzáférésére van szükség ahhoz, hogy a kiszolgáló online maradjon. Ha a kiszolgáló elveszíti a hozzáférést az ügyfél által kezelt kulcshoz a Key Vaultban, a kiszolgáló 10 percen belül megtagadja az összes kapcsolatot. A kiszolgáló egy megfelelő hibaüzenetet ad ki, és a kiszolgáló állapotát elérhetetlenné módosítja. Néhány ok, amiért a kiszolgáló elérheti ezt az állapotot:
- Ha létrehozunk egy időponthoz kötött visszaállítási kiszolgálót az önálló Azure Database for PostgreSQL-kiszolgálóhoz, amely engedélyezi az adattitkosítást, az újonnan létrehozott kiszolgáló elérhetetlen állapotban lesz. A kiszolgáló állapotát az Azure Portalon vagy a parancssori felületen javíthatja.
- Ha egy olvasási replikát hozunk létre az önálló Azure Database for PostgreSQL-kiszolgálóhoz, amelyen engedélyezve van az adattitkosítás, a replikakiszolgáló elérhetetlen állapotban lesz. A kiszolgáló állapotát az Azure Portalon vagy a parancssori felületen javíthatja.
- Ha törli a KeyVaultot, az önálló Azure Database for PostgreSQL-kiszolgáló nem fogja tudni elérni a kulcsot, és elérhetetlen állapotba kerül. Állítsa helyre a Key Vaultot, és értékelje újra az adattitkosítást, hogy elérhetővé tegye a kiszolgálót.
- Ha töröljük a kulcsot a KeyVaultból, az önálló Azure Database for PostgreSQL-kiszolgáló nem fogja tudni elérni a kulcsot, és elérhetetlen állapotba kerül. Állítsa helyre a kulcsot, és értékelje újra az adattitkosítást, hogy elérhetővé tegye a kiszolgálót.
- Ha az Azure KeyVaultban tárolt kulcs lejár, a kulcs érvénytelenné válik, és az önálló Azure Database for PostgreSQL-kiszolgáló elérhetetlen állapotba vált. A parancssori felülettel bővítheti a kulcs lejárati dátumát, majd újraértékelheti az adattitkosítást, hogy elérhetővé tegye a kiszolgálót.
Véletlen kulcshozzáférés visszavonása a Key Vaultból
Előfordulhat, hogy a Key Vaulthoz megfelelő hozzáférési jogosultsággal rendelkező személy véletlenül letiltja a kulcshoz való kiszolgálói hozzáférést a következő módon:
A kulcstartó lekérési, wrapKey- és unwrapKey-engedélyeinek visszavonása a kiszolgálóról.
A kulcs törlése.
A kulcstartó törlése.
A kulcstartó tűzfalszabályainak módosítása.
A kiszolgáló felügyelt identitásának törlése a Microsoft Entra-azonosítóban.
Az ügyfél által felügyelt kulcs figyelése a Key Vaultban
Az adatbázis állapotának figyeléséhez és a transzparens adattitkosítási védő hozzáférés elvesztésére vonatkozó riasztások engedélyezéséhez konfigurálja a következő Azure-funkciókat:
Azure Resource Health: Egy elérhetetlen adatbázis, amely elvesztette az ügyfélkulcshoz való hozzáférést, "Elérhetetlenként" jelenik meg az adatbázishoz való első kapcsolat megtagadása után.
Tevékenységnapló: Ha az ügyfél által felügyelt Key Vaultban az ügyfélkulcshoz való hozzáférés sikertelen, a rendszer bejegyzéseket ad hozzá a tevékenységnaplóhoz. Ha riasztásokat hoz létre ezekhez az eseményekhez, a lehető leghamarabb visszaállíthatja a hozzáférést.
Műveletcsoportok: Ezeket a csoportokat úgy határozhatja meg, hogy a beállítások alapján értesítéseket és riasztásokat küldjön Önnek.
Visszaállítás és replikálás az ügyfél által kezelt kulccsal a Key Vaultban
Miután az Önálló Azure Database for PostgreSQL-kiszolgáló titkosítva lett egy ügyfél Key Vaultban tárolt felügyelt kulcsával, a kiszolgáló újonnan létrehozott példányai is titkosítva lesznek. Ezt az új példányt helyi vagy georedukciós művelettel, illetve olvasási replikákkal is létrehozhatja. A másolat azonban módosítható úgy, hogy az egy új ügyfél által kezelt titkosítási kulcsot tükrözze. Az ügyfél által felügyelt kulcs módosításakor a kiszolgáló régi biztonsági másolatai a legújabb kulcsot használják.
Az ügyfél által felügyelt adattitkosítás visszaállítása vagy olvasási replika létrehozása során felmerülő problémák elkerülése érdekében fontos, hogy kövesse az alábbi lépéseket az elsődleges és a visszaállított/replikakiszolgálón:
- Indítsa el a replikalétrehozás visszaállításának vagy olvasásának folyamatát az önálló Azure Database for PostgreSQL-kiszolgálóról.
- Az újonnan létrehozott kiszolgáló (visszaállított/replika) elérhetetlen állapotban maradjon, mert egyedi identitása még nem kapott engedélyeket a Key Vaulthoz.
- A visszaállított/replikakiszolgálón állítsa újra újra az ügyfél által kezelt kulcsot az adattitkosítási beállítások között. Ez biztosítja, hogy az újonnan létrehozott kiszolgáló körbefuttatási és átírási engedélyeket kapjon a Key Vaultban tárolt kulcshoz.
Korlátozások
Az Azure Database for PostgreSQL esetében az inaktív adatok ügyfelek által felügyelt kulcs (CMK) használatával történő titkosításának támogatása néhány korlátozással rendelkezik –
Ennek a funkciónak a támogatása általános célú és memóriaoptimalizált tarifacsomagokra korlátozódik.
Ez a funkció csak olyan régiókban és kiszolgálókon érhető el, amelyek legfeljebb 16 TB-nyi tárterületet támogatnak. A legfeljebb 16 TB-os tárolást támogató Azure-régiók listájáért tekintse meg a dokumentáció tárolási szakaszát itt
Feljegyzés
- A fent felsorolt régiókban létrehozott összes új PostgreSQL-kiszolgáló támogatja az ügyfélmenedzserkulcsokkal való titkosítást. A point in time restored (PITR) kiszolgáló vagy az olvasási replika nem lesz megfelelő, bár elméletileg "újak".
- Annak ellenőrzéséhez, hogy a kiépített kiszolgáló legfeljebb 16 TB-ot támogat-e, lépjen a tarifacsomag panelre a portálon, és tekintse meg a kiépített kiszolgáló által támogatott maximális tárterület-méretet. Ha a csúszkát akár 4 TB-ra is áthelyezheti, előfordulhat, hogy a kiszolgáló nem támogatja az ügyfél által kezelt kulcsokkal történő titkosítást. Az adatok azonban mindig szolgáltatás által felügyelt kulcsokkal titkosítva lesznek. Ha kérdése van, forduljon a következőhöz AskAzureDBforPostgreSQL@service.microsoft.com :
A titkosítás csak RSA 2048 titkosítási kulccsal támogatott.
Következő lépések
Megtudhatja, hogyan állíthat be adattitkosítást ügyfél által felügyelt kulccsal az önálló Azure Database for PostgreSQL-kiszolgálóhoz az Azure Portal használatával.