Proteger seu Instância Gerenciada de SQL do Azure

Aplica-se a:Instância Gerenciada de SQL do Azure

Instância Gerenciada de SQL do Azure é um mecanismo de banco de dados PaaS (plataforma como serviço) totalmente gerenciado que fornece quase 100% de compatibilidade com o mecanismo de banco de dados do SQL Server mais recente. Ele combina o melhor de SQL Server com os benefícios operacionais de um serviço totalmente gerenciado. Como geralmente armazena dados comerciais críticos, incluindo registros de clientes, informações financeiras e propriedade intelectual, proteger sua Instância Gerenciada de SQL é essencial para proteger contra violações de dados, acesso não autorizado e violações de conformidade.

Este artigo fornece diretrizes sobre como proteger melhor sua implantação de Instância Gerenciada de SQL do Azure.

Segurança de rede

A segurança de rede para Instância Gerenciada de SQL ajuda a evitar conexões não autorizadas, reduz a exposição a ataques e garante que apenas fontes confiáveis possam acessar seus bancos de dados por meio de controles de acesso e isolamento de rede adequados.

  • Implantar em uma rede virtual dedicada: coloque sua instância gerenciada em uma sub-rede dedicada em sua rede virtual para fornecer isolamento de rede e controlar o fluxo de tráfego. Isso garante que seu banco de dados esteja isolado de outros recursos e protegido por limites de rede. Para obter mais informações, consulte os requisitos de rede virtual.

  • Configurar NSGs (Grupos de Segurança de Rede): aplique NSGs à sub-rede da instância gerenciada de SQL para controlar o tráfego de entrada e saída. Restrinja o acesso a apenas portas e fontes necessárias para minimizar a superfície de ataque. Para obter mais informações, consulte Grupos de Segurança de Rede.

  • Use pontos de extremidade privados quando possível: conecte-se à instância gerenciada de SQL por endereços IP privados para evitar expor seu banco de dados à Internet pública. A conectividade privada reduz o risco de ataques externos e exfiltração de dados. Consulte Conectividade de ponto de extremidade privado para obter mais informações.

  • Desabilite pontos de extremidade públicos por padrão: habilite apenas pontos de extremidade públicos se absolutamente necessário para sua arquitetura. Quando habilitado, use regras de firewall estritas para limitar o acesso somente a endereços IP autorizados. Para obter mais informações, consulte Visão geral do ponto de extremidade público.

  • Implemente ExpressRoute ou VPN para conectividade híbrida: use Azure ExpressRoute ou VPN site a site para conexões seguras e privadas entre sua rede local e o Azure. Isso garante que os dados não percorram a Internet pública. Para obter mais informações, consulte a arquitetura de conectividade.

  • Habilitar a criptografia de conexão: configure todas as conexões de cliente para usar a criptografia em trânsito. Instância Gerenciada de SQL dá suporte ao TLS 1.2 por padrão, garantindo que os dados sejam protegidos durante a movimentação entre os clientes e o banco de dados. O TLS 1.3 também está disponível para Instância Gerenciada de SQL. Para obter mais informações, consulte Segurança de conexão.

Gerenciamento de identidades

