Sdílet prostřednictvím


Šifrování dat jednoúčelového serveru Azure Database for PostgreSQL pomocí klíče spravovaného zákazníkem

PLATÍ PRO: Azure Database for PostgreSQL – Jednoúčelový server

Důležité

Jednoúčelový server Azure Database for PostgreSQL je na cestě vyřazení. Důrazně doporučujeme upgradovat na flexibilní server Azure Database for PostgreSQL. Další informace o migraci na flexibilní server Azure Database for PostgreSQL najdete v tématu Co se děje s jednoúčelovým serverem Azure Database for PostgreSQL?

Azure PostgreSQL využívá šifrování služby Azure Storage k šifrování neaktivních uložených dat pomocí klíčů spravovaných Microsoftem. Pro uživatele Azure PostgreSQL se velmi podobá transparentní šifrování dat (TDE) v jiných databázích, jako je SQL Server. Mnoho organizací vyžaduje úplné řízení přístupu k datům pomocí klíče spravovaného zákazníkem. Šifrování dat s využitím klíčů spravovaných zákazníkem pro jednoúčelový server Azure Database for PostgreSQL umožňuje použít vlastní klíč (BYOK) pro ochranu neaktivních uložených dat. Umožňuje také organizacím implementovat oddělení povinností při správě klíčů a dat. V případě šifrování spravovaného zákazníkem máte úplnou kontrolu nad životním cyklem klíčů, oprávněními k používání klíčů a auditováním operací s klíči, za které také zodpovídáte.

Šifrování dat s využitím klíčů spravovaných zákazníkem pro jednoúčelový server Azure Database for PostgreSQL je nastavené na úrovni serveru. Pro daný server se klíč spravovaný zákazníkem, který se označuje jako šifrovací klíč klíče (KEK), slouží k šifrování šifrovacího klíče dat (DEK) používaného službou. Klíč KEK je asymetrický klíč uložený v instanci azure Key Vault spravované zákazníkem a spravovaný zákazníkem. Šifrovací klíč klíče (KEK) a šifrovací klíč dat (DEK) jsou podrobněji popsány dále v tomto článku.

Key Vault je cloudový externí systém pro správu klíčů. Je vysoce dostupná a poskytuje škálovatelné zabezpečené úložiště pro kryptografické klíče RSA, volitelně zálohované moduly hardwarového zabezpečení (HSM) ověřeným standardem FIPS 140. Nepovoluje přímý přístup k uloženému klíči, ale poskytuje služby šifrování a dešifrování autorizovaným entitům. Key Vault může klíč vygenerovat, importovat ho nebo ho přenést z místního zařízení HSM.

Poznámka:

Tato funkce je dostupná ve všech oblastech Azure, kde jednoúčelový server Azure Database for PostgreSQL podporuje cenové úrovně Pro obecné účely a Optimalizováno pro paměť. Další omezení najdete v části omezení .

Zaměstnanecké výhody

Šifrování dat s využitím klíčů spravovaných zákazníkem pro jednoúčelový server Azure Database for PostgreSQL nabízí následující výhody:

  • Přístup k datům je plně řízen schopností odebrat klíč a znepřístupnět databázi.
  • Úplná kontrola nad životním cyklem klíče, včetně obměně klíče, aby byla v souladu s podnikovými zásadami.
  • Centrální správa a uspořádání klíčů ve službě Azure Key Vault
  • Povolení šifrování nemá žádný další dopad na výkon se spravovaným klíčem zákazníka (CMK), protože PostgreSQL využívá vrstvu úložiště Azure pro šifrování dat v obou scénářích, jediným rozdílem je použití šifrovacího klíče služby Azure Storage, který provádí skutečné šifrování dat pomocí CMK.
  • Schopnost implementovat oddělení povinností mezi bezpečnostními důstojníky a dba a správci systémů.

Terminologie a popis

Šifrovací klíč dat (DEK):: Symetrický klíč AES256 používaný k šifrování oddílu nebo bloku dat. Šifrování každého bloku dat pomocí jiného klíče ztěžuje útoky kryptografických analýz. Přístup k dekům vyžaduje poskytovatel prostředků nebo instance aplikace, která šifruje a dešifruje konkrétní blok. Když nahradíte klíč DEK novým klíčem, musí se znovu zašifrovat pouze data v přidruženém bloku.

