De beschermingsleutel voor Transparent Data Encryption (TDE) roteren
van toepassing op:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (alleen toegewezen SQL-pools)
In dit artikel wordt de sleutelrotatie voor een -server met behulp van een TDE-beveiliging van Azure Key Vault beschreven. Het roteren van de logische TDE-beveiliging voor een server betekent dat u overschakelt naar een nieuwe asymmetrische sleutel die de databases op de server beveiligt. Sleutelrotatie is een onlinebewerking en moet slechts een paar seconden duren, omdat dit alleen de gegevensversleutelingssleutel 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.
Belangrijke overwegingen bij het roteren van de TDE-protector
- Wanneer de TDE-beveiliger wordt gewijzigd of gewisseld, worden oude back-ups van de database, inclusief back-uplogboekbestanden, niet bijgewerkt om de nieuwste TDE-beveiliger te gebruiken. Als u een back-up wilt herstellen die is versleuteld met een TDE-beveiliging van Key Vault, moet u ervoor zorgen dat het sleutelmateriaal beschikbaar is voor de doelserver. Daarom raden we u aan alle oude versies van de TDE-beveiliging in Azure Key Vault (AKV) te bewaren, zodat databaseback-ups kunnen worden hersteld.
- Zelfs wanneer u overstapt van door de klant beheerde sleutel (CMK) naar een door de service beheerde sleutel, bewaart u alle eerder gebruikte sleutels in AKV. Dit zorgt ervoor dat back-ups van databases, inclusief back-ups van logbestanden, kunnen worden hersteld met de TDE-beschermingen die zijn opgeslagen in de Azure Key Vault (AKV).
- Naast oude back-ups kunnen transactielogboekbestanden ook toegang tot de oudere TDE-beveiliging vereisen. Als u wilt bepalen of er nog resterende logboeken zijn waarvoor nog steeds de oudere sleutel is vereist, gebruikt u de sys.dm_db_log_info dynamische beheerweergave (DMV). Deze DMV retourneert informatie over het virtuele logboekbestand (VLF) van het transactielogboek, samen met de vingerafdruk van de versleutelingssleutel van de VLF.
- Oudere sleutels moeten worden bewaard in AKV en beschikbaar zijn voor de server op basis van de geconfigureerde back-upretentieperiode als onderdeel van het back-upretentiebeleid voor de database. Dit helpt ervoor te zorgen dat LTR-back-ups (Long Term Retention) op de server nog steeds kunnen worden hersteld met behulp van de oudere sleutels.
Notitie
Een gepauzeerde dedicated SQL-pool in Azure Synapse Analytics moet worden hervat voordat er sleutelrotaties plaatsvinden.
Dit artikel is van toepassing op toegewezen SQL-pools van Azure SQL Database, Azure SQL Managed Instance en toegewezen SQL-pools van Azure Synapse Analytics (voorheen SQL DW). Zie Azure Synapse Analytics-versleutelingvoor documentatie over transparante gegevensversleuteling (TDE) voor toegewezen SQL-pools in Synapse-werkruimten.
Belangrijk
Verwijder eerdere versies van de sleutel niet na een rollover. Wanneer sleutels worden overgerold, worden sommige gegevens nog steeds versleuteld met de vorige sleutels, zoals oudere databaseback-ups, back-ups van logboekbestanden en transactielogboekbestanden.
Voorwaarden
- In deze instructiegids wordt ervan uitgegaan dat u al een sleutel uit Azure Key Vault gebruikt als de TDE-beveiliging voor Azure SQL Database of Azure Synapse Analytics. Zie Transparante data-encryptie met ondersteuning voor BYOK.
- 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. Volg de instructies voor het gebruik van een HSM (Hardware Security Module) en Key Vault voor meer informatie.
Ga naar de Azure-portal
Automatische sleutelrotatie
Automatische rotatie voor de TDE-beveiliging kan worden ingeschakeld bij het configureren van de TDE-beveiliging voor de server of de database, vanuit Azure Portal of met behulp van de onderstaande PowerShell- of Azure CLI-opdrachten. Zodra deze functie is ingeschakeld, controleert de server of database continu de sleutelkluis op nieuwe versies van de sleutel die als TDE-beveiliging worden gebruikt. Als er een nieuwe versie van de sleutel wordt gedetecteerd, wordt de TDE-beveiliging op de server of database automatisch geroteerd naar de nieuwste sleutelversie binnen 24 uur.
Automatische rotatie in een server, database of beheerd exemplaar kan worden gebruikt met automatische sleutelrotatie in Azure Key Vault om end-to-end automatische rotatie zonder tussenkomst voor TDE-sleutels mogelijk te maken.
Notitie
Als de server of het beheerde exemplaar geo-replicatie heeft geconfigureerd voordat automatische rotatie wordt ingeschakeld, moeten aanvullende richtlijnen worden gevolgd zoals beschreven hier.
- Blader naar het gedeelte Transparante gegevensversleuteling voor een bestaande server of een beheerd exemplaar.
- Selecteer de optie voor sleutels die door de klant worden beheerd en selecteer de sleutelkluis en sleutel die moet worden gebruikt als de TDE-beschermer.
- Vink het selectievakje Auto-roteren toets aan.
- Selecteer opslaan.
Automatische sleutelrotatie op databaseniveau
Automatische sleutelrotatie kan ook worden ingeschakeld op databaseniveau voor Azure SQL Database. Dit is handig als u automatische sleutelrotatie wilt inschakelen voor slechts één of een subset van databases op een server. Zie Identiteits- en sleutelbeheer voor TDE met door de klant beheerde sleutels op databaseniveauvoor meer informatie.
Zie Een bestaande Azure SQL Database bijwerken met door de klant beheerde sleutelsvoor informatie over het instellen van automatische sleutelrotatie op databaseniveau.
Automatische sleutelrotatie voor geo-replicatieconfiguraties
In een geo-replicatieconfiguratie van Azure SQL Database waarbij de primaire server is ingesteld voor het gebruik van TDE met CMK, moet de secundaire server ook worden geconfigureerd om TDE met CMK in te schakelen met dezelfde sleutel die op de primaire server wordt gebruikt.
Het gebruik van de Azure Portal:
Blader naar de sectie Transparante gegevensversleuteling voor de primaire-server.
Selecteer de door de klant beheerde sleutel optie en selecteer de sleutelkluis en sleutel die moet worden gebruikt als de TDE-beveiliging.
Schakel het selectievakje sleutel automatisch draaien in.
Selecteer opslaan.
Blader naar de sectie Transparent Data Encryption voor de secundaire-server.
Selecteer de door de klant beheerde sleutel optie en selecteer de sleutelkluis en sleutel die moet worden gebruikt als de TDE-beveiliging. Gebruik dezelfde sleutel als die u hebt gebruikt voor de primaire server.
Deselecteer Maak deze sleutel de standaard TDE-beschermer.
Selecteer opslaan.
Wanneer de sleutel wordt geroteerd op de primaire server, wordt deze automatisch overgebracht naar de secundaire server.
Notitie
Als dezelfde sleutelkluissleutel op de primaire server wordt gebruikt als de standaard TDE-beschermingsmechanisme op de secundaire server, zorg er dan voor dat Automatisch roteren van de sleutel is ingeschakeld voor beide servers. Als u dit niet doet, kunnen de werkstromen voor automatisch rouleren in een foutstatus terechtkomen, waardoor verdere handmatige sleutelrotatiebewerkingen worden verhinderd.
Verschillende sleutels gebruiken voor elke server
Het is mogelijk om de primaire en secundaire servers te configureren met een andere sleutel van de sleutelkluis wanneer TDE met CMK wordt geconfigureerd in de Azure portal. Het is niet duidelijk in Azure Portal dat de sleutel die wordt gebruikt om de primaire server te beveiligen, ook dezelfde sleutel is die de primaire database beveiligt die is gerepliceerd naar de secundaire server. U kunt echter PowerShell, de Azure CLI of REST API's gebruiken om details te verkrijgen over sleutels die op de server worden gebruikt. Dit laat zien dat automatisch gedraaide sleutels worden overgedragen van de primaire server naar de secundaire server.
Hier volgt een voorbeeld van het gebruik van PowerShell-opdrachten om te controleren op sleutels die worden overgedragen van de primaire server naar de secundaire server na sleutelrotatie.
Voer de volgende opdracht uit op de primaire server om de belangrijkste details van een server weer te geven:
Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
U zou vergelijkbare resultaten moeten zien als de volgende:
ResourceGroupName : <SQLDatabaseResourceGroupName> ServerName : <logicalServerName> ServerKeyName : <keyVaultKeyName> Type : AzureKeyVault Uri : https://<keyvaultname>.vault.azure.net/keys/<keyName>/<GUID> Thumbprint : <thumbprint> CreationDate : 12/13/2022 8:56:32 PM
Voer dezelfde
Get-AzSqlServerKeyVaultKey
opdracht uit op de secundaire server:Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Als de secundaire server een standaard-TDE-beveiliging heeft met een andere sleutel dan de primaire server, ziet u twee (of meer) sleutels. De eerste sleutel is de standaard-TDE-beveiliging en de tweede sleutel is de sleutel die wordt gebruikt op de primaire server die wordt gebruikt om de gerepliceerde database te beveiligen.
Wanneer de sleutel wordt geroteerd op de primaire server, wordt deze automatisch overgebracht naar de secundaire server. Als u de
Get-AzSqlServerKeyVaultKey
opnieuw zou uitvoeren op de primaire server, ziet u twee sleutels. De eerste sleutel is de oorspronkelijke sleutel en de tweede sleutel, de huidige sleutel die is gegenereerd als onderdeel van de sleutelrotatie.Als u de opdracht
Get-AzSqlServerKeyVaultKey
uitvoert op de secundaire server, moeten ook dezelfde sleutels worden weergegeven die aanwezig zijn op de primaire server. Hiermee wordt bevestigd dat de gedraaide sleutels op de primaire server automatisch worden overgedragen naar de secundaire server en worden gebruikt om de databasereplica te beveiligen.
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. Met deze methode wordt ondersteuning geboden voor het toevoegen van dezelfde sleutel aan verschillende sleutelkluizen ter ondersteuning van scenario's met hoge beschikbaarheid en geo-dr. Handmatige sleutelrotatie kan ook worden uitgevoerd met behulp van Azure Portal.
Wanneer er met handmatige sleutelrotatie een nieuwe sleutelversie in de sleutelkluis wordt gegenereerd (hetzij handmatig, hetzij via een beleid voor automatische sleutelrotatie in de sleutelkluis), moet deze handmatig als de TDE-beveiliger op de server worden ingesteld.
Notitie
De gecombineerde lengte voor de sleutelkluisnaam en sleutelnaam mag niet meer zijn dan 94 tekens.
Azure Portal gebruiken:
- Blader naar het Transparante gegevensversleuteling menu voor een bestaande server of een beheerd exemplaar.
- Selecteer de door de klant beheerde sleutel optie en selecteer de sleutelkluis en sleutel die moet worden gebruikt als de nieuwe TDE-beveiliging.
- Selecteer opslaan.
TDE-beveiligingsmodus overschakelen
De Azure-portal gebruiken om de TDE-protector over te schakelen van door Microsoft beheerde modus naar BYOK-modus:
- Blader naar het Transparante gegevensversleuteling menu voor een bestaande server of een beheerd exemplaar.
- Selecteer de optie voor de klant-beheerde sleutel .
- Selecteer de sleutelkluis en sleutel die u wilt gebruiken als TDE-beveiliging.
- Selecteer opslaan.
Verwante inhoud
Als er een beveiligingsrisico is, leert u hoe u een mogelijk aangetaste TDE-beveiliging verwijdert: Een mogelijk aangetaste sleutel verwijderen.
Aan de slag met Azure Key Vault-integratie en Bring Your Own Key-ondersteuning voor TDE: TDE inschakelen met uw eigen sleutel uit Key Vault met behulp van PowerShell.