Sdílet prostřednictvím


Šifrování dat s využitím klíčů spravovaných zákazníkem pro flexibilní server Azure Database for MySQL

Díky šifrování dat s využitím klíčů spravovaných zákazníkem pro flexibilní server Azure Database for MySQL můžete použít vlastní klíč (BYOK) pro ochranu neaktivních uložených dat a implementovat oddělení povinností pro správu klíčů a dat. S klíči spravovanými zákazníkem (CMK) zodpovídá zákazník za správu životního cyklu klíčů (vytváření, nahrávání, obměně, odstraňování), oprávnění k používání klíčů a auditování klíčů.

Poznámka:

Spravované HSM služby Azure Key Vault (modul hardwarového zabezpečení) se v současné době podporuje pro klíče spravované zákazníkem pro flexibilní server Azure Database for MySQL.

Zaměstnanecké výhody

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

  • Plně řídíte přístup k datům pomocí možnosti odebrat klíč a znepřístupnit databázi.
  • Úplná kontrola životního cyklu klíče, včetně obměně klíče za účelem souladu s podnikovými zásadami
  • Centrální správa a organizace klíčů ve službě Azure Key Vault nebo spravovaném HSM
  • Schopnost implementovat oddělení povinností mezi bezpečnostními důstojníky, DBA a správci systému

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

Spravované identity v Microsoft Entra ID poskytují služby Azure jako alternativu k ukládání přihlašovacích údajů v kódu zřízením automaticky přiřazené identity, která se dá použít k ověření u jakékoli služby podporující ověřování Microsoft Entra, jako je Azure Key Vault (AKV). Flexibilní server Azure Database for MySQL v současné době podporuje jenom spravovanou identitu přiřazenou uživatelem (UMI). Další informace najdete v tématu Typy spravovaných identit v Azure.

Pokud chcete nakonfigurovat cmk pro flexibilní server Azure Database for MySQL, musíte propojit rozhraní UMI se serverem a zadat trezor klíčů Azure a klíč, které se mají použít.

UMI musí mít k trezoru klíčů následující přístup:

  • Get: Pro načtení veřejné části a vlastností klíče v trezoru klíčů.
  • Seznam: Uveďte verze klíče uloženého ve službě Key Vault.
  • Zalamovací klíč: Aby bylo možné klíč DEK zašifrovat. Šifrovaný klíč DEK je uložený v instanci flexibilního serveru Azure Database for MySQL.
  • Rozbalit klíč: Aby bylo možné dešifrovat klíč DEK. Flexibilní server Azure Database for MySQL potřebuje dešifrovaný klíč DEK k šifrování a dešifrování dat.

Pokud je povoleno řízení přístupu na základě role, musí mít rozhraní UMI také přiřazenou následující roli:

  • Uživatel šifrování šifrovací služby Key Vault nebo role s oprávněními:
    • Microsoft.KeyVault/vaults/keys/wrap/action
    • Microsoft.KeyVault/vaults/keys/unwrap/action
    • Microsoft.KeyVault/vaults/keys/read like "Key Vault Crypto Service Encryption User"
  • Pro spravované HSM přiřaďte roli uživatele šifrování kryptografických služeb SPRAVOVANÉHO HSM.

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. Zprostředkovatel prostředků nebo instance aplikace, která šifruje a dešifruje určitý blok, vyžaduje přístup k dešifrovaným sadám DEK. 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 dat šifrování.

Jak to funguje

Šifrování dat pomocí sad CMK je nastaveno na úrovni serveru. Pro daný server se k šifrování šifrovacího klíče služby (DEK) používá klíč CMK označovaný jako šifrovací klíč klíče klíče. Klíč KEK je asymetrický klíč uložený v instanci azure Key Vault spravované zákazníkem a spravovaný zákazníkem. Key Vault je vysoce dostupné a škálovatelné zabezpečené úložiště pro kryptografické klíče RSA, volitelně zálohované moduly hardwarového zabezpečení (HSM) standardem FIPS 140. Key Vault neumožňuje přímý přístup k uloženému klíči, ale místo toho poskytuje služby šifrování a dešifrování pomocí klíče autorizovaným entitě. Trezor klíčů, importovaný může vygenerovat klíč nebo ho přenést do trezoru klíčů z místního zařízení HSM.