Šifrovací klíč klíče (KEK):: Šifrovací klíč používaný k šifrování deků. Klíč KEK, který nikdy neopustí službu Key Vault, umožňuje šifrování a řízení samotných deků. Entita, která má přístup k klíči KEK, se může lišit od entity, která vyžaduje klíč DEK. Vzhledem k tomu, že KEK je potřeba k dešifrování sad DEK, je KEK v podstatě jediným bodem, díky kterému lze dešifrování sad DEK efektivně odstranit odstraněním klíče KEK.

Sady DEK, zašifrované pomocí kek, se ukládají samostatně. Tyto sady DEK může dešifrovat pouze entita s přístupem k klíči KEK. Další informace najdete v tématu Zabezpečení neaktivních uložených uložených dat v šifrování.

Jak funguje šifrování dat pomocí klíče spravovaného zákazníkem

Diagram znázorňující přehled funkce Přineste si vlastní klíč

Aby server PostgreSQL používal klíče spravované zákazníkem uloženými ve službě Key Vault k šifrování klíče DEK, poskytne správce služby Key Vault k serveru následující přístupová práva:

  • get: Pro načtení veřejné části a vlastností klíče v trezoru klíčů.
  • wrapKey: Chcete-li být schopni zašifrovat klíč DEK. Šifrovaný klíč DEK je uložený ve službě Azure Database for PostgreSQL.
  • unwrapKey: Aby bylo možné dešifrovat klíč DEK. Azure Database for PostgreSQL potřebuje dešifrovaný klíč DEK k šifrování a dešifrování dat.

Správce trezoru klíčů může také povolit protokolování událostí auditu služby Key Vault, aby je bylo možné auditovat později.

Pokud je server nakonfigurovaný tak, aby používal klíč spravovaný zákazníkem uložený v trezoru klíčů, server odešle klíč DEK do trezoru klíčů pro šifrování. Key Vault vrátí šifrovaný klíč DEK, který je uložený v uživatelské databázi. Podobně v případě potřeby server odešle chráněný klíč DEK do trezoru klíčů k dešifrování. Auditoři můžou pomocí služby Azure Monitor kontrolovat protokoly událostí auditu služby Key Vault, pokud je protokolování povolené.

Požadavky na konfiguraci šifrování dat pro jednoúčelový server Azure Database for PostgreSQL

Pro konfiguraci služby Key Vault platí následující požadavky:

  • Key Vault a jednoúčelový server Azure Database for PostgreSQL musí patřit do stejného tenanta Microsoft Entra. Interakce se službou Key Vault a serverem mezi tenanty se nepodporují. Po přesunutí prostředku služby Key Vault je potřeba překonfigurovat šifrování dat.
  • Trezor klíčů musí být nastavený na 90 dnů, aby se zachovaly odstraněné trezory. Pokud je stávající trezor klíčů nakonfigurovaný s nižším číslem, budete muset vytvořit nový trezor klíčů, protože se po vytvoření nedá změnit.
  • Povolte funkci obnovitelného odstranění v trezoru klíčů, která chrání před ztrátou dat, pokud dojde k náhodnému odstranění klíče (nebo trezoru klíčů). Obnovitelné odstraněné prostředky se uchovávají po dobu 90 dnů, pokud je uživatel do té doby neobnoví nebo vyprázdní. Akce obnovení a vymazání mají svá vlastní oprávnění přidružená k zásadám přístupu ke službě Key Vault. Funkce obnovitelného odstranění je ve výchozím nastavení vypnutá, ale můžete ji povolit prostřednictvím PowerShellu nebo Azure CLI (všimněte si, že ji nemůžete povolit prostřednictvím webu Azure Portal).
  • Povolení ochrany před vymazáním za účelem vynucení povinné doby uchovávání pro odstraněné trezory a objekty trezoru
  • Udělte jednoúčelovém serveru Azure Database for PostgreSQL přístup k trezoru klíčů pomocí oprávnění get, wrapKey a unwrapKey pomocí své jedinečné spravované identity. Na webu Azure Portal se jedinečná identita Service automaticky vytvoří, když je na jednoúčelovém serveru PostgreSQL povolené šifrování dat. Podrobné pokyny k použití webu Azure Portal najdete v tématu Šifrování dat pro jednoúčelový server Azure Database for PostgreSQL pomocí webu Azure Portal .

