Criptografia para workspaces do Azure Synapse Analytics
Este artigo descreverá:
- Criptografia de dados inativos em espaços de trabalho do Synapse Analytics.
- Configuração de espaços de trabalho do Synapse para habilitar a criptografia com uma chave gerenciada pelo cliente.
- Gerenciamento de chaves usadas para criptografar dados em espaços de trabalho.
Criptografia de dados em repouso
Uma solução completa de criptografia em repouso garante que os dados nunca sejam persistidos no formato não criptografado. A criptografia dupla de dados inativos reduz as ameaças com duas camadas separadas de criptografia para proteger contra comprometimentos de qualquer camada única. O Azure Synapse Analytics oferece uma segunda camada de criptografia para os dados em seu espaço de trabalho com uma chave gerenciada pelo cliente. Essa chave é protegida em seu Azure Key Vault, o que permite que você assuma a propriedade do gerenciamento e da rotação de chaves.
A primeira camada de criptografia para os serviços do Azure é habilitada com chaves gerenciadas pela plataforma. Por padrão, os discos do Azure e os dados nas contas de armazenamento do Azure são automaticamente criptografados em repouso. Saiba mais sobre como a criptografia é usada no Microsoft Azure na Visão geral da criptografia do Azure.
Observação
Alguns itens considerados conteúdo do cliente, como nomes de tabela, de objeto e de índice, podem ser transmitidos em arquivos de log para obter suporte e solução de problemas da Microsoft.
Criptografia do Azure Synapse
Esta seção ajudará você a entender melhor como a criptografia de chave gerenciada pelo cliente é habilitada e imposta em espaços de trabalho do Synapse. Essa criptografia usa chaves existentes ou novas chaves geradas no Azure Key Vault. Uma única chave é usada para criptografar todos os dados em um espaço de trabalho. Os workspaces do Azure Synapse dão suporte a chaves de tamanho de bytes RSA 2048 e 3072, bem como chaves RSA-HSM.
Observação
Os espaços de trabalho do Synapse não dão suporte ao uso das chaves EC, EC-HSM e oct-HSM para criptografia.
Os dados nos seguintes componentes do Synapse são criptografados com a chave gerenciada pelo cliente configurada no nível do espaço de trabalho:
- Pools de SQL
- Pools de SQL dedicados
- Pools de SQL sem servidor
- Pools do Data Explorer
- Pools do Apache Spark
- Runtime de integração, pipeline e conjunto de dados do Azure Data Factory.
Configuração de criptografia do espaço de trabalho
Os espaços de trabalho podem ser configurados para habilitar a criptografia dupla com uma chave gerenciada pelo cliente no momento de sua criação. Habilite a criptografia dupla usando uma chave gerenciada pelo cliente na guia "Segurança" ao criar seu novo espaço de trabalho. Você pode optar por inserir um URI de identificador de chave ou selecionar de uma lista de cofres de chaves na mesma região que o espaço de trabalho. A Key Vault em si precisa ter proteção de limpeza habilitada.
Importante
A definição de configuração para a criptografia dupla não pode ser alterada depois que o espaço de trabalho é criado.
Acesso à chave e ativação do espaço de trabalho
O modelo de criptografia do Azure Synapse com chave gerenciada pelo cliente envolve espaço de trabalho acessando as chaves no Azure Key Vault para criptografar e descriptografar, conforme necessário. As chaves tornam-se acessíveis para o workspace por meio de uma política de acesso ou do RBAC do Azure Key Vault. Ao conceder permissões por meio de uma política de acesso do Azure Key Vault, escolha a opção "Somente aplicativo" durante a criação da política (selecione a identidade gerenciada do espaço de trabalho e não a adicione como um aplicativo autorizado).
A identidade gerenciada do espaço de trabalho deve receber as permissões necessárias no cofre de chaves antes que o espaço de trabalho possa ser ativado. Essa abordagem em fases para a ativação do espaço de trabalho garante que os dados no espaço de trabalho sejam criptografados com a chave gerenciada pelo cliente. A criptografia pode ser habilitada ou desabilitada para pools de SQL dedicados individuais. Por padrão, cada pool dedicado não está habilitado para criptografia.
Usar uma identidade gerenciada atribuída pelo usuário
Você pode configurar os espaços de trabalhos para usa uma Identidade Gerenciada Atribuída ao Usuário para acessar sua chave gerenciada pelo cliente armazenada no Azure Key Vault. Configure uma identidade gerenciada atribuída pelo usuário para evitar a ativação em fases do seu workspace do Azure Synapse ao usar a criptografia dupla com chaves gerenciadas pelo cliente. A função interna de colaborador de identidade gerenciada é necessária para atribuir uma Identidade Gerenciada Atribuída ao Usuário a um espaço de trabalho do Azure Synapse.
Observação
Identidades Gerenciadas Atribuídas ao Usuário não podem ser configuradas para acessar a chave gerenciada pelo cliente quando o Azure Key Vault está atrás de um firewall.
Permissões
Para criptografar ou descriptografar dados inativos, a identidade gerenciada precisa ter as permissões a seguir. Da mesma forma, se você estiver usando um modelo do Resource Manager para criar uma chave, o parâmetro 'keyOps' do modelo precisará ter as seguintes permissões:
- WrapKey (para inserir uma chave no Key Vault ao criar uma nova chave).
- UnwrapKey (para obter a chave para descriptografia).
- Get (para ler a parte pública de uma chave)
Ativação do espaço de trabalho
Se você não configurar uma identidade gerenciada atribuída ao usuário para acessar as chaves gerenciadas pelo cliente durante a criação do espaço de trabalho, o espaço de trabalho permanecerá no estado "Pendente" até que a ativação seja realizada com sucesso. O espaço de trabalho deve ser ativado antes que você possa usar totalmente toda a funcionalidade. Por exemplo, você só pode criar um novo pool de SQL dedicados depois que a ativação for realizada com sucesso. Permita à identidade gerenciada do workspace o acesso ao cofre de chaves e selecione o link de ativação na faixa do portal do Azure no workspace. Depois que a ativação for concluída com êxito, o workspace estará pronto para ser usado, com a garantia de que todos os dados contidos nele serão protegidos com a chave gerenciada pelo cliente. Conforme observado anteriormente, o cofre de chaves deve ter a proteção de limpeza habilitada para que a ativação tenha sucesso.
Gerencie a chave gerenciada pelo cliente do espaço de trabalho
Você pode alterar a chave gerenciada pelo cliente usada para criptografar dados da página Criptografia no portal do Azure. No mesmo local, você pode escolher uma nova chave usando um identificador de chave, ou selecionar os cofres de chaves aos quais você tem acesso na mesma região que o espaço de trabalho. Se você escolher uma chave em um cofre de chaves diferente daqueles já usados, conceda as permissões "Get", "Wrap" e "Unwrap" da identidade gerenciada do workspace no novo cofre de chaves. O espaço de trabalho validará seu acesso ao novo cofre de chaves, e todos os dados no espaço de trabalho serão criptografados novamente com a nova chave.
Importante
Ao alterar a chave de criptografia de um espaço de trabalho, mantenha a chave antiga até substituí-la no espaço de trabalho por uma nova chave. Isso permite a descriptografia de dados com a chave antiga antes que ela seja criptografada novamente com a nova chave. O estado do pool de SQL (Online/Offline) não afeta o processo de rotação da CMK (chave gerenciada pelo cliente) do espaço de trabalho.
Os pools de SQL que estiverem offline durante a rotação do CMK permanecerão criptografados com a versão de chave ou chave antiga. Se a versão de chave ou chave antiga estiver desabilitada ou expirar, os pools não serão retomados, pois a descriptografia não será possível. Ao retomar esses pools, a versão de chave ou chave antiga precisa 1) ser habilitada e 2) ter uma data de validade definida no futuro para permitir a descriptografia e a recriptografia subsequente com a versão de chave ou nova chave.
Para garantir uma rotação suave do CMK, se alguns pools de SQL estiverem offline durante o processo, a versão de chave ou chave antiga deverá permanecer habilitada e ter data de validade dela definida no futuro. Isso é crucial até que os pools offline sejam retomados e criptografados novamente com a versão de chave ou nova chave.
É altamente recomendável não excluir versões de chave ou chaves antigas, pois elas ainda podem ser necessárias para descriptografar backups. Em vez disso, depois que todos os pools de SQL tiverem sido criptografados novamente com a versão de chave ou nova chave, desabilite a versão de chave ou chave antiga. Isso garante que a versão de chave ou chave antiga permaneça disponível para descriptografar backups mais antigos, se necessário.
As políticas do Azure Key Vaults para rotação periódica automática de chaves, ou ações nas chaves podem resultar na criação de novas versões de chave. Você pode optar por criptografar novamente todos os dados no espaço de trabalho com a versão mais recente da chave ativa. Para criptografar novamente, altere a chave no portal do Azure para uma chave temporária e, em seguida, volte para a chave que você deseja usar para criptografia. Por exemplo, para atualizar a criptografia de dados usando a versão mais recente da chave de discagem ativa Key1, altere a chave gerenciada pelo cliente do espaço de trabalho para a chave temporária, Key2. Aguarde a conclusão da criptografia com Key2. Em seguida, alterne a chave gerenciada pelo cliente do espaço de trabalho de volta para Key1. Os dados no espaço de trabalho serão criptografados novamente com a versão mais recente da Key1.
Observação
O Azure Synapse Analytics não criptografa novamente os dados de forma automática quando novas versões de chave são criadas. Para garantir a consistência em seu espaço de trabalho, force a nova criptografia dos dados usando o processo detalhado acima.
SQL Transparent Data Encryption com chaves gerenciadas pelo serviço
O SQL Transparent Data Encryption (TDE) está disponível para pools de SQL dedicados em espaços de trabalho não habilitados para criptografia dupla. Nesse tipo de espaço de trabalho, uma chave gerenciada por serviço é usada para fornecer criptografia dupla para os dados nos pools de SQL dedicados. O TDE com a chave gerenciada por serviço pode ser habilitado ou desabilitado para pools de SQL dedicados individuais.
Cmdlets do Banco de Dados SQL do Azure e do Azure Synapse
Para configurar a TDE por meio do PowerShell, você deve estar conectado como o proprietário do Azure, o Colaborador ou o Gerenciador de segurança do SQL.
Use os cmdlets a seguir para o workspace do Azure Synapse.
Cmdlet | Descrição |
---|---|
Set-AzSynapseSqlPoolTransparentDataEncryption | Habilita ou desabilita a TDE em um pool de SQL. |
Get-AzSynapseSqlPoolTransparentDataEncryption | Obtém o status de TDE para um pool de SQL. |
New-AzSynapseWorkspaceKey | Adiciona uma chave do Key Vault a um workspace. |
Get-AzSynapseWorkspaceKey | Obtém as chaves do Key Vault para um workspace |
Update-AzSynapseWorkspace | Define o protetor de TDE para um workspace. |
Get-AzSynapseWorkspace | Obtém o protetor de Transparent Data Encryption |
Remove-AzSynapseWorkspaceKey | Remove uma chave do Key Vault de um workspace. |