Controles fortes de identidade e autenticação garantem que somente usuários e aplicativos autorizados possam acessar seus recursos de Instância Gerenciada de SQL, fornecendo gerenciamento centralizado de identidades e controle de ciclo de vida de conta mais fácil.

  • Configurar um administrador do Microsoft Entra: Designe um administrador do Microsoft Entra para sua instância gerenciada de SQL para habilitar o gerenciamento de identidade centralizado e os recursos de segurança avançada. Esse administrador pode gerenciar políticas de acesso e autenticação. Para obter mais informações, consulte Microsoft Entra administrador.

  • Use a autenticação Microsoft Entra: Prefira a autenticação Microsoft Entra em vez da autenticação SQL para o gerenciamento centralizado de identidades e um controle mais fácil do ciclo de vida da conta. Microsoft Entra ID fornece segurança superior e habilita recursos avançados, como acesso condicional. Para obter mais informações, consulte Configure Microsoft Entra authentication.

  • Criar usuários de banco de dados contidos: use usuários de banco de dados contidos que mapeiem para grupos do Microsoft Entra em vez de logons no nível do servidor quando possível. Isso simplifica o gerenciamento de permissões e melhora a segurança eliminando a necessidade de acesso no nível do servidor. Para obter mais informações, consulte Torne seu banco de dados portátil usando bancos de dados independentes.

  • Habilitar a autenticação multifator: exigir autenticação multifator para contas administrativas e usuários privilegiados para adicionar uma camada extra de segurança além das senhas. Para obter mais informações, consulte MFA (autenticação multifator).

  • Use identidades gerenciadas para aplicativos: habilite identidades gerenciadas para Azure recursos para permitir que os aplicativos se autentiquem sem armazenar credenciais. Isso elimina a necessidade de gerenciar cadeias de conexão com senhas inseridas. Para obter mais informações, consulte Identidades Gerenciadas para Recursos do Azure.

  • Impor políticas de senha fortes: se estiver usando a autenticação SQL, exija senhas complexas que não podem ser facilmente adivinhadas. Implemente políticas de rotação de senha e evite reutilização de senhas em contas diferentes. Para obter mais informações, consulte a política de senha.

Acesso privilegiado

Controlar o acesso privilegiado impede alterações não autorizadas, reduz o impacto das contas comprometidas e garante que as ações administrativas sejam devidamente monitoradas e controladas.

  • Implementar acesso de privilégio mínimo: conceda aos usuários apenas as permissões mínimas necessárias para executar suas funções de trabalho. Revise e ajuste regularmente as permissões para manter o princípio do menor privilégio. Para obter mais informações, consulte Introdução às permissões do mecanismo de banco de dados.

  • Funções administrativas separadas: evite conceder direitos de administrador a todos os administradores de banco de dados. Use permissões mais granulares, como CONTROL SERVER, quando possível, e implemente a separação de tarefas entre diferentes funções administrativas. Para saber mais, consulte Permissões.

  • Use o Azure RBAC (controle de acesso baseado em função): implemente o Azure RBAC para controlar o acesso às operações de gerenciamento da instância gerenciada do SQL. Crie funções personalizadas que forneçam apenas as permissões necessárias para tarefas administrativas específicas. Para obter mais informações, consulte Azure RBAC para Instância Gerenciada de SQL.

  • Monitorar atividades privilegiadas: habilite a auditoria para acompanhar todas as ações executadas por contas privilegiadas. Examine regularmente os logs de auditoria para atividades suspeitas ou alterações não autorizadas. Para obter mais informações, consulte SQL Server Audit in Instância Gerenciada de SQL do Azure.

  • Use papéis de servidor para acesso ao nível de banco de dados: Use papéis de servidor embutidos e crie papéis personalizados para implementar segurança baseada em papéis. Atribua usuários a funções em vez de conceder permissões individuais para simplificar o gerenciamento e reduzir erros. Para obter mais informações, veja Funções de nível de servidor.

Proteção de dados

A proteção de dados protege suas informações por meio de criptografia, controles de acesso e classificação de dados para evitar divulgação, adulteração ou perda de informações confidenciais não autorizadas.

  • Enable Transparent Data Encryption (TDE): use o TDE para criptografar o banco de dados, o log e os arquivos de backup em repouso. Considere o uso de chaves gerenciadas pelo cliente em Azure Key Vault para controle adicional sobre chaves de criptografia. Para obter mais informações, consulte Transparent Data Encryption.

  • Implementar Always Encrypted para dados confidenciais: Use Always Encrypted para proteger dados altamente confidenciais em uso, em repouso e em trânsito. Isso garante que nem mesmo os administradores de banco de dados possam exibir dados confidenciais em texto sem formatação. Para obter mais informações, consulte Always Encrypted.

  • Use ledger na Instância Gerenciada do SQL: habilite o ledger para criar um registro imutável de alterações em dados confidenciais, fornecendo um registro em log que evidencie alterações. Para obter mais informações, consulte a visão geral do Ledger.

  • Usar Máscara dinâmica de dados: aplique máscara dinâmica de dados para ofuscar dados confidenciais para usuários nãoprivilegiados, preservando a funcionalidade de dados para aplicativos. Isso ajuda a impedir o acesso não autorizado a informações confidenciais. Para obter mais informações, consulte Máscara de Dados Dinâmicos.

  • Classificar e rotular dados confidenciais: use a Descoberta e Classificação de Dados SQL para identificar, classificar e rotular dados confidenciais em seus bancos de dados. Isso permite uma melhor proteção e relatórios de conformidade. Para obter mais informações, consulte Descoberta e Classificação de Dados.

  • Implementar a segurança em nível de coluna: conceda permissões no nível da coluna para restringir o acesso a dados confidenciais. Forneça somente permissões SELECT, UPDATE ou REFERENCES para usuários que precisam especificamente de acesso a colunas confidenciais. Para obter mais informações, consulte Criptografar uma coluna de dados.

  • Use Row-Level Security (RLS): implemente o RLS para garantir que os usuários só possam acessar linhas de dados relevantes para eles. Isso fornece segurança no nível do aplicativo sem exigir alterações significativas no aplicativo. Para obter mais informações, consulte Row-Level Security.

