Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:Azure SQL Database
Azure SQL Managed Instance
Dit artikel laat zien hoe je een sleutel uit Azure Key Vault kunt gebruiken voor transparante data-encryptie (TDE) in de Azure SQL Database. Ga naar TDE met door de klant beheerde sleutels in Azure Key Vaultvoor meer informatie over de TDE met Azure Key Vault-integratie - ByOk -ondersteuning (Bring Your Own Key). Als je Azure-portaalinstructies wilt over hoe je TDE inschakelt met een door de klant beheerde sleutel van Azure Key Vault, zie dan Server maken die is geconfigureerd met een door de gebruiker toegewezen beheerde identiteit en door de klant beheerde TDE.
Notitie
Azure SQL Database ondersteunt zowel asymmetrische (RSA) als symmetrische (AES) sleutels voor door klanten beheerde Transparent Data Encryption, afhankelijk van de configuratie. Ondersteuning voor AES-sleutels (symmetrische) is momenteel beschikbaar als openbare preview en is beperkt tot Azure SQL Database. Je kunt deze mogelijkheid in de loop van de tijd zien verschijnen, afhankelijk van je regio en de status van dienstuitrol. Voor details, zie Transparent Data Encryption with customer-managed keys (BYOK).
Vereisten voor PowerShell
- U moet een Azure-abonnement hebben en een beheerder van dat abonnement zijn.
- [Aanbevolen maar optioneel] Zorg voor een hardwarebeveiligingsmodule (HSM) of een lokaal sleutelarchief voor het maken van een lokale kopie van het TDE Protector-sleutelmateriaal.
- U moet Azure PowerShell hebben geïnstalleerd en uitgevoerd.
- Maak een Azure Key Vault en Sleutel die u voor TDE wilt gebruiken.
-
Instructies voor het gebruik van een HSM (Hardware Security Module) en Azure Key Vault
- De sleutelkluis moet de volgende eigenschap hebben om te worden gebruikt voor TDE:
- voorlopig verwijderen en beveiliging tegen opschonen
-
Instructies voor het gebruik van een HSM (Hardware Security Module) en Azure Key Vault
- De sleutel moet de volgende kenmerken hebben die moeten worden gebruikt voor TDE:
- De activeringsdatum (indien ingesteld) moet een datum en tijd in het verleden zijn
- De vervaldatum (indien ingesteld) moet een toekomstige datum en tijd zijn
- De sleutel moet de status Ingeschakeld hebben
- In staat om op te halen, sleutel in te pakken, sleutel uit te pakken bewerkingen uit te voeren.
- Als u een Azure Key Vault beheerde HSM-sleutel wilt gebruiken, volgt u de instructies voor het maken en activeren van een beheerde HSM met behulp van Azure CLI
Zie Azure PowerShell-installeren voor installatie-instructies voor Az PowerShell-module.
Zie voor specifieke informatie over Azure Key Vault de PowerShell-instructies van Azure Key Vault en hoe u soft-delete van Azure Key Vault met PowerShell kunt gebruiken.
Een Microsoft Entra-identiteit toewijzen aan uw server
Als je een bestaande server hebt, gebruik dan de volgende instructies om een Microsoft Entra-identiteit aan je server toe te voegen:
$server = Set-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -AssignIdentity
Als je een server maakt, gebruik dan de New-AzSqlServer-cmdlet met de -Identity tag om een Microsoft Entra-identiteit toe te voegen tijdens het serveraanmaken:
$server = New-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -Location <RegionName> `
-ServerName <LogicalServerName> -ServerVersion "12.0" -SqlAdministratorCredentials <PSCredential> -AssignIdentity
Azure Key Vault-machtigingen verlenen aan uw server
Gebruik de cmdlet Set-AzKeyVaultAccessPolicy om uw server toegang te verlenen tot de sleutelkluis voordat u een sleutel uit de sleutelkluis voor TDE gebruikt.
Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> `
-ObjectId $server.Identity.PrincipalId -PermissionsToKeys get, wrapKey, unwrapKey
Om rechten toe te voegen aan je server op een Managed HSM, voeg je de lokale RBAC-rol Managed HSM Crypto Service Encryption User toe aan de server. Deze rol stelt de server in staat om wrap key, unwrap key en get bewerkingen uit te voeren op de sleutels in de Managed HSM. Zie Beheer van beheerde HSM-rollen voor meer informatie.
De Azure Key Vault-sleutel toevoegen aan de server en de TDE-beveiliging instellen
- Gebruik de cmdlet Get-AzKeyVaultKey om de sleutel-id op te halen uit de sleutelkluis.
- Gebruik de cmdlet Add-AzSqlServerKeyVaultKey om de sleutel vanuit Azure Key Vault toe te voegen aan de server.
- Gebruik de Set-AzSqlServerTransparentDataEncryptionProtector cmdlet om de sleutel in te stellen als de TDE-protector voor alle serverbronnen.
- Gebruik de cmdlet Get-AzSqlServerTransparentDataEncryptionProtector om te controleren of de TDE-protector is geconfigureerd zoals bedoeld.
Notitie
Voor beheerde HSM-sleutels gebruikt u Az.Sql 2.11.1-versie van PowerShell of hoger.
Notitie
De gecombineerde lengte van de sleutelkluisnaam en sleutelnaam mag niet hoger zijn dan 94 tekens.
Advies
Versiegebonden en versieloze Azure Key Vault-sleutels gebruiken voor TDE
Bij het instellen van de TDE-beveiliging kun je een Azure Key Vault-sleutel refereren door een specifieke sleutelversie of een versieloze sleutelidentificatie te gebruiken.
In beide gevallen wordt in Azure SQL Database altijd de meest recente ingeschakelde versie van de sleutel in Azure Key Vault of Azure Key Vault Managed HSM opgelost en gebruikt. Gebruik versieloze sleutel-id's om te voorkomen dat een specifieke sleutelversie wordt ingesloten in de configuratie van de TDE-protector.
Versieloze sleutel-id's worden momenteel alleen ondersteund voor Azure SQL Database.
Voorbeelden:
Sleutel-id die een specifieke versie bevat
https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>Versieloze sleutel-id
https://<key-vault-name>.vault.azure.net/keys/<key-name>
# 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>
# confirm the TDE protector was configured as intended
Get-AzSqlServerTransparentDataEncryptionProtector -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName>
TDE inschakelen
Gebruik de cmdlet Set-AzSqlDatabaseTransparentDataEncryption om TDE in te schakelen.
Set-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> -State "Enabled"
Nu heeft de database TDE ingeschakeld met een encryptiesleutel in Azure Key Vault.
De versleutelingsstatus en versleutelingsactiviteit controleren
Gebruik de cmdlet Get-AzSqlDatabaseTransparentDataEncryption om de encryptiestatus van een database te verkrijgen.
# get the encryption state of the database
Get-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> `
Nuttige PowerShell-cmdlets
Gebruik de cmdlet Set-AzSqlDatabaseTransparentDataEncryption om TDE uit te schakelen.
Set-AzSqlDatabaseTransparentDataEncryption -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> ` -DatabaseName <DatabaseName> -State "Disabled"Gebruik de cmdlet Get-AzSqlServerKeyVaultKey om de lijst met Azure Key Vault-sleutels te retourneren die aan de server zijn toegevoegd.
# KeyId is an optional parameter, to return a specific key version Get-AzSqlServerKeyVaultKey -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>Gebruik de Remove-AzSqlServerKeyVaultKey om een Azure Key Vault-sleutel van de server te verwijderen.
# the key set as the TDE Protector cannot be removed Remove-AzSqlServerKeyVaultKey -KeyId <KeyVaultKeyId> -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Probleemoplossing
Als de sleutelkluis niet gevonden kan worden, zorg dan dat je in het juiste abonnement zit.
Get-AzSubscription -SubscriptionId <SubscriptionId>
Als je de nieuwe sleutel niet aan de server kunt toevoegen, of als je de nieuwe sleutel niet kunt updaten als TDE Protector, controleer dan de volgende voorwaarden:
- De sleutel zou geen vervaldatum moeten hebben.
- De sleutel moet de ophalen, de sleutelverpakken, en de sleutel uitpakken.
TDE BYOK Azure Synapse Analytics
Zie Azure Synapse Analytics SQL documentation voor TDE BYOK-documentatie over Azure Synapse Analytics. Zie Azure Synapse Analytics-versleutelingvoor documentatie over Transparent Data Encryption voor toegewezen SQL-pools in Synapse-werkruimten.