Proteja a sua Base de Dados do Azure para MySQL

Base de Dados do Azure para MySQL é um serviço de base de dados relacional totalmente gerido que oferece alta disponibilidade, backups automáticos e alojamento escalável compatível com MySQL. Proteger as suas implementações flexíveis de servidores ajuda a proteger dados sensíveis, reduzir a exposição à identidade e à rede, e a suportar os requisitos de conformidade.

Este artigo fornece recomendações de segurança para ajudar a proteger a sua implementação do Base de Dados do Azure para MySQL.

As recomendações de segurança neste artigo implementam os princípios do Confiança Zero: "Verificar explicitamente", "Usar acesso com privilégios mínimos" e "Assumir violação". Para obter orientações abrangentes sobre Confiança Zero, consulte o Centro de Orientação Confiança Zero.

Segurança de rede

Os controlos de segurança de rede ajudam a restringir a forma como os clientes acedem às instâncias flexíveis do Base de Dados do Azure para MySQL e reduzem a exposição ao tráfego público da internet.

Gestão de identidade e acesso

Os controlos de identidade e acesso ajudam a centralizar a autenticação, reduzem a exposição a credenciais e aplicam privilégios mínimos tanto para operações de gestão do Azure como para o acesso à base de dados.

  • Use a autenticação Microsoft Entra para acesso à base de dados: Configure a autenticação Microsoft Entra para um servidor flexível do Azure Database Database for MySQL, para que utilizadores e aplicações possam autenticar-se com identidades Microsoft Entra em vez de dependerem apenas de palavras-passe MySQL. Para mais informações, consulte autenticação do Microsoft Entra para o Base de Dados do Azure para MySQL - Servidor Flexível.
  • Utilize a autenticação exclusiva do Microsoft Entra sempre que possível: Desative a autenticação nativa do MySQL depois de migrar os utilizadores e as aplicações para a autenticação do Microsoft Entra, para reduzir as vias de acesso baseadas em palavra-passe ao servidor flexível. Para mais informações, consulte autenticação do Microsoft Entra para Base de Dados do Azure para MySQL - Flexible Server.
  • Use identidades geridas para ligações de aplicações: Use identidades geridas ou principais de serviço com autenticação Microsoft Entra para que as aplicações se liguem ao Base de Dados do Azure para MySQL com tokens em vez de palavras-passe de base de dados incorporadas. Para mais informações, consulte autenticação do Microsoft Entra para Base de Dados do Azure para MySQL - Flexible Server.
  • Atribuir permissões de base de dados com privilégios mínimos: Crie utilizadores dedicados de MySQL ou utilizadores de base de dados mapeados pelo Microsoft Entra para cada aplicação ou função administrativa, e conceda apenas as permissões de esquema, tabela e operação que cada identidade necessita. Para obter mais informações, veja Criar utilizadores na Base de Dados do Azure para MySQL.
  • Impor o Acesso Condicional para administradores da Base de Dados Base de Dados do Azure para MySQL: Aplicar políticas de Acesso Condicional que exijam autenticação multifator para identidades capazes de gerir recursos flexíveis do servidor através de ferramentas do Azure Resource Manager, como o portal Azure, CLI do Azure e Azure PowerShell. Para mais informações, consulte Exigir MFA para gestão do Azure.

Proteção de dados

O Base de Dados do Azure para MySQL encripta os dados em repouso com chaves geridas pelo serviço por defeito. Os controlos seguintes dão-lhe mais controlo sobre a encriptação, gestão de chaves e ligações encriptadas dos clientes.

  • Exigir ligações encriptadas ao cliente: Mantenha require_secure_transport ativado para que as ligações do cliente ao Base de Dados do Azure para MySQL usem encriptação TLS e não enviem tráfego de base de dados em texto claro. Para mais informações, consulte Segurança da Camada de Transporte (TLS) no Base de Dados do Azure para MySQL.
  • Aplicar o TLS 1.3 para servidores MySQL 8.0: Defina tls_version para TLS 1.3 no Base de Dados do Azure para MySQL 8.0 servidores flexíveis depois de confirmar que as aplicações e drivers clientes suportam TLS 1.3. Para mais informações, consulte Segurança da Camada de Transporte (TLS) no Base de Dados do Azure para MySQL.
  • Validar certificados de servidor a partir dos clientes: Configurar aplicações cliente para validar a cadeia de certificados do servidor e confiar apenas nas autoridades de certificação raiz para que rotações rotineiras de CA intermédia ou certificado de servidor não quebrem as ligações seguras. Para mais informações, consulte Segurança da Camada de Transporte (TLS) no Base de Dados do Azure para MySQL.
  • Utilize chaves geridas pelo cliente para o controlo das chaves: Utilize chaves geridas pelo cliente armazenadas no Azure Key Vault ou no Azure Key Vault Managed HSM quando necessitar de segregação de funções, gestão do ciclo de vida das chaves controlada pelo cliente ou controlos de conformidade adicionais para a encriptação de dados em repouso. Para mais informações, consulte Encriptação de dados com chaves geridas pelo cliente para Base de Dados do Azure para MySQL.
  • Proteger as dependências de chaves geridas pelo cliente: Ativar a proteção contra eliminação suave e purga no Key Vault ou HSM Gerido que armazena a chave gerida pelo cliente, atribuir as permissões de chave necessárias à identidade gerida atribuída pelo utilizador ao servidor e monitorizar o acesso à chave, pois a perda de acesso à chave pode tornar o servidor flexível inacessível. Para mais informações, consulte Encriptação de dados com chaves geridas pelo cliente para Base de Dados do Azure para MySQL.

Registo e monitorização

Registar e monitorizar os controlos ajuda-o a detetar atividade suspeita na base de dados, investigar alterações administrativas e preservar provas de auditoria para a conformidade.

Conformidade e governança

Os controlos de conformidade e governação ajudam-no a impor uma configuração segura consistente em frotas de servidores flexíveis do Base de Dados do Azure para MySQL e a proteger os recursos de produção contra alterações acidentais ou não autorizadas.

  • Impor registos de diagnóstico com Azure Policy: Atribuir definições incorporadas do Azure Policy para microsoft.dbformysql/flexibleservers definições de diagnóstico, como políticas que encaminham registos para Log Analytics, Event Hubs ou Storage, para que dados flexíveis de auditoria de servidores sejam recolhidos consistentemente. Para obter mais informações, consulte as Definições de Política Incorporadas do Azure Policy.
  • Aplicar bloqueios de eliminação a servidores de produção: Adicionar um CanNotDelete bloqueio aos recursos flexíveis do servidor Base de Dados do Azure para MySQL para produção para reduzir o risco de eliminação acidental, preservando as alterações operacionais normais. Para obter mais informações, consulte Bloquear seus recursos do Azure para proteger sua infraestrutura.
  • Identifique recursos de bases de dados para governação: Aplique etiquetas como carga de trabalho, ambiente, classificação de dados, proprietário e centro de custos aos recursos flexíveis do Base de Dados do Azure para MySQL, para que atribuições de políticas, consultas de inventário e revisões de custos possam distinguir cargas de trabalho de produção e de bases de dados sensíveis. Para obter mais informações, consulte Usar etiquetas para organizar os seus recursos do Azure e a sua hierarquia de gerenciamento.

Backup e recuperação

Os controlos de backup e recuperação ajudam-no a recuperar de eliminações acidentais, corrupção de dados, interrupções regionais e operações de alteração arriscadas.

Passos seguintes