Roteer de protector voor Transparent Data Encryption in Azure Synapse Analytics

Tip

Microsoft Fabric Data Warehouse is een relationeel warehouse op ondernemingsniveau op data lake-basis, met een architectuur die klaar is voor de toekomst, ingebouwde AI en nieuwe functies. Als u nieuw bent in gegevensopslag, begin dan met Fabric Data Warehouse. Bestaande dediceerde SQL-poolworkloads kunnen upgraden naar Fabric voor toegang tot nieuwe mogelijkheden in data science, realtime analyses en rapportage.

Van toepassing op: Toegewezen SQL-pools van Azure Synapse Analytics (voorheen SQL DW)

Dit artikel beschrijft de sleutelrotatie voor een SQL-server die een TDE-beveiliger van Azure Key Vault gebruikt. Het roteren van de logische TDE-beveiliging voor een server betekent dat u overschakelt naar een nieuwe ondersteunde sleutel die de databases op de server beveiligt. Afhankelijk van de configuratie kan het TDE-beveiligingselement gebruikmaken van een ondersteunde asymmetrische (RSA-)sleutel of symmetrische (AES-)sleutel die is opgeslagen in Azure Key Vault of Azure Key Vault Managed HSM. Sleutelrotatie is een online operatie en zou slechts enkele seconden moeten duren, omdat deze operatie alleen de data-encryptiesleutel van de database ontsleutelt en opnieuw versleutelt, niet de hele database.

In dit artikel worden zowel geautomatiseerde als handmatige methoden besproken om de TDE-protector op de server te roteren.

Note

Dit artikel behandelt standalone dedicated SQL-pools (voorheen SQL DW). Voor dedicated SQL pools in een Synapse-workspace, zie Versleuteling voor Azure Synapse Analytics-werkruimten.

Belangrijke overwegingen

  • Bewaar oude sleutelversies ten minste voor de bewaarperiode van de databaseback-up. Het herstellen van een oudere back-up vereist de beveiliging die deze heeft versleuteld.
  • Bewaar oude sleutels, zelfs als je terugschakelt naar een service-managed protector.
  • Een gepauzeerde, toegewijde SQL-pool moet worden hervat vóór de rotatie.
  • De gecombineerde sleutelkluisnaam en sleutelnaam mogen niet meer dan 94 tekens bevatten.

Prerequisites

  • Dit artikel gaat ervan uit dat je al een sleutel van Azure Key Vault gebruikt als TDE-beschermer voor Azure SQL Database of Azure Synapse Analytics. Voor meer informatie, zie Customer-managed TDE for Azure Synapse Analytics.
  • U moet Azure PowerShell hebben geïnstalleerd en uitgevoerd.

Tip

Aanbevolen maar optioneel: maak eerst het sleutelmateriaal voor de TDE-protector in een HSM (Hardware Security Module) of lokaal sleutelarchief en importeer het sleutelmateriaal in Azure Key Vault. Voor meer informatie, zie de instructies voor het gebruik van een hardware security module (HSM) en Azure Key Vault.

Ga naar de Azure-portal.

Automatische sleutelrotatie

Schakel automatische rotatie in voor de TDE-protector wanneer je de TDE-protector voor de server of de database configureert. Je kunt automatische rotatie inschakelen via het Azure-portaal of door de volgende PowerShell- of Azure CLI-commando's te gebruiken. Wanneer je automatische rotatie inschakelt, controleert de server of database continu de sleutelkluis op nieuwe versies van de sleutel die als TDE-beschermer wordt gebruikt. Als de server of database een nieuwe versie van de sleutel detecteert, draait deze de TDE-protector automatisch naar de nieuwste sleutelversie binnen 24 uur.

Gebruik automatische rotatie in een server, database of beheerde instantie met automatische sleutelrotatie in Azure Key Vault om end-to-end zero-touch rotatie voor TDE-sleutels mogelijk te maken.

