Azure Synapse Analytics'te bir Saydam Veri Şifrelemesi koruyucusunu kaldırın

Tip

Microsoft Fabric Data Warehouse geleceğe hazır mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip data lake foundation üzerinde kurumsal ölçekli ilişkisel bir ambardır. Veri ambarı konusunda yeniyseniz Fabric Data Warehouse ile başlayın. Mevcut özel SQL havuzu iş yükleri, veri bilimi, gerçek zamanlı analiz ve raporlama alanlarında yeni özelliklere erişmek için Fabric'e yükseltilebilir.

Şunlar için geçerlidir: Azure Synapse Analytics ayrılmış SQL havuzları (önceki adıyla SQL DW)

Müşteri tarafından yönetilen bir TDE koruyucusunun güvenliği ihlal edilmiş olabileceğinde bu prosedürü kullanın. Eski anahtarı silmeden veya devre dışı bırakmadan önce yeni bir anahtar koruyucusuna döndürün, böylece özel SQL havuzları erişilebilir kalsın.

Caution

Aktif bir TDE koruyucusunu silmek veya devre dışı bırakmak, ona bağlı olan tüm özel SQL havuzlarını erişemez hale getirir. Bir anahtarı kaldırmadan önce olay-müdahale planı ve yedekleme-saklama gereksinimlerini gözden geçirin.

Not

Bu makale, bağımsız ayrılmış SQL havuzlarını (eski adıyla SQL DW) ele alır. Bir Synapse çalışma alanındaki ayrılmış SQL havuzları için bkz. Bir Synapse çalışma alanındaki ayrılmış SQL havuzları için şifreleme.

Bir anahtarı silmek, o anahtarın daha önce yedeklenmiş veya başka bir anahtar kasasına geri getirilmiş kopyalarını geçersiz kılmaz. Olay müdahalesinin bir parçası olarak her kopyayı koruyun ve envanterini çıkarın.

Prerequisites

TDE koruyucusunun sertifika parmak izlerini kontrol et.

Aşağıdaki adımlar, belirli bir veritabanının Sanal Günlük Dosyalarının (VLF) hâlâ kullandığı TDE koruyucu thumbprint'lerinin nasıl denetleneceğini açıklar.

Veritabanı için mevcut TDE koruyucusunun parmak izini ve veritabanı kimliğini bulmak için aşağıdaki sorguyu çalıştırın:

SELECT [database_id],
       [encryption_state],
       [encryptor_type], /*asymmetric key means Azure Key Vault, certificate means service-managed keys*/
       [encryptor_thumbprint]
 FROM [sys].[dm_database_encryption_keys]

Aşağıdaki sorguyu çalıştırarak VLF'leri ve kullanılan TDE koruyucu parmak izlerini geri döndürün. Her farklı parmak izi, Azure Key Vault'ta farklı bir anahtara işaret eder:

SELECT * FROM sys.dm_db_log_info (database_id)

Alternatif olarak, PowerShell veya Azure CLI kullanabilirsiniz:

  • PowerShell komutu Get-AzSqlServerKeyVaultKey, sorguda kullanılan TDE koruyucusunun parmak izini sağlar, böylece Azure Key Vault'ta hangi anahtarların saklanması ve hangi anahtarların silinmesi gerektiğini görebilirsiniz. Veritabanının artık kullanmadığı anahtarlar yalnızca Azure Key Vault'tan güvenli bir şekilde silinebilir.

  • Azure CLI komutuaz sql server key show, sorguda kullanılan TDE koruyucusunun parmak izini sağlar, böylece hangi anahtarların saklanması ve hangi anahtarların silinmesi gerektiğini Azure Key Vault'ta görebilirsiniz. Veritabanının artık kullanmadığı anahtarlar yalnızca Azure Key Vault'tan güvenli bir şekilde silinebilir.

Şifrelenmiş kaynakları erişilebilir tutma