Backup e recuperação

Processos confiáveis de backup e recuperação protegem seus dados contra perdas devido a falhas, desastres ou ataques, garantindo que você possa atender aos seus objetivos de tempo de recuperação e ponto.

  • Verifique a configuração de backup automatizado: verifique se os backups automatizados estão configurados corretamente e os períodos de retenção atendem aos seus requisitos de negócios. Instância Gerenciada de SQL do Azure fornece backups automatizados por padrão com períodos de retenção configuráveis de até 35 dias. O armazenamento de backup é independente do armazenamento da instância e não é limitado em tamanho. Para obter mais informações, consulte backups automatizados.

  • Monitorar a atividade de backup: acompanhe quando os backups automatizados são executados em sua instância gerenciada de SQL para garantir que as operações de backup estejam sendo concluídas com êxito. Para obter mais informações, consulte Monitorar a atividade de backup.

  • Use o armazenamento de backup com redundância geográfica: configure o armazenamento com redundância geográfica para backups para proteger contra desastres regionais. Isso garante que seus dados possam ser recuperados mesmo se sua região primária ficar indisponível. Para obter mais informações, consulte Redundância de armazenamento de backup.

  • Testar procedimentos de backup e restauração: teste regularmente os procedimentos de backup e restauração para garantir que eles funcionem corretamente e atendam aos seus objetivos de tempo de recuperação. Valide se os bancos de dados restaurados são totalmente funcionais e a integridade dos dados é mantida. Para obter mais informações, consulte Recuperação pontual.

  • Usar recursos nativos de backup e restauração: aproveite o backup nativo e a restauração de Armazenamento de Blobs do Azure para cenários de migração. Você pode criar backups completos apenas cópia e restaurar arquivos .bak (SQL Server 2005+). O backup de cópia única não será possível se o banco de dados estiver criptografado por um TDE gerenciado pelo serviço. Para obter mais informações, consulte Restauração nativa pela URL.

  • Implementar políticas de retenção de longo prazo: configure a retenção de backup de longo prazo para requisitos de conformidade que excedem o período de retenção padrão. Isso garante que você possa atender aos requisitos regulatórios de retenção de dados. Para obter mais informações, consulte a retenção de backup de longo prazo.

Monitoramento e detecção de ameaças

