PowerShell kullanarak Saydam Veri Şifrelemesi (TDE) koruyucuyu kaldırma
Şunlar için geçerlidir: Azure SQL Veritabanı Azure SQL Yönetilen Örneği Azure Synapse Analytics (yalnızca ayrılmış SQL havuzları)
Bu makalede, Azure Key Vault'ta müşteri tarafından yönetilen anahtarlarla TDE kullanan Azure SQL Veritabanı veya Azure Synapse Analytics için güvenliği aşılmış olabilecek TDE koruması - Kendi Anahtarını Getir (BYOK) desteğinin nasıl yanıtlandığı açıklanır. TDE için KAG desteği hakkında daha fazla bilgi edinmek için genel bakış sayfasına bakın.
Dikkat
Bu makalede açıklanan yordamlar yalnızca aşırı durumlarda veya test ortamlarında yapılmalıdır. Etkin olarak kullanılan TDE koruyucularının Azure Key Vault'tan silinmesi veritabanının kullanılamaz duruma gelmesine neden olacağı için adımları dikkatlice gözden geçirin.
Bir hizmetin veya kullanıcının anahtara yetkisiz erişimi olması gibi bir anahtarın gizliliğinin ihlal edilmiş olduğundan şüpheleniliyorsa, anahtarı silmek en iyisidir.
Key Vault'ta TDE koruyucusu silindikten sonra 10 dakikaya kadar tüm şifrelenmiş veritabanlarının ilgili hata iletisiyle tüm bağlantıları reddetmeye başlayacağını ve durumunu Erişilemez olarak değiştireceğini unutmayın.
Bu nasıl yapılır kılavuzu, güvenliği aşılmış bir olay yanıtının ardından veritabanlarını erişilemez hale getirmek için yaklaşımın üzerinden geçmektedir.
Not
Bu makale Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve Azure Synapse Analytics (ayrılmış SQL havuzları (eski adı SQL DW) için geçerlidir. Synapse çalışma alanlarındaki ayrılmış SQL havuzları için Saydam Veri Şifrelemesi belgeleri için bkz. Azure Synapse Analytics şifrelemesi.
Önkoşullar
- Bir Azure aboneliğinizin olması ve bu abonelikte yönetici olmanız gerekir.
- Azure PowerShell'in yüklü ve çalışır durumda olması gerekir.
- Bu nasıl yapılır kılavuzunda, bir Azure SQL Veritabanı veya Azure Synapse için TDE koruyucusu olarak Azure Key Vault'tan bir anahtar kullandığınız varsayılır. Daha fazla bilgi edinmek için bkz. BYOK Desteği ile Saydam Veri Şifrelemesi.
Az modülü yükleme yönergeleri için bkz. Azure PowerShell'i yükleme. Belirli cmdlet'ler için bkz . AzureRM.Sql. Yeni Azure PowerShell Az modülünü kullanın.
TDE Koruyucusu parmak izlerini denetleme
Aşağıdaki adımlarda, belirli bir veritabanının Sanal Günlük Dosyaları (VLF) tarafından hala kullanılan TDE Koruyucusu parmak izlerinin nasıl denetlendiği özetlenmiştir. Veritabanının geçerli TDE koruyucusunun parmak izi ve veritabanı kimliği şu şekilde çalıştırılarak bulunabilir:
SELECT [database_id],
[encryption_state],
[encryptor_type], /*asymmetric key means AKV, certificate means service-managed keys*/
[encryptor_thumbprint]
FROM [sys].[dm_database_encryption_keys]
Aşağıdaki sorgu, VLF'leri ve TDE Koruyucusu'nda kullanılan ilgili parmak izlerini döndürür. Her farklı parmak izi, Azure Key Vault'taki (AKV) farklı anahtara başvurur:
SELECT * FROM sys.dm_db_log_info (database_id)
Alternatif olarak, PowerShell'i veya Azure CLI'yı kullanabilirsiniz:
PowerShell komutu Get-AzureRmSqlServerKeyVaultKey
sorguda kullanılan TDE Koruyucusu'nun parmak izini sağlar, böylece AKV'de hangi anahtarların tutulabileceğini ve hangi anahtarların silindiğini görebilirsiniz. Azure Key Vault'tan yalnızca veritabanı tarafından artık kullanılmayan anahtarlar güvenle silinebilir.
Şifrelenmiş kaynakları erişilebilir tutma
Key Vault'ta yeni bir anahtar oluşturun. Erişim denetimi bir kasa düzeyinde sağlandığından, bu yeni anahtarın güvenliği aşılmış olabilecek TDE koruyucusundan ayrı bir anahtar kasasında oluşturulduğundan emin olun.
Add-AzSqlServerKeyVaultKey ve Set-AzSqlServerTransparentDataEncryptionProtector cmdlet'lerini kullanarak yeni anahtarı sunucuya ekleyin ve sunucunun yeni TDE koruyucusu olarak güncelleştirin.
# add the key from Key Vault to the server Add-AzSqlServerKeyVaultKey -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -KeyId <KeyVaultKeyId> # set the key as the TDE protector for all resources under the server Set-AzSqlServerTransparentDataEncryptionProtector -ResourceGroupName <SQLDatabaseResourceGroupName> ` -ServerName <LogicalServerName> -Type AzureKeyVault -KeyId <KeyVaultKeyId>
Sunucunun ve tüm çoğaltmaların Get-AzSqlServerTransparentDataEncryptionProtector cmdlet'ini kullanarak yeni TDE koruyucusunun güncelleştirildiğinden emin olun.
Not
Yeni TDE koruyucusunun sunucu altındaki tüm veritabanlarına ve ikincil veritabanlarına yayılması birkaç dakika sürebilir.
Get-AzSqlServerTransparentDataEncryptionProtector -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Key Vault'ta yeni anahtarın yedeğini alın.
# -OutputFile parameter is optional; if removed, a file name is automatically generated. Backup-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName> -OutputFile <DesiredBackupFilePath>
Güvenliği aşılmış anahtarı Remove-AzKeyVaultKey cmdlet'ini kullanarak Key Vault'tan silin.
Remove-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName>
Gelecekte Restore-AzKeyVaultKey cmdlet'ini kullanarak key'i Key Vault'a geri yüklemek için.
Restore-AzKeyVaultKey -VaultName <KeyVaultName> -InputFile <BackupFilePath>
Şifrelenmiş kaynaklara erişilemez hale getirme
Güvenliği aşılmış olabilecek anahtar tarafından şifrelenen veritabanlarını bırakın.
Veritabanı ve günlük dosyaları otomatik olarak yedeklenir, bu nedenle veritabanının belirli bir noktaya geri yüklemesi herhangi bir noktada yapılabilir (anahtarı sağladığınız sürece). En son işlemlerin 10 dakikasına kadar olası veri kaybını önlemek için veritabanları etkin bir TDE koruyucusu silinmeden önce bırakılmalıdır.
Key Vault'ta TDE koruyucusunun anahtar malzemesini yedekleyin.
Güvenliği aşılmış olabilecek anahtarı Key Vault'tan kaldırın.
Not
Tüm izin değişikliklerinin anahtar kasası için geçerli olması yaklaşık 10 dakika sürebilir. Buna AKV'de TDE koruyucusunun erişim izinlerinin iptali dahildir ve bu zaman dilimi içindeki kullanıcıların erişim izinleri hala olabilir.
İlgili içerik
- Güvenlik gereksinimlerine uymak için sunucunun TDE koruyucusunun nasıl döndürüldüğünü öğrenin: PowerShell kullanarak Saydam Veri Şifrelemesi koruyucuyu döndürme
- TDE için Kendi Anahtarını Getir desteğini kullanmaya başlama: PowerShell kullanarak Key Vault'tan kendi anahtarınızı kullanarak TDE'yi açma