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

A Saját kulcs használata áttekintését bemutató diagram

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) .backupadja 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.

    trusted-service-with-AKV

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.