O monitoramento abrangente e a detecção de ameaças ajudam você a identificar problemas de segurança, detectar atividades anômalas e responder rapidamente a possíveis ameaças contra sua instância gerenciada de SQL.

  • Habilitar o Microsoft Defender para SQL: Configure o Microsoft Defender para SQL para detectar tentativas incomuns e potencialmente prejudiciais de acessar ou explorar seus bancos de dados. Isso fornece recursos avançados de proteção contra ameaças, incluindo avaliação de vulnerabilidade e detecção de ameaças. Para obter mais informações, consulte Microsoft Defender para SQL.

  • Configurar a Proteção Avançada contra Ameaças: configurar a Proteção Avançada contra Ameaças para detectar ameaças específicas, incluindo possível injeção de SQL, acesso de locais ou data centers incomuns, acesso de entidades de segurança desconhecidas e credenciais de SQL de força bruta. Configure notificações por email e contas de armazenamento para alertas de ameaças. Para obter mais informações, consulte Configure Proteção Avançada contra Ameaças.

  • Configurar a auditoria de SQL: habilitar auditoria abrangente para acompanhar eventos de banco de dados e gravá-los no Armazenamento do Azure, Log Analytics ou Hubs de Eventos. Isso fornece logs detalhados para análise de segurança e relatórios de conformidade. Para obter mais informações, consulte SQL Server Audit in Instância Gerenciada de SQL do Azure.

  • Configurar o Azure Monitor: Use o Azure Monitor para coletar métricas de plataforma, logs de diagnóstico e criar alertas personalizados para sua instância gerenciada do SQL. Monitore o consumo de recursos, as métricas de desempenho e os eventos de segurança em um local centralizado. Para obter mais informações, consulte Monitor Instância Gerenciada de SQL do Azure.

  • Criar alertas de métrica: configurar alertas para atividades suspeitas, tentativas de logon com falha, padrões incomuns de acesso ao banco de dados e limites de consumo de recursos. As métricas de alerta estão disponíveis para o nível da instância gerenciada de SQL, não para bancos de dados individuais. Para obter mais informações, consulte Criar alertas para Instância Gerenciada de SQL.

  • Use a Avaliação de Vulnerabilidades do SQL: execute avaliações regulares de vulnerabilidade para identificar configurações incorretas de segurança e possíveis vulnerabilidades em seu banco de dados. Corrija os problemas identificados prontamente para manter uma postura de segurança forte. Para obter mais informações, consulte a Avaliação de Vulnerabilidades do SQL.

  • Monitorar com Visões de Gerenciamento Dinâmico (DMVs): utilize as DMVs para monitorar o desempenho, detectar consultas bloqueadas, identificar gargalos de recursos e observar atividades relacionadas à segurança. As DMVs fornecem informações detalhadas sobre operações do mecanismo de banco de dados e eventos de segurança. Para obter mais informações, consulte Monitore o desempenho do Instância Gerenciada de SQL do Azure usando visões de gerenciamento dinâmico.

  • Implementar o monitoramento do Repositório de Consultas: habilite o Repositório de Consultas para acompanhar o desempenho das consultas ao longo do tempo, identificar regressões de desempenho e monitorar padrões de execução de consultas. Isso ajuda a detectar um comportamento de consulta incomum que pode indicar problemas de segurança. Para mais informações, consulte Monitorar o desempenho usando o Repositório de Consultas.

  • Use Eventos Estendidos para monitoramento detalhado: implemente os Eventos Estendidos (XEvents) para um monitoramento detalhado e com baixa sobrecarga das atividades do banco de dados, incluindo eventos de segurança e problemas de desempenho. Os XEvents fornecem monitoramento mais granular do que o SQL Profiler com menos impacto no desempenho. Para obter mais informações, consulte Eventos Estendidos.

  • Configure o Observador de Banco de Dados (versão prévia): considere usar o Observador de Banco de Dados para monitoramento detalhado da carga de trabalho com painéis centralizados e insights detalhados de desempenho em seu ambiente de SQL do Azure. Para obter mais informações, consulte Monitorar cargas de trabalho do SQL do Azure com o Visualizador de Banco de Dados (versão prévia).

Conformidade e governança