PowerShell

  1. Azure Key Vault'ta yeni bir anahtar oluşturun. Bu yeni anahtarı, potansiyel olarak ele geçirilmiş bir TDE koruyucusundan ayrı bir anahtar kasasında oluşturduğunuzdan emin olun, çünkü erişim denetimi kasa düzeyinde sağlanır.

  2. Add-AzSqlServerKeyVaultKey ve Set-AzSqlServerTransparentDataEncryptionProtector cmdlet'lerini kullanarak yeni anahtarı sunucuya ekleyin ve bunu sunucunun yeni TDE koruyucusu olarak ayarlayın.

    # add the key from Azure 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>
    
  3. Get-AzSqlServerTransparentDataEncryptionProtector cmdlet'ini kullanarak sunucunun ve replikaların yeni TDE koruyucusuna güncellenmesini sağlayın.

    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>
    
  4. Azure 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>
    
  5. Remove-AzKeyVaultKey cmdlet'ini kullanarak Azure Key Vault'tan güvenliği ihlal edilmiş anahtarı silin.

    Remove-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName>
    
  6. Gelecekte bir anahtarı Azure Key Vault'a geri yüklemek için Restore-AzKeyVaultKey cmdlet'ini kullanın.

    Restore-AzKeyVaultKey -VaultName <KeyVaultName> -InputFile <BackupFilePath>
    

Azure CLI

Komut başvurusu için bkz. Azure CLI Keyvault.

  1. Azure Key Vault'ta yeni bir anahtar oluşturun. Bu yeni anahtarı, potansiyel olarak ele geçirilmiş bir TDE koruyucusundan ayrı bir anahtar kasasında oluşturduğunuzdan emin olun, çünkü erişim kontrolü kasa düzeyinde sağlanır.

  2. Yeni anahtarı sunucuya ekleyin ve sunucunun yeni TDE koruyucusu olarak güncelleştirin.

    # add the key from Azure Key Vault to the server  
    az sql server key create --kid <KeyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>
    
    # set the key as the TDE protector for all resources under the server
    az sql server tde-key set --server-key-type AzureKeyVault --kid <KeyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>
    
  3. Sunucunun ve tüm replikaların yeni TDE koruyucuya güncellendiğinden emin olun.

    Not

    Yeni TDE koruyucusunun sunucu altındaki tüm veritabanlarına ve ikincil veritabanlarına yayılması birkaç dakika sürebilir.

    az sql server tde-key show --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>
    
  4. Azure Key Vault'ta yeni anahtarın yedeğini alın.

    # --file parameter is optional; if removed, a file name is automatically generated.
    az keyvault key backup --file <DesiredBackupFilePath> --name <KeyVaultKeyName> --vault-name <KeyVaultName>
    
  5. Güvenliği aşılmış anahtarı Azure Key Vault'tan silin.

    az keyvault key delete --name <KeyVaultKeyName> --vault-name <KeyVaultName>
    
  6. Gelecekte Azure Key Vault'a bir anahtarı geri yükleyin.

    az keyvault key restore --file <BackupFilePath> --vault-name <KeyVaultName>
    

Şifrelenmiş kaynaklara erişilemez hale getirme

  1. Şifreleme için potansiyel olarak ele geçirilmiş anahtarı kullanan veritabanlarını silin.

    Sistem veritabanını ve günlük dosyalarını otomatik olarak yedekler, böylece veritabanını istediğiniz bir zamana geri yükleyebilirsiniz (anahtarı sağladığınız sürece). Etkin bir TDE koruyucuyu silmeden önce, en son işlemlerin 10 dakikaya kadarının olası veri kaybını önlemek için veritabanlarını kaldırın.

  2. Azure Key Vault'ta TDE koruyucusunun anahtar malzemesini yedekleyin.

  3. Güvenliği aşılmış olabilecek anahtarı Azure Key Vault'tan kaldırın.

Not

Anahtar kasa için herhangi bir izin değişikliğinin yürürlüğe girmesi yaklaşık 10 dakika sürebilir. Bu süre, AKV'deki TDE koruyucusuna erişim izinlerinin iptal edilmesini içerir ve kullanıcıların hâlâ erişim izinleri olabilir.