Když nakonfigurujete flexibilní server tak, aby používal klíč CMK uložený v trezoru klíčů, odešle server klíč DEK do trezoru klíčů k šifrování. Key Vault vrátí šifrovaný klíč DEK uložený v uživatelské databázi. Podobně flexibilní server odešle chráněný klíč DEK do trezoru klíčů pro dešifrování v případě potřeby.

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

Po povolení protokolování můžou auditoři pomocí služby Azure Monitor kontrolovat protokoly událostí auditu služby Key Vault. Pokud chcete povolit protokolování událostí auditování služby Key Vault, přečtěte si téma Monitorování služby trezoru klíčů pomocí přehledů služby Key Vault.

Poznámka:

Změny oprávnění můžou trvat až 10 minut, než ovlivní trezor klíčů. To zahrnuje odvolání přístupových oprávnění k ochraně transparentním šifrováním dat v AKV a uživatelé v tomto časovém rámci můžou mít stále přístupová oprávnění.

Požadavky na konfiguraci šifrování dat pro flexibilní server Azure Database for MySQL

Než se pokusíte nakonfigurovat službu Key Vault nebo spravovaný HSM, nezapomeňte splnit následující požadavky.

  • Instance flexibilního serveru Key Vault a Azure Database for MySQL musí patřit do stejného tenanta Microsoft Entra. Je potřeba podporovat interakci se službou Key Vault mezi tenanty a flexibilními interakcemi serverů. Pokud po provedení konfigurace přesunete prostředky služby Key Vault, budete muset překonfigurovat šifrování dat.
  • Instance flexibilního serveru Key Vault a Azure Database for MySQL se musí nacházet ve stejné oblasti.
  • Povolte funkci obnovitelného odstranění v trezoru klíčů s dobou uchování nastavenou na 90 dnů, aby se chránila před ztrátou dat, pokud dojde k náhodnému odstranění klíče (nebo služby Key Vault). Akce obnovení a vymazání mají svá vlastní oprávnění v zásadách 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 webu Azure Portal nebo pomocí PowerShellu nebo Azure CLI.
  • Povolte v trezoru klíčů funkci Vyprázdnit ochranu a nastavte dobu uchovávání na 90 dnů. Když je ochrana před vymazáním zapnutá, trezor nebo objekt v odstraněném stavu se nedají vyprázdnit, dokud doba uchovávání neproběhla. Tuto funkci můžete povolit pomocí PowerShellu nebo Azure CLI a až po povolení obnovitelného odstranění.

Než se pokusíte nakonfigurovat cmk, nezapomeňte vyřešit následující požadavky.

  • Klíč spravovaný zákazníkem pro šifrování DEK může být jenom asymetrický, RSA\RSA-HSM (trezory s skladovou jednotkou Premium) 2048 3072 nebo 4096.
  • Jako datum aktivace klíče (pokud ho nastavíte) je potřeba nastavit minulé datum a čas. Datum vypršení platnosti není nastavené.
  • Klíč musí být ve stavu Povoleno .
  • Klíč musí mít obnovitelné odstranění s dobou uchovávání nastavenou na 90 dnů. Tím se implicitně nastaví požadovaný atribut key recoveryLevel: "Obnovitelné".
  • Klíč musí mít povolenou ochranu před vymazáním.
  • Pokud importujete existující klíč do trezoru klíčů, nezapomeňte ho zadat v podporovaných formátech souborů (.pfx, .byok, .backup).

Poznámka:

Podrobné pokyny ke konfiguraci šifrování data pro flexibilní server Azure Database for MySQL prostřednictvím webu Azure Portal najdete v tématu Šifrování dat pro flexibilní server Azure Database for MySQL pomocí webu Azure Portal.

Doporučení ke konfiguraci šifrování dat

