Obróć protektor Transparent Data Encryption w Azure Synapse Analytics

Wskazówka

Microsoft Fabric Data Warehouse to magazyn relacyjny w skali przedsiębiorstwa na podstawie bazy danych data lake z architekturą gotową do użycia w przyszłości, wbudowaną sztuczną inteligencją i nowymi funkcjami. Jeśli dopiero zaczynasz korzystać z magazynowania danych, zacznij od Fabric Data Warehouse. Istniejące obciążenia dedykowanej puli SQL mogą zostać zaktualizowane do Fabric, aby uzyskać dostęp do nowych możliwości w zakresie nauki o danych, analizy w czasie rzeczywistym i raportowania.

Dotyczy: Dedykowane pule SQL dla Azure Synapse Analytics (poprzednio SQL DW)

Ten artykuł opisuje rotację kluczy dla serwera SQL korzystającego z protektora TDE z usługi Azure Key Vault. Obracanie logicznej ochrony TDE dla serwera oznacza przejście na nowy obsługiwany klucz, który chroni bazy danych na serwerze. W zależności od konfiguracji funkcja ochrony TDE może być obsługiwana przez obsługiwany klucz asymetryczny (RSA) lub symetryczny (AES) przechowywany w Azure Key Vault lub zarządzanym module HSM Azure Key Vault. Rotacja klucza to operacja online i powinna trwać tylko kilka sekund, ponieważ ta operacja odszyfrowuje i ponownie szyfruje jedynie klucz szyfrujący danych bazy danych, a nie całą bazę danych.

W tym artykule omówiono zarówno zautomatyzowane, jak i ręczne metody rotacji funkcji ochrony TDE na serwerze.

Note

Ten artykuł dotyczy samodzielnych dedykowanych pul SQL (dawniej SQL DW). W przypadku dedykowanych pul SQL w przestrzeni roboczej Synapse zobacz Encryption for Azure Synapse Analytics workspaces.

Istotne zagadnienia

  • Zachowaj stare wersje kluczy przynajmniej przez okres przechowywania kopii zapasowej bazy danych. Przywrócenie starszej kopii zapasowej wymaga modułu ochrony, który ją zaszyfrował.
  • Zachowaj stare klucze nawet jeśli wrócisz do zabezpieczenia zarządzanego usługami.
  • Przed rotacją należy wznowić wstrzymaną dedykowaną pulę SQL.
  • Łączna długość nazwy magazynu kluczy i nazwy klucza nie może przekraczać 94 znaków.

Prerequisites

  • Ten artykuł zakłada, że już używasz klucza z Azure Key Vault jako protektora TDE dla Azure SQL Database lub Azure Synapse Analytics. Więcej informacji można znaleźć w Customer-managed TDE for Azure Synapse Analytics.
  • Musisz mieć zainstalowany i uruchomiony program Azure PowerShell.

Wskazówka

Zalecane, ale opcjonalne — najpierw utwórz materiał klucza dla funkcji ochrony TDE w sprzętowym module zabezpieczeń (HSM) lub lokalnym magazynie kluczy i zaimportuj materiał klucza do usługi Azure Key Vault. Aby dowiedzieć się więcej, zobacz instrukcje dotyczące korzystania z modułu bezpieczeństwa sprzętu (HSM) oraz Azure Key Vault.

Przejdź do portalu Azure.

Automatyczne obracanie kluczy

Włącz automatyczną rotację dla modułu ochrony TDE podczas konfigurowania modułu ochrony TDE dla serwera lub bazy danych. Możesz włączyć automatyczną rotację z portalu Azure lub używając poniższych poleceń PowerShell lub Azure CLI. Gdy włączasz automatyczną rotację, serwer lub baza danych nieustannie sprawdza magazyn kluczy pod kątem nowych wersji klucza używanego jako protektor TDE. Jeśli serwer lub baza danych wykryje nową wersję klucza, automatycznie przeprowadza rotację protektora TDE do najnowszej wersji klucza w ciągu 24 godzin.

Użyj automatycznej rotacji na serwerze, bazie danych lub zarządzanej instancji z automatyczną rotacją kluczy w Azure Key Vault, aby umożliwić end-to-end rotację niewymagającą interwencji dla kluczy TDE.

Azure Portal

Korzystanie z portalu Azure:

  1. Przejdź do sekcji Transparent Data Encryption dla istniejącego serwera lub wystąpienia zarządzanego.
  2. Wybierz opcję klucza zarządzanego przez klienta oraz magazyn kluczy i klucz, który ma służyć jako protektor TDE.
  3. Zaznacz pole wyboru „Auto-rotate key”.
  4. Wybierz Zapisz.

