Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: pools de SQL dedicados do Azure Synapse Analytics (antes conhecido como SQL DW)
Dica
Microsoft Fabric Data Warehouse é um armazém relacional de escala empresarial com base de data lake, arquitetura pronta para o futuro, IA integrada e novos recursos. Se você não estiver familiarizado com o data warehouse, comece com Fabric Data Warehouse. As cargas de trabalho existentes de pools de SQL dedicados podem ser atualizadas para Fabric para acessar novos recursos em ciência de dados, análise em tempo real e relatórios.
Este artigo explica como usar uma chave do Azure Key Vault para criptografia de dados transparente (TDE) no Azure Synapse Analytics. Para saber mais sobre a integração da TDE com o Azure Key Vault - Suporte a Bring Your Own Key (BYOK), visite TDE com chaves gerenciadas pelo cliente no Azure Key Vault.
Note
Este artigo aborda pools SQL dedicados independentes (anteriormente SQL DW).
- Para pools SQL dedicados do Azure Synapse Analytics (anteriormente SQL DW), defina o protetor TDE no nível do servidor. Todos os bancos de dados criptografados associados a esse servidor herdam o protetor TDE.
- Criptografe os dados em pools SQL dedicados e pools SQL serverless em um workspace Synapse usando a chave gerenciada pelo cliente configurada no nível do workspace. Para obter mais informações sobre a criptografia de dados transparente para pools de SQL dedicados dentro de workspaces do Synapse, consulte a criptografia do Azure Synapse Analytics.
Pré-requisitos do PowerShell
- É necessário ter uma assinatura do Azure e ser um administrador nessa assinatura.
- [Recomendado, mas opcional] Tenha um HSM (Módulo de Segurança de Hardware) ou armazenamento de chave local para criar uma cópia local do material da chave do Protetor de TDE.
- É necessário ter o Azure PowerShell instalado e funcionando.
- Crie um Azure Key Vault e Chave para usar na TDE.
-
Instruções para usar um HSM (módulo de segurança de hardware) e o Azure Key Vault
- O cofre de chaves deve ter a seguinte propriedade a ser usada para TDE:
- Exclusão temporária e proteção contra limpeza
-
Instruções para usar um HSM (módulo de segurança de hardware) e o Azure Key Vault
- A chave deve ter os seguintes atributos a serem usados para TDE:
- A data de ativação (se definida) deve ser uma data e hora no passado
- A data de expiração (se definida) deve ser uma data e hora futuras
- A chave deve estar no estado Habilitado
- Capaz de realizar operações get, codificar chave, decodificar chave
- Para usar uma chave HSM gerenciada Azure Key Vault, siga as instruções para criar e ativar um HSM Gerenciado usando CLI do Azure
Para obter instruções de instalação do módulo Az do PowerShell, confira Instalar o Azure PowerShell.
Para obter detalhes sobre o Azure Key Vault, consulte as instruções do PowerShell do Azure Key Vault e como usar a exclusão reversível do Azure Key Vault com o PowerShell.
Atribuir uma identidade do Microsoft Entra ao seu servidor
Se você já tem um servidor, use as seguintes instruções para adicionar uma identidade Microsoft Entra ao seu servidor:
$server = Set-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -AssignIdentity
Se você estiver criando um servidor, use o cmdlet New-AzSqlServer com a -Identity tag para adicionar uma identidade Microsoft Entra durante a criação do servidor:
$server = New-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -Location <RegionName> `
-ServerName <LogicalServerName> -ServerVersion "12.0" -SqlAdministratorCredentials <PSCredential> -AssignIdentity
Conceder permissões do Azure Key Vault ao servidor
Use o cmdlet Set-AzureRmKeyVaultAccessPolicy para conceder ao servidor acesso ao cofre de chaves antes de usar uma chave dele para TDE.
Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> `
-ObjectId $server.Identity.PrincipalId -PermissionsToKeys get, wrapKey, unwrapKey
Para adicionar permissões ao seu servidor em um HSM Gerenciado, adicione o papel RBAC local de Managed HSM Crypto Service Encryption User ao servidor. Esse papel permite que o servidor execute get, wrap key, e unwrap key operações nas chaves do HSM Gerenciado. Para obter mais informações, confira Gerenciamento de funções do HSM Gerenciado.
Adicionar a chave do Azure Key Vault ao servidor e definir o Protetor de TDE
- Use o cmdlet Get-AzKeyVaultKey para recuperar a ID da chave do cofre de chaves.
- Use o cmdlet Add-AzSqlServerKeyVaultKey para adicionar a chave do Azure Key Vault ao servidor.
- Use o cmdlet Set-AzureRmSqlServerTransparentDataEncryptionProtector para definir a chave como o protetor de TDE a todos os recursos do servidor.
- Use o cmdlet Get-AzureRmSqlServerTransparentDataEncryptionProtector para confirmar que o protetor de TDE foi configurado conforme o esperado.
Note
Para chaves HSM gerenciadas, use a versão Az.Sql 2.11.1 do PowerShell ou superior.
Note
O comprimento combinado do nome do cofre de chaves e do nome da chave não pode exceder 94 caracteres.
Dica
Usando chaves versionadas do Azure Key Vault para TDE
Ao definir o protetor TDE, faça referência a uma chave do Azure Key Vault usando uma versão específica da chave.
Example:
Identificador de chave que inclui uma versão específica
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>
Ativar TDE
Use o cmdlet Set-AzureRMSqlDatabaseTransparentDataEncryption para ativar a TDE.
Set-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> -State "Enabled"
Agora, o banco de dados ou data warehouse tem o TDE habilitado com uma chave de criptografia no Azure Key Vault.
Verificar o estado de criptografia e a atividade de criptografia
Use o Get-AzSqlDatabaseTransparentDataEncryption para obter o estado de criptografia para um banco de dados ou data warehouse.
# get the encryption state of the database
Get-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> `
Cmdlets úteis do PowerShell
Use o cmdlet Set-AzureRMSqlDatabaseTransparentDataEncryption para desativar a TDE.
Set-AzSqlDatabaseTransparentDataEncryption -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> ` -DatabaseName <DatabaseName> -State "Disabled"Use o cmdlet Get-AzSqlServerKeyVaultKey para retornar a lista de chaves do Azure Key Vault adicionadas ao servidor.
# KeyId is an optional parameter, to return a specific key version Get-AzSqlServerKeyVaultKey -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>Use o Remove-AzSqlServerKeyVaultKey para remover uma chave do Azure Key Vault do servidor.
# the key set as the TDE Protector cannot be removed Remove-AzSqlServerKeyVaultKey -KeyId <KeyVaultKeyId> -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Resolução de problemas
Se o cofre de chaves não for encontrado, certifique-se de estar na assinatura correta.
Get-AzSubscription -SubscriptionId <SubscriptionId>
Se você não puder adicionar a nova chave ao servidor, ou se não puder atualizar a nova chave como o Protetor TDE, verifique as seguintes condições:
- A chave de API não deveria ter data de validade.
- A chave deve ter as operações get, codificar chave e decodificar chave habilitadas.
Conteúdo relacionado
- Para aprender como rotacionar o TDE Protector de um servidor para cumprir os requisitos de segurança, veja Rotacionar o protetor da Transparent Data Encryption usando o PowerShell.
- Para aprender como remover um Protetor TDE potencialmente comprometido, veja Remover uma chave potencialmente comprometida.