Criptografia de dados para o Banco de Dados do Azure para MySQL usando o portal do Azure

APLICA-SE A: Banco de Dados do Azure para MySQL – Servidor Único

Importante

O Banco de Dados do Azure para servidor único MySQL está no caminho de desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para o servidor flexível MySQL. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para o servidor flexível MySQL, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único MySQL?

Saiba como usar o portal do Azure para configurar e gerenciar a criptografia de dados para o Banco de Dados do Azure para MySQL.

Pré-requisitos para a CLI do Azure

  • É necessário ter uma assinatura do Azure e ser um administrador nessa assinatura.

  • No Azure Key Vault, crie um cofre de chaves e uma chave para usar em uma chave gerenciada pelo cliente.

  • O cofre de chaves deve ter as seguintes propriedades a serem usadas como chave gerenciada pelo cliente:

    • Exclusão reversível

      az resource update --id $(az keyvault show --name \ <key_vault_name> -o tsv | awk '{print $1}') --set \ properties.enableSoftDelete=true
      
    • Limpeza protegida

      az keyvault update --name <key_vault_name> --resource-group <resource_group_name>  --enable-purge-protection true
      
    • Dias de retenção definidos como 90 dias

      az keyvault update --name <key_vault_name> --resource-group <resource_group_name>  --retention-days 90
      
  • A chave deve ter os seguintes atributos a serem usados como chave gerenciada pelo cliente:

    • Sem data de validade
    • Não desabilitado
    • Executar operações get, wrap e unwrap
    • atributo recoverylevel definido como Recuperável (isso requer a exclusão temporária habilitada com o período de retenção definido como 90 dias)
    • Proteção de limpeza habilitada

    Você pode verificar os atributos acima da chave usando o seguinte comando:

    az keyvault key show --vault-name <key_vault_name> -n <key_name>
    
  • O Banco de Dados MySQL do Azure – Servidor Único deve estar no tipo de preço de Uso Geral ou Otimizado para Memória e no armazenamento de uso geral v2. Antes de prosseguir, veja as limitações de criptografia de dados com chaves gerenciadas pelo cliente.

Definir as permissões corretas para operações de chave

  1. No Key Vault, selecione Políticas de acesso>Adicionar Política de Acesso.

    Screenshot of Key Vault, with Access policies and Add Access Policy highlighted

  2. Selecione Permissões de chave e selecione Get, Wrap, Unwrap, bem como a Entidade de segurança, que é o nome do servidor MySQL. Se a entidade de segurança do servidor não puder ser encontrada na lista de entidades de segurança existentes, você precisará registrá-la. Você será solicitado a registrar a entidade de segurança do servidor se, ao tentar configurar a criptografia de dados pela primeira vez, ela falhar.

    Access policy overview

  3. Selecione Salvar.

Definir criptografia de dados para o Banco de Dados do Azure para MySQL

  1. No Banco de Dados do Azure para MySQL, selecione Criptografia de dados para configurar a chave gerenciada pelo cliente.

    Screenshot of Azure Database for MySQL, with Data encryption highlighted

  2. Você pode selecionar um cofre de chaves e um par de chaves ou inserir um identificador de chave.

    Screenshot of Azure Database for MySQL, with data encryption options highlighted

  3. Selecione Salvar.

  4. Para garantir que todos os arquivos (incluindo arquivos temporários) sejam totalmente criptografados, reinicie o servidor.

Usar a criptografia de dados para servidores de restauração ou de réplica

Depois que o Banco de Dados do Azure para MySQL é criptografado com uma chave gerenciada pelo cliente armazenada no Key Vault, qualquer cópia recém-criada do servidor também é criptografada. Você pode fazer essa nova cópia por meio de uma operação de restauração local ou geográfica ou por meio de réplicas de leitura (local/entre regiões). Portanto, para um servidor MySQL criptografado, você pode usar as etapas a seguir para criar um servidor restaurado criptografado.

  1. No servidor, selecione Visão geral>Restaurar.

    Screenshot of Azure Database for MySQL, with Overview and Restore highlighted

    Ou para um servidor habilitado para replicação, no cabeçalho Configurações, selecione Replicação.

    Screenshot of Azure Database for MySQL, with Replication highlighted

  2. Depois que a operação de restauração for concluída, o novo servidor criado será criptografado com a chave do servidor primário. No entanto, os recursos e as opções no servidor estarão desabilitados e o servidor não estará acessível. Isso impede qualquer manipulação de dados, porque a identidade do novo servidor ainda não recebeu permissão para acessar o cofre de chaves.

    Screenshot of Azure Database for MySQL, with Inaccessible status highlighted

  3. Para tornar o servidor acessível, revalide a chave no servidor restaurado. Selecione Criptografia de dados>Revalidar chave.

    Observação

    A primeira tentativa de revalidação falhará, pois a entidade de serviço do novo servidor precisa receber acesso ao cofre de chaves. Para gerar a entidade de serviço, selecione Revalidar chave, o que mostrará um erro, mas gerará a entidade de serviço. Depois disso, consulte estas etapas anteriormente neste artigo.

    Screenshot of Azure Database for MySQL, with revalidation step highlighted

    Você precisará conceder ao cofre de chaves acesso ao novo servidor. Para obter mais informações, confira Atribuir uma política de acesso do Key Vault.

  4. Depois de registrar a entidade de serviço, revalide a chave novamente e o servidor retomará a funcionalidade normal.

    Screenshot of Azure Database for MySQL, showing restored functionality

Próximas etapas