Níže jsou uvedené požadavky na konfiguraci klíče spravovaného zákazníkem:

  • Klíč spravovaný zákazníkem, který se má použít k šifrování DEK, může být pouze asymetrický, RSA 2048.
  • Jako datum aktivace klíče (pokud ho nastavíte) je potřeba nastavit minulé datum a čas. Datum vypršení platnosti (pokud je nastavené) musí být budoucí datum a čas.
  • Klíč musí být ve stavu Povoleno .
  • Pokud importujete existující klíč do trezoru klíčů, nezapomeňte ho zadat v podporovaných formátech souborů (.pfx, .byok, .backup).

Doporučení

Pokud používáte šifrování dat pomocí klíče spravovaného zákazníkem, tady jsou doporučení pro konfiguraci služby Key Vault:

  • Nastavte zámek prostředku ve službě Key Vault, abyste mohli určit, kdo může tento kritický prostředek odstranit, a zabránit náhodnému nebo neoprávněnému odstranění.

  • Povolte auditování a vytváření sestav u všech šifrovacích klíčů. Key Vault poskytuje protokoly, které se dají snadno vložit do jiných nástrojů pro správu informací o zabezpečení a událostí. Azure Monitor Log Analytics je jedním z příkladů služby, která je už integrovaná.

  • Ujistěte se, že se služba Key Vault a jednoúčelový server Azure Database for PostgreSQL nacházejí ve stejné oblasti, abyste zajistili rychlejší přístup pro zabalení DEK a rozbalení operací.

  • Uzamkněte Azure KeyVault jenom na privátní koncový bod a vybrané sítě a povolte zabezpečení prostředků pouze důvěryhodnými službami Microsoftu .

    trusted-service-with-AKV

Tady jsou doporučení pro konfiguraci klíče spravovaného zákazníkem:

  • Uchovávejte kopii klíče spravovaného zákazníkem na bezpečném místě nebo ji uložte do služby escrow.

  • Pokud Key Vault klíč vygeneruje, vytvořte zálohu klíče před prvním použitím klíče. Zálohu můžete obnovit jenom do služby Key Vault. Další informace o příkazu zálohování naleznete v tématu Backup-AzKeyVaultKey.

Nepřístupná podmínka klíče spravovaného zákazníkem

Když nakonfigurujete šifrování dat pomocí klíče spravovaného zákazníkem ve službě Key Vault, vyžaduje se nepřetržitý přístup k tomuto klíči, aby server zůstal online. Pokud server ztratí přístup ke klíči spravovanému zákazníkem ve službě Key Vault, začne server během 10 minut odepřít všechna připojení. Server vydá odpovídající chybovou zprávu a změní stav serveru na Nepřístupný. Mezi důvody, proč může server dosáhnout tohoto stavu, patří:

  • Pokud pro jednoúčelový server Azure Database for PostgreSQL vytvoříme server pro obnovení k určitému bodu v čase, který má povolené šifrování dat, bude nově vytvořený server nepřístupný. Stav serveru můžete opravit prostřednictvím webu Azure Portal nebo rozhraní příkazového řádku.
  • Pokud vytvoříme repliku pro čtení pro jednoúčelový server Azure Database for PostgreSQL s povoleným šifrováním dat, server repliky bude nepřístupný. Stav serveru můžete opravit prostřednictvím webu Azure Portal nebo rozhraní příkazového řádku.
  • Pokud odstraníte keyVault, jednoúčelový server Azure Database for PostgreSQL nebude mít přístup ke klíči a přesune se do nepřístupného stavu. Obnovte službu Key Vault a obnovte šifrování dat, aby byl server dostupný.
  • Pokud klíč odstraníme ze služby KeyVault, jednoúčelový server Azure Database for PostgreSQL nebude mít přístup ke klíči a přesune se do nedostupného stavu. Obnovte klíč a obnovte šifrování dat, aby byl server dostupný.
  • Pokud vyprší platnost klíče uloženého v Azure KeyVault, klíč se stane neplatným a jednoúčelový server Azure Database for PostgreSQL přejde do nepřístupného stavu. Rozšiřte datum vypršení platnosti klíče pomocí rozhraní příkazového řádku a pak obnovte šifrování dat, aby byl server dostupný.

Náhodné odvolání přístupu ke klíči ze služby Key Vault

