Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Tip
Microsoft Fabric Data Warehouse är ett relationslager i företagsskala på en datasjögrund med en framtidsklar arkitektur, inbyggd AI och nya funktioner. Om du är nybörjare på datalager börjar du med Fabric Data Warehouse. Befintliga dedicerade SQL-poolarbetsbelastningar kan uppgraderas till Fabric för att få åtkomst till nya funktioner inom datavetenskap, realtidsanalys och rapportering.
Gäller för: Dedikerade SQL-pooler i Azure Synapse Analytics (tidigare SQL DW)
Använd denna procedur när ett kundhanterat TDE-skydd kan vara komprometterat. Rotera till ett nytt skydd innan du tar bort eller inaktiverar den gamla nyckeln så att de dedikerade SQL-poolerna förblir tillgängliga.
Caution
Att ta bort eller inaktivera ett aktivt TDE-skydd gör att varje dedikerad SQL-pool som är beroende av det blir otillgänglig. Gå igenom incidenthanteringsplanen och kraven för lagring av säkerhetskopior innan du tar bort en nyckel.
Note
Den här artikeln handlar om fristående dedikerade SQL-pooler (tidigare SQL DW). För dedikerade SQL-pooler i en Synapse-arbetsyta, se Encryption for Azure Synapse Analytics workspaces.
Att radera en nyckel ogiltigförklarar inte kopior av den nyckeln som tidigare säkerhetskopierats eller återställts till ett annat nyckelvalv. Skydda och inventera varje kopia som en del av incidenthanteringen.
Prerequisites
- Du måste ha en Azure-prenumeration och vara administratör för den prenumerationen.
- Du måste ha Azure PowerShell installerat och igång.
- Du måste kunna hantera den logiska servern, nyckelvalvsbehörigheter och nycklar.
- Install Azure PowerShell eller Azure CLI.
- Installationsinstruktioner för Az-moduler finns i Installera Azure PowerShell. Använd den nya Azure PowerShell Az-modulen.
- Installation finns i Installera Azure CLI.
- Granska Kundhanterad TDE för Azure Synapse Analytics och Rotera TDE-skyddet.
- Den här artikeln utgår från att du redan använder en nyckel från Azure Key Vault som TDE-skydd för Azure Synapse. Se Customer-managed TDE för Azure Synapse Analytics för att lära dig mer.
Kontrollera TDE-skyddets fingeravtryck
Följande steg beskriver hur man kontrollerar TDE-skyddets tumavtryck som Virtual Log Files (VLF) i en given databas fortfarande använder.
Kör följande fråga för att hitta tumavtrycket för det aktuella TDE-skyddet för databasen och databas-ID:t:
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]
Kör följande fråga för att returnera VLF:erna och TDE-skyddets tumavtryck som används. Varje olika tumavtryck syftar på en annan nyckel i Azure Key Vault:
SELECT * FROM sys.dm_db_log_info (database_id)
Du kan också använda PowerShell eller Azure CLI:
PowerShell-kommandot
Get-AzSqlServerKeyVaultKeyger tumavtryck för TDE-skyddet som används i frågan, så du kan se vilka nycklar som ska behållas och vilka nycklar som ska tas bort i Azure Key Vault. Endast nycklar som databasen inte längre använder kan säkert raderas från Azure Key Vault.Azure CLI-kommandot
az sql server key showger tumavtrycket för TDE-skyddet som används i förfrågan, så du kan se vilka nycklar som ska sparas och vilka nycklar som ska tas bort i Azure Key Vault. Endast nycklar som databasen inte längre använder kan säkert raderas från Azure Key Vault.
Håll krypterade resurser tillgängliga
PowerShell
Skapa en ny nyckel i Azure Key Vault. Se till att du skapar denna nya nyckel i ett separat nyckelvalv från det potentiellt komprometterade TDE-skydd, eftersom åtkomstkontroll är tilldelad på valvnivå.
Lägg till den nya nyckeln på servern genom att använda cmdletarna Add-AzSqlServerKeyVaultKey och Set-AzSqlServerTransparentDataEncryptionProtector, och uppdatera den som serverns nya TDE-skyddsobjekt.
# 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>Se till att servern och eventuella repliker uppdateras till det nya TDE-skyddet genom att använda Get-AzSqlServerTransparentDataEncryptionProtector-cmdleten .
Note
Det kan ta några minuter innan det nya TDE-skyddet sprids till alla databaser och sekundära databaser under servern.
Get-AzSqlServerTransparentDataEncryptionProtector -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>Gör en säkerhetskopia av den nya nyckeln i Azure Key Vault.
# -OutputFile parameter is optional; if removed, a file name is automatically generated. Backup-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName> -OutputFile <DesiredBackupFilePath>Ta bort den komprometterade nyckeln från Azure Key Vault genom att använda cmdleten Remove-AzKeyVaultKey.
Remove-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName>Om du vill återställa en nyckel till Azure Key Vault i framtiden använder du cmdleten Restore-AzKeyVaultKey .
Restore-AzKeyVaultKey -VaultName <KeyVaultName> -InputFile <BackupFilePath>
Azure CLI
Kommandoreferens finns i Azure CLI keyvault.
Skapa en ny nyckel i Azure Key Vault. Se till att du skapar denna nya nyckel i ett separat nyckelvalv från den potentiellt komprometterade TDE protector, eftersom åtkomstkontroll är tilldelad på valvnivå.
Lägg till den nya nyckeln på servern och uppdatera den som serverns nya TDE-skydd.
# 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>Se till att servern och eventuella repliker uppdateras till det nya TDE-skydd.
Note
Det kan ta några minuter innan det nya TDE-skyddet sprids till alla databaser och sekundära databaser under servern.
az sql server tde-key show --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>Gör en säkerhetskopia av den nya nyckeln i Azure Key Vault.
# --file parameter is optional; if removed, a file name is automatically generated. az keyvault key backup --file <DesiredBackupFilePath> --name <KeyVaultKeyName> --vault-name <KeyVaultName>Ta bort den komprometterade nyckeln från Azure Key Vault.
az keyvault key delete --name <KeyVaultKeyName> --vault-name <KeyVaultName>Återställ en nyckel till framtida Azure Key Vault.
az keyvault key restore --file <BackupFilePath> --vault-name <KeyVaultName>
Gör krypterade resurser otillgängliga
Ta bort databaserna som använder den potentiellt komprometterade nyckeln för kryptering.
Systemet säkerhetskopierar automatiskt databasen och loggfilerna, så du kan utföra en tidpunktsåterställning av databasen när som helst (så länge du tillhandahåller nyckeln). Släpp databaserna innan du tar bort ett aktivt TDE-skydd för att undvika potentiell dataförlust av de senaste transaktionerna från upp till de senaste 10 minuterna.
Säkerhetskopiera nyckelmaterialet för TDE-skyddet i Azure Key Vault.
Ta bort den potentiellt komprometterade nyckeln från Azure Key Vault.
Note
Det kan ta ungefär 10 minuter innan eventuella behörighetsändringar träder i kraft för nyckelvalvet. Denna gång inkluderar återkallelse av åtkomstbehörigheter till TDE-skyddet i AKV, och användare kan fortfarande ha åtkomsträttigheter.