Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Dedizierte SQL-Pools (früher SQL DW) in Azure Synapse Analytics
Tip
Microsoft Fabric Data Warehouse ist ein relationales Enterprise-Warehouse auf einem Data Lake-Fundament mit zukunftsfähiger Architektur, integrierter KI und neuen Features. Wenn Sie mit Data Warehouse noch nicht vertraut sind, beginnen Sie mit Fabric Data Warehouse. Vorhandene dedizierte SQL-Pool-Workloads können auf Fabric aktualisieren, um neue Funktionen in den Bereichen Data Science, Echtzeitanalyse und Berichterstellung zu nutzen.
Dieser Artikel erklärt, wie man einen Schlüssel aus Azure Key Vault für transparente Datenverschlüsselung (TDE) in Azure Synapse Analytics verwendet. Weitere Informationen zur Integration von TDE mit Azure Key Vault und BYOK-Unterstützung (Bring Your Own Key) finden Sie unter TDE mit vom Kunden verwalteten Schlüsseln in Azure Key Vault.
Note
Dieser Artikel behandelt eigenständige dedizierte SQL-Pools (früher SQL DW).
- Für Azure Synapse Analytics dedizierte SQL-Pools (früher SQL DW) setzen Sie den TDE-Schutz auf Serverebene. Alle verschlüsselten Datenbanken, die diesem Server zugeordnet sind, übernehmen die TDE-Schutzvorrichtung.
- Verschlüsseln Sie die Daten in dedizierten SQL-Pools und serverlosen SQL-Pools in einem Synapse-Arbeitsbereich, indem Sie den vom Kunden verwalteten Schlüssel verwenden, der auf Arbeitsbereichsebene konfiguriert ist. Weitere Informationen zur transparenten Datenverschlüsselung für dedizierte SQL-Pools in Synapse-Arbeitsbereichen finden Sie unter Azure Synapse Analytics-Verschlüsselung.
Voraussetzungen für PowerShell
- Sie müssen über ein Azure-Abonnement verfügen und ein Administrator für dieses Abonnement sein.
- [Empfohlen, aber optional] Sie sollten über ein Hardwaresicherheitsmodul (HSM) oder einen lokalen Schlüsselspeicher zum Erstellen einer lokalen Kopie des Schlüsselmaterials der TDE-Schutzvorrichtung verfügen.
- Azure PowerShell muss installiert sein und ausgeführt werden.
- Erstellen Sie eine Azure Key Vault-Instanz und einen Schlüssel zur Verwendung für TDE.
-
Anweisungen für die Verwendung eines Hardwaresicherheitsmoduls (HARDWARE Security Module, HSM) und Azure Key Vault
- Der Schlüsseltresor muss die folgende Eigenschaft aufweisen, um für TDE verwendet werden zu können:
- Vorläufiges Löschen und Löschschutz
-
Anweisungen für die Verwendung eines Hardwaresicherheitsmoduls (HARDWARE Security Module, HSM) und Azure Key Vault
- Der Schlüssel muss die folgenden Attribute aufweisen, um für TDE verwendet werden zu können:
- Das Aktivierungsdatum (sofern festgelegt) muss ein Datum und eine Uhrzeit in der Vergangenheit sein.
- Das Ablaufdatum (sofern festgelegt) muss ein Datum und eine Uhrzeit in der Zukunft sein.
- Der Schlüssel muss sich im Zustand „Aktiviert“ befinden.
- Fähigkeit zum Ausführen des get-, wrap key- und unwrap key-Vorgangs
- Um einen Azure Key Vault verwalteten HSM-Schlüssel zu verwenden, folgen Sie den Anweisungen zum Erstellen und Aktivieren eines verwalteten HSM mithilfe von Azure CLI
Anweisungen zur Installation des Az PowerShell-Moduls finden Sie unter Install Azure PowerShell (Installieren von Azure PowerShell).
Einzelheiten zu Azure Key Vault finden Sie in den Anweisungen zur Verwendung von PowerShell mit Azure Key Vault und darin, wie Sie Azure Key Vault Soft-Delete mit PowerShell verwenden.
Zuweisen einer Microsoft Entra-Identität zu Ihrem Server
Wenn Sie einen bestehenden Server haben, verwenden Sie die folgenden Anweisungen, um eine Microsoft Entra-Identität zu Ihrem Server hinzuzufügen:
$server = Set-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -AssignIdentity
Wenn Sie einen Server erstellen, verwenden Sie das New-AzSqlServer-Cmdlet mit dem -Identity Tag, um während der Servererstellung eine Microsoft Entra-Identität hinzuzufügen:
$server = New-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -Location <RegionName> `
-ServerName <LogicalServerName> -ServerVersion "12.0" -SqlAdministratorCredentials <PSCredential> -AssignIdentity
Erteilen von Azure Key Vault-Berechtigungen für Ihren Server
Verwenden Sie das Cmdlet Set-AzKeyVaultAccessPolicy, um Ihrem Server Zugriff auf den Schlüsseltresor zu gewähren, bevor Sie einen Schlüssel daraus für TDE verwenden.
Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> `
-ObjectId $server.Identity.PrincipalId -PermissionsToKeys get, wrapKey, unwrapKey
Um Ihrem Server auf einem verwalteten HSM Berechtigungen hinzuzufügen, fügen Sie dem Server die lokale RBAC-Rolle Managed HSM Crypto Service Encryption User hinzu. Diese Rolle ermöglicht es dem Server, wrap key, unwrap key und get Operationen auf den Schlüsseln im verwalteten HSM durchzuführen. Weitere Informationen finden Sie unter Verwaltete HSM-Rollenverwaltung.
Hinzufügen des Azure Key Vault-Schlüssels zum Server und Festlegen der TDE-Schutzkomponente
- Verwenden Sie das Cmdlet "Get-AzKeyVaultKey ", um die Schlüssel-ID aus dem Schlüsseltresor abzurufen.
- Verwenden Sie das Add-AzSqlServerKeyVaultKey-Cmdlet , um den Schlüssel aus dem Azure Key Vault zum Server hinzuzufügen.
- Legen Sie den Schlüssel mit dem Cmdlet Set-AzSqlServerTransparentDataEncryptionProtector als TDE-Schutzvorrichtung für alle Serverressourcen fest.
- Vergewissern Sie sich mit dem Cmdlet Get-AzSqlServerTransparentDataEncryptionProtector, dass die TDE-Schutzvorrichtung wie vorgesehen konfiguriert wurde.
Note
Verwenden Sie für verwaltete HSM-Schlüssel Az.Sql 2.11.1-Version von PowerShell oder höher.
Note
Die kombinierte Länge für den Schlüssel-Vault-Namen und den Schlüsselnamen darf 94 Zeichen nicht überschreiten.
Tip
Verwendung von versionierten Azure Key Vault Schlüsseln für TDE
Beim Setzen des TDE-Schutzes verweisen Sie auf einen Azure Key Vault-Schlüssel, indem Sie eine bestimmte Schlüsselversion verwenden.
Example:
Schlüsselkennung, die eine bestimmte Version enthält
https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>
# 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>
Aktivieren von TDE
Aktivieren Sie TDE mit dem Cmdlet Set-AzSqlDatabaseTransparentDataEncryption.
Set-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> -State "Enabled"
Die Datenbank oder das Data Warehouse hat nun TDE aktiviert und verwendet einen Verschlüsselungsschlüssel, der im Azure Key Vault gespeichert ist.
Überprüfen des Verschlüsselungsstatus und der Verschlüsselungsaktivität
Verwenden Sie Get-AzSqlDatabaseTransparentDataEncryption, um den Verschlüsselungsstatus für eine Datenbank oder ein Data Warehouse abzurufen.
# get the encryption state of the database
Get-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> `
Nützliche PowerShell-Cmdlets
- PowerShell
- Azure CLI
Aktivieren Sie TDE mit dem Cmdlet Set-AzSqlDatabaseTransparentDataEncryption.
Set-AzSqlDatabaseTransparentDataEncryption -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> ` -DatabaseName <DatabaseName> -State "Disabled"Verwenden Sie das Cmdlet Get-AzSqlServerKeyVaultKey , um die Liste der azure Key Vault-Schlüssel zurückzugeben, die dem Server hinzugefügt wurden.
# KeyId is an optional parameter, to return a specific key version Get-AzSqlServerKeyVaultKey -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>Verwenden Sie den Remove-AzSqlServerKeyVaultKey , um einen Azure Key Vault-Schlüssel vom Server zu entfernen.
# the key set as the TDE Protector cannot be removed Remove-AzSqlServerKeyVaultKey -KeyId <KeyVaultKeyId> -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Problembehandlung
Wenn der Schlüsseltresor nicht gefunden werden kann, stelle sicher, dass du im richtigen Abonnement bist.
- PowerShell
- Azure CLI
Get-AzSubscription -SubscriptionId <SubscriptionId>
Wenn Sie den neuen Schlüssel nicht dem Server hinzufügen können oder den neuen Schlüssel nicht als TDE Protector festlegen können, überprüfen Sie die folgenden Bedingungen:
- Der Schlüssel hat kein Verfallsdatum.
- Für den Schlüssel müssen die get-, wrap key- und unwrap key-Vorgänge aktiviert sein.
Verwandte Inhalte
- Informationen zum Rotieren des TDE-Schutzes eines Servers, um Sicherheitsanforderungen zu erfüllen, finden Sie unter Rotieren des Transparent Data Encryption-Schutzes mit PowerShell.
- Um zu erfahren, wie man einen potenziell kompromittierten TDE-Protector entfernt, siehe einen potenziell kompromittierten Schlüssel entfernen.