PowerShell

Aby uzyskać instrukcje instalacji modułu Az programu PowerShell, zobacz Instalowanie programu Azure PowerShell.

Aby włączyć automatyczną rotację ochrony TDE za pomocą programu PowerShell, zobacz poniższy skrypt. Możesz pobrać element <keyVaultKeyId> z usługi Azure Key Vault.

Użyj Set-AzSqlServerTransparentDataEncryptionProtector:

Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault -KeyId <keyVaultKeyId> `
   -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName> `
    -AutoRotationEnabled <boolean>

Azure CLI

Informacje o instalacji aktualnej wersji Azure CLI można znaleźć w artykule Instalowanie interfejsu wiersza polecenia platformy Azure.

Aby włączyć automatyczną rotację dla ochrony TDE za pomocą Azure CLI, zobacz poniższy skrypt.

Use az SQL Server TDE-key set:

az sql server tde-key set --server-key-type AzureKeyVault
                          --auto-rotation-enabled true
                          [--kid] <keyVaultKeyId>
                          [--resource-group] <SQLDatabaseResourceGroupName> 
                          [--server] <logicalServerName>

Ręczne obracanie kluczy

Ręczne obracanie kluczy posługuje się poniższymi poleceniami, aby dodać nowy klucz, który może być zapisany pod nową nazwą lub nawet w innym magazynie kluczy. Możesz też użyć portalu Azure do ręcznego obracania kluczy.

Gdy ręcznie obracasz klucze i tworzysz nową wersję klucza w Key Vault (ręcznie lub poprzez politykę automatycznej rotacji kluczy), musisz ręcznie ustawić tę wersję klucza jako protektor TDE na serwerze.

Note

Łączna długość nazwy magazynu kluczy i nazwy klucza nie może przekroczyć 94 znaków.

Azure Portal

  1. Otwórz Transparent data encryption na serwerze SQL.
  2. Wybierz klucz zarządzany przez klienta.
  3. Wybierz opcję Klucz zarządzany przez klienta oraz wybierz magazyn kluczy i klucz, których chcesz użyć jako nowego protektora TDE.
  4. Wybierz Zapisz.

PowerShell

Użyj polecenia Add-AzKeyVaultKey, aby dodać nowy klucz do magazynu kluczy.

# add a new key to Azure Key Vault
Add-AzKeyVaultKey -VaultName <keyVaultName> -Name <keyVaultKeyName> -Destination <hardwareOrSoftware>

Użyj następujących poleceń:


# add the new key from Azure Key Vault to the server
Add-AzSqlServerKeyVaultKey -KeyId <keyVaultKeyId> -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
  
# set the key as the TDE protector for all resources under the server
Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault -KeyId <keyVaultKeyId> `
   -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>

Azure CLI

Użyj polecenia az keyvault key create, aby dodać nowy klucz do magazynu kluczy.

# add a new key to Azure Key Vault
az keyvault key create --name <keyVaultKeyName> --vault-name <keyVaultName> --protection <hsmOrSoftware>

Użyj następujących poleceń:

# add the new 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>

Przełącz tryb ochrony TDE

Azure Portal

Użyj portalu Azure, aby przełączyć protektor TDE z trybu zarządzanego przez firmę Microsoft na tryb BYOK:

  1. Przejdź do menu Transparent Data Encryption dla istniejącego serwera lub wystąpienia zarządzanego.
  2. Wybierz opcję Klucz zarządzany przez klienta.
  3. Wybierz magazyn kluczy i klucz, który ma służyć jako protektor TDE.
  4. Wybierz Zapisz.

PowerShell

  • Aby przełączyć funkcję ochrony TDE z zarządzanej przez firmę Microsoft do trybu BYOK, użyj polecenia Set-AzSqlServerTransparentDataEncryptionProtector .

    Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault `
         -KeyId <keyVaultKeyId> -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
    
  • Aby przełączyć funkcję ochrony TDE z trybu BYOK na zarządzaną przez firmę Microsoft, użyj polecenia Set-AzSqlServerTransparentDataEncryptionProtector .

    Set-AzSqlServerTransparentDataEncryptionProtector -Type ServiceManaged `
         -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
    

Azure CLI

W poniższych przykładach użyto az sql server tde-key set.

  • Aby przełączyć funkcję ochrony TDE z zarządzanej przez firmę Microsoft na tryb BYOK:

    az sql server tde-key set --server-key-type AzureKeyVault --kid <keyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>
    
  • Aby przełączyć funkcję ochrony TDE z trybu BYOK na zarządzaną przez firmę Microsoft:

    az sql server tde-key set --server-key-type ServiceManaged --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>