Může se stát, že někdo s dostatečnými přístupovými právy ke službě Key Vault omylem zakáže přístup k tomuto klíči tímto způsobem:

  • Odvolání oprávnění get, wrapKey a unwrapKey trezoru klíčů ze serveru

  • Odstranění klíče

  • Odstranění trezoru klíčů.

  • Změna pravidel brány firewall trezoru klíčů

  • Odstranění spravované identity serveru v Microsoft Entra ID

Monitorování klíče spravovaného zákazníkem ve službě Key Vault

Pokud chcete monitorovat stav databáze a povolit upozorňování na ztrátu přístupu k ochraně transparentního šifrování dat, nakonfigurujte následující funkce Azure:

  • Azure Resource Health: Nepřístupná databáze, která ztratila přístup ke klíči zákazníka, se po odepření prvního připojení k databázi zobrazuje jako nepřístupná.

  • Protokol aktivit: Pokud přístup k klíči zákazníka ve službě Key Vault spravované zákazníkem selže, položky se přidají do protokolu aktivit. Pokud pro tyto události vytvoříte výstrahy, můžete co nejdříve obnovit přístup.

  • Skupiny akcí: Definujte tyto skupiny, které vám budou posílat oznámení a výstrahy na základě vašich preferencí.

Obnovení a replikace s využitím spravovaného klíče zákazníka ve službě Key Vault

Jakmile se jednoúčelový server Azure Database for PostgreSQL zašifruje pomocí spravovaného klíče zákazníka uloženého ve službě Key Vault, všechny nově vytvořené kopie serveru se také zašifrují. Tuto novou kopii můžete vytvořit buď prostřednictvím místní nebo geografické operace obnovení, nebo prostřednictvím replik pro čtení. Kopii ale můžete změnit tak, aby odrážela spravovaný klíč nového zákazníka pro šifrování. Po změně klíče spravovaného zákazníkem začnou staré zálohy serveru používat nejnovější klíč.

Abyste se vyhnuli problémům při nastavování šifrování dat spravovaných zákazníkem během vytváření obnovení nebo repliky pro čtení, je důležité postupovat podle těchto kroků na primárních a obnovených serverech/serverech replik:

  • Spusťte proces obnovení nebo vytvoření repliky pro čtení z primárního jednoúčelového serveru Azure Database for PostgreSQL.
  • Ponechte nově vytvořený server (obnovený nebo replika) nepřístupný, protože jeho jedinečná identita ještě nemá udělená oprávnění ke službě Key Vault.
  • Na obnoveného serveru nebo serveru repliky znovu obnovte klíč spravovaný zákazníkem v nastavení šifrování dat. Tím se zajistí, že nově vytvořený server bude udělena oprávnění k zabalení a rozbalení klíče uloženého ve službě Key Vault.

Omezení

Pro Azure Database for PostgreSQL má podpora šifrování neaktivních uložených dat pomocí spravovaného klíče zákazníka (CMK) málo omezení –

  • Podpora této funkce je omezená na cenové úrovně Pro obecné účely a Optimalizováno pro paměť.

  • Tato funkce se podporuje jen v oblastech a na serverech, které podporují úložiště až do 16 TB. Seznam oblastí Azure podporujících úložiště až 16 TB najdete v části Úložiště v dokumentaci .

    Poznámka:

    • Všechny nové servery PostgreSQL vytvořené v oblastech uvedených výše jsou k dispozici podpora šifrování pomocí klíčů zákaznického manažera. Server obnovení k určitému bodu v čase nebo replika pro čtení se kvalifikovat nebude, i když jsou teoreticky "nové".
    • Pokud chcete ověřit, jestli váš zřízený server podporuje až 16 TB, můžete přejít do okna cenové úrovně na portálu a zobrazit maximální velikost úložiště podporovanou zřízeným serverem. Pokud můžete posuvník přesunout až do 4 TB, server nemusí podporovat šifrování pomocí klíčů spravovaných zákazníkem. Data se ale šifrují pomocí klíčů spravovaných službou. Pokud máte nějaké dotazy, kontaktujte AskAzureDBforPostgreSQL@service.microsoft.com nás.
  • Šifrování se podporuje jenom s kryptografickým klíčem RSA 2048.

Další kroky

Zjistěte, jak nastavit šifrování dat pomocí klíče spravovaného zákazníkem pro jednoúčelový server Azure Database for PostgreSQL pomocí webu Azure Portal.