Entenda a criptografia no MySQL

Concluído

Dados em trânsito

O Banco de Dados do Azure para MySQL dá suporte a conexões criptografadas usando TLS 1.2. Esse protocolo é habilitado por padrão e é gerenciado pelo parâmetro tls_version server. Esse parâmetro permite que você imponha a versão mínima de TLS permitida pelo servidor. Você pode selecionar mais de uma versão, por exemplo, se quiser permitir TLS 1.2 e 1.3. Quando você altera esse parâmetro, você deve reiniciar o servidor para aplicar a alteração.

Screenshot showing the server parameter tls_version page.

Se seu aplicativo cliente não oferecer suporte a conexões criptografadas, você precisará desabilitar conexões criptografadas no Banco de Dados do Azure para MySQL. No portal do Azure, navegue até seu servidor MySQL e, em Configurações , selecione Parâmetros do servidor. Na caixa de pesquisa, digite require_secure_transport. Este parâmetro define se as conexões de cliente devem usar uma conexão segura, ou seja, SSL sobre TCP/IP ou conexões que usam um arquivo de soquete no Unix ou memória compartilhada no Windows. Se o seu aplicativo cliente não oferecer suporte a conexões criptografadas, defina require_secure_transport como OFF.

Nota

Se você definir require_secure_transport como OFF, mas um cliente se conectar com uma conexão criptografada, ela ainda será aceita.

Para usar conexões criptografadas com seus aplicativos cliente, baixe o certificado SSL público no portal do Azure. Navegue até o seu servidor MySQL e, no menu à esquerda, selecione Rede. No menu superior, selecione Baixar certificado SSL. Para permitir que os aplicativos se conectem com segurança ao banco de dados por SSL, salve o arquivo de certificado em seu ambiente local ou no ambiente cliente onde seu aplicativo está hospedado.

Dados inativos

A criptografia de dados em repouso é suportada no mecanismo de armazenamento InnoDB. A criptografia é definida no nível do espaço de tabela e o InnoDB oferece suporte à criptografia para os seguintes espaços de tabela: arquivo por tabela, geral e sistema. Para o MySQL versão 8.0, verifique se o parâmetro do servidor default_table_encryption está definido como ON (ele está OFF por padrão). Para uma tabela criptografada, você também pode criptografar o log de refazer. Opção desativada por predefinição.

Para criptografar uma tabela em um arquivo por espaço de tabela de tabela:

CREATE TABLE myEncryptedTable (myID INT) ENCRYPTION = 'Y';

Se você alterar uma tabela, a cláusula de criptografia deverá ser especificada:

ALTER TABLE myEncryptedTable ENCRYPTION = 'Y';

O Banco de Dados do Azure para MySQL dá suporte à criptografia de dados em repouso por padrão, usando as chaves gerenciadas da Microsoft. Os dados e backups são sempre criptografados no disco e isso não pode ser desativado.