Omówienie szyfrowania w usłudze MySQL

Ukończone

Dane przesyłane

Usługa Azure Database for MySQL obsługuje połączenia szyfrowane przy użyciu protokołu TLS 1.2. Ten protokół jest domyślnie włączony i jest zarządzany przez parametr serwera tls_version . Ten parametr umożliwia wymuszenie minimalnej wersji protokołu TLS, na którą zezwala serwer. Możesz wybrać więcej niż jedną wersję, na przykład jeśli chcesz zezwolić na protokoły TLS 1.2 i 1.3. Po zmianie tego parametru należy ponownie uruchomić serwer, aby zastosować zmianę.

Screenshot showing the server parameter tls_version page.

Jeśli aplikacja kliencka nie obsługuje szyfrowanych połączeń, musisz wyłączyć szyfrowane połączenia w usłudze Azure Database for MySQL. W witrynie Azure Portal przejdź do serwera MySQL i w obszarze Ustawienia wybierz pozycję Parametry serwera. W polu wyszukiwania wprowadź require_secure_transport. Ten parametr określa, czy połączenia klienckie muszą używać bezpiecznego połączenia, czyli protokołu SSL za pośrednictwem protokołu TCP/IP lub połączeń korzystających z pliku gniazda w systemie Unix, czy pamięci współużytkowanej w systemie Windows. Jeśli aplikacja kliencka nie obsługuje szyfrowanych połączeń, ustaw wartość require_secure_transport na WYŁ.

Uwaga

Jeśli ustawisz require_secure_transport na WARTOŚĆ WYŁĄCZONE, ale klient łączy się z zaszyfrowanym połączeniem, nadal będzie akceptowany.

Aby używać szyfrowanych połączeń z aplikacjami klienckimi, pobierz publiczny certyfikat SSL w witrynie Azure Portal. Przejdź do serwera MySQL i z menu po lewej stronie wybierz pozycję Sieć. W górnym menu wybierz pozycję Pobierz certyfikat SSL. Aby umożliwić aplikacjom bezpieczne łączenie się z bazą danych za pośrednictwem protokołu SSL, zapisz plik certyfikatu w środowisku lokalnym lub środowisku klienta, w którym jest hostowana aplikacja.

Dane magazynowane

Szyfrowanie danych magazynowanych jest obsługiwane w a aparatze magazynu InnoDB. Szyfrowanie jest ustawiane na poziomie przestrzeni tabel, a usługa InnoDB obsługuje szyfrowanie dla następujących przestrzeni tabel: plik na tabelę, ogólne i system. W przypadku programu MySQL w wersji 8.0 upewnij się, że parametr serwera default_table_encryption jest ustawiony na wartość . (domyślnie jest wyłączona ). W przypadku zaszyfrowanej tabeli można również zaszyfrować dziennik ponownego utworzenia. Ta opcja jest domyślnie wyłączona.

Aby zaszyfrować tabelę w pliku na przestrzeń tabel:

CREATE TABLE myEncryptedTable (myID INT) ENCRYPTION = 'Y';

Jeśli następnie zmienisz tabelę, należy określić klauzulę szyfrowania:

ALTER TABLE myEncryptedTable ENCRYPTION = 'Y';

Usługa Azure Database for MySQL domyślnie obsługuje szyfrowanie danych magazynowanych przy użyciu kluczy zarządzanych firmy Microsoft. Dane i kopie zapasowe są zawsze szyfrowane na dysku i nie można ich wyłączyć.