Şeffaf veri şifreleme (TDE), veriler diske yazılırken gerçek zamanlı olarak şifreler ve belleğe okunurken şifresini çözer; uygulamanızda herhangi bir değişiklik yapılmasını gerektirmez. Güvenlik uyumluluğu gereksinimlerini karşılamak için bekleme durumundaki verilerin şifrelenmesine ihtiyaç duyduğunuzda, hassas veritabanı içeriğini doğrudan depolama erişiminden korumak istediğinizde veya yedekleme dosyalarını üçüncü taraflarla güvenle paylaşmanız gerektiğinde TDE kullanın.
TDE etkinleştirildikten sonra veri dosyalarının boyutu artmaz.
Nasıl Çalışır?
TDE, verilerinizi korumak için katmanlı bir anahtar hiyerarşisi kullanır.
İşletim sistemi katmanı — Windows Veri Koruma API'si (DPAPI), şifreleme anahtarlarını ve algoritmaları şeffaf bir şekilde yöneten yerleşik bir Windows API'sidir. DPAPI, TDE anahtar hiyerarşisinin köküdür ve hizmet ana anahtarını (SMK) korur.
SQL Server örneği katmanı — Hizmet ana anahtarı (SMK), bir SQL Server örneği oluşturulduğunda üretilir. Veritabanı altyapısı için kök şifreleme anahtarı olarak işlev görür ve DPAPI tarafından korunur. SMK, veritabanı ana anahtarını (DMK) şifreler.
Veritabanı katmanı — TDE hem master veritabanında hem de kullanıcı veritabanlarında çalışır:
Master veritabanı: TDE etkinleştirildiğinde, master veritabanında bir DMK ve bir sertifika oluşturulur. DMK, SMK tarafından şifrelenen simetrik bir anahtardır; sertifika ise kullanıcı veritabanlarında saklanan veritabanı şifreleme anahtarını (DEK) şifreler.
Kullanıcı veritabanları: Her kullanıcı veritabanı, master veritabanındaki sertifika tarafından şifrelenen bir DEK saklar. SQL Server verileri okuduğunda veya yazdığında, DEK'in şifresini bellekte çözmek için sertifikanın özel anahtarını kullanır, ardından veri dosyalarını gerçek zamanlı olarak şifrelemek veya şifresini çözmek için DEK'i kullanır. Bu süreç uygulamalar ve kullanıcılar için şeffaftır.
TDE sertifikası master veritabanında bulunmuyorsa, SQL Server DEK'in şifresini çözemez. Bu durumda, TDE etkinleştirilmiş bir veritabanından yedekleme dosyalarını geri yükleyemez veya veritabanını başka bir örneğe ekleyemezsiniz.
Ön Koşullar
Başlamadan önce aşağıdaki koşulların sağlandığından emin olun:
-
RDS örneği aşağıdaki tüm koşulları karşılar:
Örnek, general-purpose veya dedicated örnek ailesine aittir. Paylaşımlı performans örnekleri desteklenmez. Daha fazla bilgi için bkz. Örnek Aileleri.
Faturalama yöntemi subscription veya pay-as-you-go olmalıdır. Serverless örnekler desteklenmez. Daha fazla bilgi için bkz. Serverless ApsaraDB RDS for SQL Server Örnekleri.
Örnek aşağıdaki SQL Server sürümlerinden birini çalıştırır: SQL Server 2019 SE, SQL Server 2022 SE, SQL Server 2025 SE veya SQL Server EE.
Örnek bir salt okunur RDS örneği değildir.
Alibaba Cloud hesabınız, RDS örneğinin Key Management Service (KMS) hizmetine erişmesine izin vermiştir. Daha fazla bilgi için bkz. ApsaraDB RDS'nin KMS'e Erişimine İzin Verme.
(Yalnızca Bring Your Own Key (BYOK) için gerekli) Sertifika dosyası, özel anahtar dosyası ve parolanız hazırdır.
Sınırlamalar ve Kullanım Notları
Sınırlamalar
Bir RDS örneğinde TDE etkinleştirildiğinde:
Örnek Premium Yerel SSD'ler kullanıyor ve SQL Server 2008 R2 çalıştırıyorsa, ana motor sürümünü SQL Server 2008 R2'den SQL Server 2012 veya SQL Server 2016'ya yükseltemezsiniz.
Yedekleme dosyaları verileri yeni bir RDS örneğine geri yüklemek için kullanılabilir ancak RDS örneğini yeniden oluşturmak veya verileri başka bir mevcut RDS örneğine geri yüklemek için kullanılamaz.
Alibaba Cloud hizmet anahtarını kullanıyorsanız, TDE etkinleştirildikten sonra oluşturulan yedekleme dosyaları ile veriler şirket içi bir cihaza geri yüklenemez.
Performans Etkisi
TDE CPU yoğun bir işlemdir ve G/Ç işlemleri içerir. Resmi Microsoft belgelerine göre:
Tipik koşullar altında genel performans yaklaşık %3–%5 oranında azalır.
Erişilen verilerin çoğu bellekteyse etki minimal düzeydedir.
CPU kullanımı zaten yüksekse performans kaybı yaklaşık %28'e ulaşabilir.
TDE'yi Etkinleştirin
Örnekler sayfasına gidin. Üst gezinme çubuğunda RDS örneğinin bulunduğu bölgeyi seçin, ardından örnek kimliğine tıklayın.
Sol gezinme bölmesinde Data Security seçeneğine tıklayın.
-
TDE sekmesinde, Disabled yanındaki anahtarı açın.
TDE yalnızca tüm ön koşullar karşılandığında etkinleştirilebilir.
İletişim kutusunda bir anahtar türü seçin ve OK seçeneğine tıklayın.
Alibaba Cloud tarafından otomatik olarak oluşturulan anahtarı kullan
Unselected Databases bölümünden veritabanlarını seçin, bunları Selected Databases bölümüne taşımak için
simgesine tıklayın ve ardından Confirm seçeneğine tıklayın.
Kendi SQL Server anahtarınızla şifreleme (BYOK)
-
Sertifika dosyasını ve özel anahtar dosyasını OSS paketinize yükleyin. Daha fazla bilgi için bkz. Nesneleri Yükleme.
Encrypt with your own SQL Server key sihirbazında, Upload files to OSS adımında aşağıdaki önerilere dikkat edin:
Tek bir dosya için, bunu OSS konsolu aracılığıyla yüklemenizi öneririz.
Birden çok dosya için, devam ettirilebilir yükleme kullanmanızı ve OSS OpenAPI'sini çağırmanızı öneririz.
Dosyaları OSS'e yüklemek için bir istemci aracı da kullanabilirsiniz.
-
Next step seçeneğine tıklayın ve aşağıdaki parametreleri yapılandırın.
Parametre Açıklama OSS Bucket Sertifika ve özel anahtar dosyalarını yüklediğiniz OSS paketi. Certificate OSS paketinize yüklediğiniz sertifika dosyası. Private key OSS paketinize yüklediğiniz özel anahtar dosyası. Password SQL Server anahtarınızın parolası. Next step seçeneğine tıklayarak Authorization database adımına gidin.
Unselected Databases bölümünden veritabanlarını seçin, bunları Selected Databases bölümüne taşımak için
simgesine tıklayın ve ardından Confirm seçeneğine tıklayın.
TDE'yi Devre Dışı Bırakın
TDE'nin devre dışı bırakılması tüm verilerin şifresini çözer; bu işlem önemli miktarda CPU, bellek ve G/Ç kaynağı tüketen kaynak yoğun bir işlemdir. Şifre çözme süresi veri hacmiyle doğru orantılıdır — yaklaşık 200 GB veri içeren bir veritabanı için şifre çözme işlemi 40 dakikadan fazla sürebilir.
TDE'yi specific databases için devre dışı bırakmak amacıyla: Bu veritabanlarını Selected Databases bölümünden kaldırın.
TDE'yi entire instance için devre dışı bırakmak amacıyla: Tüm veritabanlarını Selected Databases bölümünden kaldırın. Sistem daha sonra örnek için TDE'yi devre dışı bırakır.
Adımlar:
Örnekler sayfasına gidin. Üst gezinme çubuğunda RDS örneğinin bulunduğu bölgeyi seçin, ardından örnek kimliğine tıklayın.
Sol gezinme bölmesinde Data Security seçeneğine tıklayın.
TDE sekmesine tıklayın, ardından TDE Settings seçeneğine tıklayın.
Selected Databases bölümünden veritabanlarını seçin, bunları Unselected Databases bölümüne taşımak için
simgesine tıklayın ve ardından OK seçeneğine tıklayın.
TDE devre dışı bırakıldıktan sonra şifre çözme ilerlemesini kontrol etmek için aşağıdaki SQL ifadesini çalıştırın:
SELECT
db_name(database_id) AS DatabaseName,
encryption_state,
percent_complete
FROM
sys.dm_database_encryption_keys;
Sonraki Adımlar
Bir API işlemi çağırarak TDE'yi etkinleştirmek için bkz. ModifyDBInstanceTDE.
RDS örneğine yönelik bağlantıları SSL kullanarak şifrelemek için bkz. SSL Şifreleme Özelliğini Yapılandırma.