Azure portal

Gebruik de Azure-portal:

  1. Blader naar het gedeelte Transparante gegevensversleuteling voor een bestaande server of een beheerd exemplaar.
  2. Selecteer de optie Klantbeheerde sleutel en selecteer de sleutelkluis en sleutel die als TDE-beschermer wordt gebruikt.
  3. Selecteer het selectievakje Auto-rotate key.
  4. Klik op Opslaan.

PowerShell

Zie Azure PowerShell-installeren voor installatie-instructies voor Az PowerShell-module.

Om automatische rotatie voor de TDE-protector mogelijk te maken met PowerShell, zie het volgende script. Je kunt de waarde <keyVaultKeyId> ophalen uit Azure Key Vault.

Gebruik Set-AzSqlServerTransparentDataEncryptionProtector:

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

Azure CLI

Voor informatie over het installeren van de huidige versie van Azure CLI, zie De Azure CLI installeren.

Om automatische rotatie voor de TDE-beschermer mogelijk te maken met behulp van de Azure CLI, zie het volgende script.

Gebruik 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>

Handmatige sleutelrotatie

Handmatige sleutelrotatie gebruikt de volgende opdrachten om een nieuwe sleutel toe te voegen, die zich onder een nieuwe sleutelnaam of zelfs een andere sleutelkluis kan bevinden. Je kunt ook het Azure-portaal gebruiken om sleutels handmatig te roteren.

Wanneer je handmatig sleutels roteert en een nieuwe sleutelversie maakt in Key Vault (hetzij handmatig of via een automatisch beleid voor sleutelrotatie), moet je die sleutelversie handmatig instellen als TDE-protector voor de server.

Note

De gecombineerde lengte van de sleutelkluisnaam en sleutelnaam mag niet hoger zijn dan 94 tekens.

Azure portal

  1. Open Transparent data encryption op de SQL-server.
  2. Selecteer Klantbeheerde sleutel.
  3. Selecteer de optie Door de klant beheerde sleutel en selecteer de sleutelkluisservice en sleutel om te gebruiken als de nieuwe TDE-beveiliging.
  4. Klik op Opslaan.

PowerShell

Gebruik de opdracht Add-AzKeyVaultKey om een nieuwe sleutel toe te voegen aan de sleutelkluis.

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

Gebruik de volgende opdrachten:


# 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

Gebruik de opdracht az keyvault key create om een nieuwe sleutel toe te voegen aan de sleutelkluis.

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

Gebruik de volgende opdrachten:

# 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>

TDE-beveiligingsmodus overschakelen

Azure portal

Gebruik Azure Portal om de TDE-beveiliging van door Microsoft beheerd naar BYOK-modus over te schakelen:

  1. Blader naar het Transparante gegevensversleuteling menu voor een bestaande server of een beheerd exemplaar.
  2. Selecteer de optie voor de klant-beheerde sleutel .
  3. Selecteer de sleutelkluis en de sleutel die u als TDE-beveiliging wilt gebruiken.
  4. Klik op Opslaan.

PowerShell

  • Gebruik de opdracht Set-AzSqlServerTransparentDataEncryptionProtector om de TDE-protector over te schakelen van door Microsoft beheerde modus naar BYOK-modus.

    Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault `
         -KeyId <keyVaultKeyId> -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
    
  • Gebruik de opdracht Set-AzSqlServerTransparentDataEncryptionProtector om de TDE-beveiliging van de BYOK-modus over te schakelen naar door Microsoft beheerd.

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

Azure CLI

In de volgende voorbeelden wordt az sql server tde-key setgebruikt.

  • Als u de TDE-protector wilt overschakelen van door Microsoft beheerde naar BYOK-modus:

    az sql server tde-key set --server-key-type AzureKeyVault --kid <keyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>
    
  • De TDE-beschermer overschakelen van BYOK-modus naar een door Microsoft beheerde modus:

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