MySQL'de şifrelemeyi anlama

Tamamlandı

Aktarımdaki Veriler

MySQL için Azure Veritabanı, TLS 1.2 kullanan şifreli bağlantıları destekler. Bu protokol varsayılan olarak etkindir ve tls_version sunucu parametresi tarafından yönetilir. Bu parametre, sunucunun izin verdiği en düşük TLS sürümünü zorunlu kılmanızı sağlar. Örneğin TLS 1.2 ve 1.3'e izin vermek istiyorsanız birden fazla sürüm seçebilirsiniz. Bu parametreyi değiştirdiğinizde, değişikliği uygulamak için sunucuyu yeniden başlatmanız gerekir.

Screenshot showing the server parameter tls_version page.

İstemci uygulamanız şifrelenmiş bağlantıları desteklemiyorsa, MySQL için Azure Veritabanı şifrelenmiş bağlantıları devre dışı bırakmanız gerekir. Azure portalında MySQL sunucunuza gidin ve Ayarlar altında Sunucu parametreleri'ni seçin. Arama kutusuna require_secure_transport girin. Bu parametre, istemci bağlantılarının güvenli bir bağlantı mı, yani TCP/IP üzerinden SSL mi yoksa Unix'te yuva dosyası kullanan bağlantılar mı yoksa Windows'da paylaşılan bellek mi kullanması gerektiğini tanımlar. İstemci uygulamanız şifreli bağlantıları desteklemiyorsa require_secure_transport KAPALI olarak ayarlayın.

Dekont

require_secure_transport KAPALI olarak ayarlarsanız, ancak bir istemci şifreli bir bağlantıyla bağlanırsa, yine de kabul edilir.

İstemci uygulamalarınızla şifrelenmiş bağlantıları kullanmak için Azure portalından genel SSL sertifikasını indirin. MySQL sunucunuza gidin ve sol menüden Ağ'ı seçin. Üst menüden SSL Sertifikasını İndir'i seçin. Uygulamaların SSL üzerinden veritabanına güvenli bir şekilde bağlanmasına izin vermek için sertifika dosyasını yerel ortamınıza veya uygulamanızın barındırıldığı istemci ortamına kaydedin.

Bekleme durumundaki veriler

Bekleyen veriler, InnoDB depolama altyapısında desteklenir. Şifreleme tablespace düzeyinde ayarlanır ve InnoDB aşağıdaki tablo alanları için şifrelemeyi destekler: tablo başına dosya, genel ve sistem. MySQL sürüm 8.0 için default_table_encryption sunucu parametresinin ON (varsayılan olarak KAPALI) olarak ayarlandığından emin olun. Şifrelenmiş bir tablo için yineleme günlüğünü de şifreleyebilirsiniz. Bu, varsayılan olarak devre dışıdır.

Tablo alanı başına bir dosyadaki tabloyu şifrelemek için:

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

Daha sonra bir tabloyu değiştirirseniz şifreleme yan tümcesi belirtilmelidir:

ALTER TABLE myEncryptedTable ENCRYPTION = 'Y';

MySQL için Azure Veritabanı, Microsoft'un yönetilen anahtarlarını kullanarak bekleyen şifrelemedeki verileri varsayılan olarak destekler. Veriler ve yedeklemeler diskte her zaman şifrelenir ve bu devre dışı bırakılamaz.