Principy šifrování v MySQL
Přenášená data
Azure Database for MySQL podporuje šifrovaná připojení pomocí protokolu TLS 1.2. Tento protokol je ve výchozím nastavení povolený a spravuje se parametrem serveru tls_version . Tento parametr umožňuje vynutit minimální verzi protokolu TLS, kterou server povoluje. Můžete vybrat více než jednu verzi, například pokud chcete povolit protokol TLS 1.2 a 1.3. Když tento parametr změníte, musíte server restartovat, aby se změna použila.
Pokud vaše klientská aplikace nepodporuje šifrovaná připojení, budete muset zakázat šifrovaná připojení ve službě Azure Database for MySQL. Na webu Azure Portal přejděte na server MySQL a v části Nastavení vyberte Parametry serveru. Do vyhledávacího pole zadejte require_secure_transport. Tento parametr definuje, jestli klientská připojení musí používat zabezpečené připojení, tj. SSL přes TCP/IP nebo připojení, která používají soubor soketu v unixu nebo sdílenou paměť ve Windows. Pokud klientská aplikace nepodporuje šifrovaná připojení, nastavte require_secure_transport na VYPNUTO.
Poznámka:
Pokud nastavíte require_secure_transport na VYPNUTO, ale klient se připojí pomocí šifrovaného připojení, bude stále přijat.
Pokud chcete používat šifrovaná připojení s klientskými aplikacemi, stáhněte si veřejný certifikát SSL na webu Azure Portal. Přejděte na server MySQL a v nabídce vlevo vyberte Sítě. V horní nabídce vyberte Stáhnout certifikát SSL. Pokud chcete aplikacím umožnit bezpečné připojení k databázi přes PROTOKOL SSL, uložte soubor certifikátu do místního prostředí nebo do klientského prostředí, kde je vaše aplikace hostovaná.
Neaktivní uložená data
Šifrování neaktivních uložených dat se podporuje v modulu úložiště InnoDB. Šifrování je nastaveno na úrovni tablespace a InnoDB podporuje šifrování pro následující tabulkové prostory: file-per-table, general, and system. V případě MySQL verze 8.0 se ujistěte, že je parametr serveru default_table_encryption nastavený na ZAPNUTO (ve výchozím nastavení je vypnutý ). U tabulky, která je zašifrovaná, můžete také šifrovat protokol opakování. Tato možnost je ve výchozím nastavení zakázána.
Šifrování tabulky v souboru v tabulkovém prostoru:
CREATE TABLE myEncryptedTable (myID INT) ENCRYPTION = 'Y';
Pokud pak změníte tabulku, musí být zadaná klauzule šifrování:
ALTER TABLE myEncryptedTable ENCRYPTION = 'Y';
Azure Database for MySQL ve výchozím nastavení podporuje šifrování neaktivních uložených dat pomocí spravovaných klíčů Microsoftu. Data a zálohy se vždy šifrují na disku a není možné je zakázat.