Manter a conformidade e a governança garante que sua implantação de Instância Gerenciada de SQL atenda aos requisitos regulatórios e às políticas de segurança organizacional por meio de controles e documentação adequados.

  • Aplicar Azure Policy para governança: Utilize o Azure Policy para impor os padrões de segurança da organização e garantir uma configuração consistente em todas as instâncias gerenciadas de SQL. Crie políticas personalizadas para requisitos de conformidade específicos. Considere as políticas para impor a autenticação exclusiva com Microsoft Entra, a redundância de armazenamento de backup e os requisitos de residência de dados. Para obter mais informações, consulte Azure Policy para Instância Gerenciada de SQL.

  • Impor a autenticação somente pelo Microsoft Entra: use Azure Policy para exigir autenticação somente pelo Microsoft Entra para novas instâncias gerenciadas de SQL, garantindo que a autenticação SQL esteja desabilitada para segurança aprimorada. Isso fornece gerenciamento de identidade centralizado e elimina vulnerabilidades de autenticação baseada em senha. Para obter mais informações, consulte Usando a Política do Azure para impor a autenticação apenas Microsoft Entra.

  • Implemente a estratégia de marcação de recursos: Aplique tags de Azure de forma consistente para identificar a propriedade do recurso, a classificação do ambiente, os centros de custo e os requisitos de conformidade. Use marcas para governança automatizada, controle de custos e gerenciamento de recursos. Para obter mais informações, consulte Develar sua estratégia de nomenclatura e marcação para recursos Azure.

  • Aproveitar o Microsoft Purview para governança de dados: integre com o Microsoft Purview para classificação de dados, acompanhamento de linhagem e governança de dados unificada em seu patrimônio de dados. Use rótulos de confidencialidade e políticas de prevenção contra perda de dados para proteger dados classificados. Para obter mais informações, consulte Proteção de Informações do Microsoft Purview.

  • Procedimentos de segurança de documentos: mantenha uma documentação abrangente de seus procedimentos de segurança, planos de resposta a incidentes e políticas de controle de acesso. Examine e atualize regularmente a documentação para refletir as práticas atuais e os requisitos de conformidade. Para obter mais informações, consulte as práticas recomendadas de segurança.

  • Realize avaliações regulares de segurança: execute avaliações periódicas de segurança para avaliar sua postura de segurança e identificar áreas de melhoria. Inclua testes de penetração e avaliações de vulnerabilidade em seu programa de segurança. Documente os esforços de correção para relatórios de conformidade. Para obter mais informações, consulte a avaliação de vulnerabilidade do SQL.

  • Manter trilhas de auditoria: verifique se todas as ações administrativas e o acesso a dados são registrados corretamente e as trilhas de auditoria são mantidas para o período de retenção necessário. Proteja os logs de auditoria contra violação ou acesso não autorizado. Configure a retenção de log de auditoria com base nos requisitos regulatórios (SOX, PCI DSS). Para obter mais informações, consulte a visão geral da auditoria.

  • Atendimento aos padrões de conformidade regulatória: Instância Gerenciada de SQL do Azure dá suporte à conformidade com várias estruturas regulatórias, incluindo ISO 27001, PCI DSS, FedRAMP e SOX. Examine e implemente controles específicos aos seus requisitos do setor. Para obter mais informações, consulte documentação de conformidade do Azure.

  • Usar bloqueios de recursos: aplique bloqueios de recursos para evitar exclusão acidental ou modificação de recursos críticos da instância gerenciada de SQL. Isso ajuda a manter a integridade da configuração e evita mudanças não autorizadas que possam afetar a conformidade. Para obter mais informações, consulte Bloqueios de recursos.

  • Monitor com Assistente do Azure: use Assistente do Azure para receber recomendações personalizadas de segurança, otimização de custos, desempenho e excelência operacional. Revise e implemente regularmente as recomendações do assistente para manter as práticas recomendadas. Para obter mais informações, consulte Assistente do Azure.

Testes automáticos de conectividade interna

Instância Gerenciada de SQL do Azure executa testes automáticos de conectividade interna para monitorar a confiabilidade do serviço e acelerar a detecção de problemas. Esses testes são executados a cada 10 segundos a partir de endereços IP internos na sub-rede da instância gerenciada de SQL e têm um impacto de desempenho insignificante na taxa de transferência de rede e no desempenho do serviço. Um teste valida a conectividade completa ao tentar fazer logon com uma credencial com falha conhecida (AzureSQLConnectivityChecker), o que gera entradas esperadas de logon com falha em logs de auditoria, Eventos Estendidos e logs de erro do SQL. Essas entradas são normais e não indicam um problema de segurança. Para obter mais informações, incluindo como identificar assinaturas de teste em seus logs, consulte Testes automáticos de conectividade interna.

Para obter diretrizes de segurança abrangentes, consulte Práticas de segurança recomendadas para Instância Gerenciada de SQL do Azure e Visão geral das capacidades de segurança do Instância Gerenciada de SQL do Azure.