Při konfiguraci služby Key Vault nebo spravovaného HSM pro použití šifrování dat pomocí klíče spravovaného zákazníkem mějte na paměti následující doporučení.

  • 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á.
  • 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.

Poznámka:

  • Doporučujeme použít trezor klíčů ze stejné oblasti, ale v případě potřeby můžete trezor klíčů použít z jiné oblasti zadáním informací "Zadat identifikátor klíče". Spravovaný HSM trezoru klíčů musí být ve stejné oblasti jako flexibilní server MySQL.

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

Když nakonfigurujete šifrování dat pomocí klíče CMK ve službě Key Vault, vyžaduje se nepřetržitý přístup k tomuto klíči, aby server zůstal online. Pokud flexibilní 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í. Flexibilní server vydá odpovídající chybovou zprávu a změní stav serveru na Nepřístupný. Server se může k tomuto stavu dostat z různých důvodů.

  • Pokud odstraníte trezor klíčů, instance flexibilního serveru Azure Database for MySQL nebude mít přístup k klíči a přesune se do nepřístupného stavu. Obnovte trezor klíčů a obnovte šifrování dat, aby byla instance flexibilního serveru Azure Database for MySQL dostupná.
  • Pokud klíč odstraníte z trezoru klíčů, instance flexibilního serveru Azure Database for MySQL nebude mít přístup k klíči a přesune se do nedostupného stavu. Obnovte klíč a obnovte šifrování dat, aby byla instance flexibilního serveru Azure Database for MySQL dostupná.
  • Pokud platnost klíče uloženého ve službě Azure Key Vault vyprší, klíč bude neplatný a instance flexibilního serveru Azure Database for MySQL 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 byla instance flexibilního serveru Azure Database for MySQL 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 flexibilní přístup k tomuto klíči takto:

  • Odvolání oprávnění k získání, výpisu, zabalení klíče a rozbalení klíče ze serveru
  • Odstranění klíče
  • Odstranění trezoru klíčů
  • Změna pravidel brány firewall trezoru klíčů
  • Odstranění identity spravované uživatelem používané k šifrování na flexibilním serveru s klíčem spravovaným zákazníkem 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:

  • 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 přístup co nejdříve obnovit.
  • Skupiny akcí: Definujte tyto skupiny pro odesílání oznámení a upozornění na základě vašich preferencí.

Replika s klíčem spravovaným zákazníkem ve službě Key Vault

Jakmile se instance flexibilního serveru Azure Database for MySQL 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í. Při pokusu o šifrování instance flexibilního serveru Azure Database for MySQL pomocí klíče spravovaného zákazníkem, který už má repliky, doporučujeme nakonfigurovat repliky přidáním spravované identity a klíče. Předpokládejme, že je instance flexibilního serveru Azure Database for MySQL nakonfigurovaná s geografickou redundancí zálohování. V takovém případě musí být replika nakonfigurovaná se spravovanou identitou a klíčem, ke kterému má identita přístup a která se nachází v geograficky spárované oblasti serveru.

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

Při pokusu o obnovení instance flexibilního serveru Azure Database for MySQL můžete vybrat identitu spravovanou uživatelem a klíč pro šifrování serveru obnovení. Předpokládejme, že je instance flexibilního serveru Azure Database for MySQL nakonfigurovaná s geografickou redundancí zálohování. V takovém případě musíte nakonfigurovat obnovovací server se spravovanou identitou a klíčem, ke kterému má identita přístup a která se nachází v geograficky spárované oblasti serveru.

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 zdrojových a obnovených serverech nebo serverech replik:

  • Zahájení procesu obnovení nebo vytvoření repliky pro čtení ze zdrojové instance flexibilního serveru Azure Database for MySQL
  • Na obnoveného serveru/serveru repliky obnovte klíč spravovaný zákazníkem v nastavení šifrování dat, abyste zajistili, že identita spravovaná uživatelem má udělená oprávnění k získání, výpisu, zabalení klíče a rozbalení klíče ke klíči uloženému ve službě Key Vault.

Poznámka:

Použití stejné identity a klíče jako na zdrojovém serveru není při obnovení povinné.