Proteja a sua Azure SQL Managed Instance

Aplica-se a: Azure SQL Managed Instance

Azure SQL Managed Instance é um motor de base de dados totalmente gerido como plataforma como serviço (PaaS) que oferece quase 100% de compatibilidade com os mais recentes SQL Server Database Engine. Combina o melhor do SQL Server com os benefícios operacionais de um serviço totalmente gerido. Como frequentemente armazena dados empresariais críticos, incluindo registos de clientes, informações financeiras e propriedade intelectual, proteger a sua SQL Managed Instance é essencial para proteger contra violações de dados, acessos não autorizados e violações de conformidade.

Este artigo fornece orientações sobre como proteger da melhor forma a implementação da sua Azure SQL Managed Instance.

Segurança de rede

A segurança de rede para SQL Managed Instance ajuda a prevenir ligações não autorizadas, reduz a exposição a ataques e garante que apenas fontes confiáveis podem aceder às suas bases de dados através de isolamento adequado da rede e controlos de acesso.

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

  • Configurar NSGs (Grupos de Segurança de Rede): aplique NSGs à sub-rede da instância gerenciada SQL para controlar o tráfego de entrada e saída. Restrinja o acesso apenas às 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 à sua instância SQL gerida por meio de 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. Para obter mais informações, consulte Conectividade de endpoint privado.

  • Desativar pontos de extremidade públicos por padrão: habilite pontos de extremidade públicos somente se absolutamente necessário para sua arquitetura. Quando ativado, use regras rígidas de firewall para limitar o acesso apenas 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 VPN Azure ExpressRoute ou site-to-site para ligações seguras e privadas entre a sua rede local e Azure. Isso garante que os dados não atravessem a internet pública. Para obter mais informações, consulte Arquitetura de conectividade.

  • Habilitar criptografia de conexão: configure todas as conexões de cliente para usar criptografia em trânsito. O SQL Managed Instance suporta TLS 1.2 por defeito, garantindo que os dados estão protegidos ao transitar entre clientes e a base de dados. O TLS 1.3 também está disponível para SQL Managed Instance. Para obter mais informações, consulte Segurança de conexão.

Gestão de identidades

Controlos fortes de identidade e autenticação garantem que apenas utilizadores e aplicações autorizados possam aceder aos seus recursos SQL Managed Instance, proporcionando uma gestão centralizada de identidade e um controlo mais fácil do ciclo de vida da conta.

  • Configure um administrador de Microsoft Entra: Designe um administrador de Microsoft Entra para a sua instância gerida em SQL para permitir a gestão centralizada de identidades e funcionalidades avançadas de segurança. Este administrador pode gerir políticas de acesso e autenticação. Para mais informações, consulte Microsoft Entra admin.

  • Usar autenticação Microsoft Entra: Prefira autenticação Microsoft Entra à autenticação SQL para gestão centralizada de identidade e controlo mais fácil do ciclo de vida da conta. O Microsoft Entra ID oferece segurança superior e permite funcionalidades avançadas como o acesso condicional. Para mais informações, consulte Configurar autenticação Microsoft Entra.

  • Criar utilizadores de base de dados independentes: Utilize utilizadores de base de dados independentes que se associem a grupos do Microsoft Entra em vez de logins a nível do servidor sempre que 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 Tornar seu banco de dados portátil usando bancos de dados contidos.

  • Habilitar autenticação multifator: exija 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 Multifactor authentication (MFA).

  • Usar identidades geridas para aplicações: Permitir identidades geridas para Azure recursos para permitir que as aplicações se autentiquem sem armazenar credenciais. Isso elimina a necessidade de gerenciar cadeias de conexão com senhas incorporadas. Para mais informações, consulte Identidades geridas para recursos Azure.

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

Acesso privilegiado

O controle de acesso privilegiado evita alterações não autorizadas, reduz o impacto de contas comprometidas e garante que as ações administrativas sejam devidamente monitoradas e controladas.

  • Implementar acesso com privilégios mínimos: 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 obter mais informações, consulte Permissões.

  • Utilize o controlo de acesso baseado em função do Azure (RBAC): Implemente o Azure RBAC para controlar o acesso às operações de gestão de instância gerida de SQL. Crie funções personalizadas que forneçam apenas as permissões necessárias para tarefas administrativas específicas. Para mais informações, consulte Azure RBAC para SQL Managed Instance.

  • Monitorar atividades privilegiadas: habilite a auditoria para rastrear todas as ações executadas por contas privilegiadas. Analise regularmente os logs de auditoria em busca de atividades suspeitas ou alterações não autorizadas. Para mais informações, consulte SQL Server Auditoria em Azure SQL Managed Instance.

  • Usar funções de servidor para acesso no nível de banco de dados: aproveite as funções de servidor internas e crie funções personalizadas para implementar a segurança baseada em função. 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, consulte Funções no nível do 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 não autorizada, adulteração ou perda de informações confidenciais.

  • Enable Transparent Data Encryption (TDE): Use o TDE para encriptar a sua base de dados, registo e ficheiros de backup em repouso. Considere usar chaves geridas pelo cliente no Azure Key Vault para controlo adicional sobre as chaves de encriptação. Para mais informações, consulte Transparent Data Encryption.

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

  • Utilizar livro de registos em SQL Managed Instance: Ativar o livro de registos para criar um registo imutável de alterações a dados sensíveis, fornecendo um registo que evidencia adulteração. Para obter mais informações, consulte Visão geral do Ledger.

  • Use mascaramento dinâmico de dados: aplique mascaramento de dados dinâmicos para ofuscar dados confidenciais para usuários sem privilégios, preservando a funcionalidade de dados para aplicativos. Isso ajuda a evitar o acesso não autorizado a informações confidenciais. Para obter mais informações, consulte Dynamic Data Masking.

  • 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 segurança em nível de coluna: conceda permissões no nível da coluna para restringir o acesso a dados confidenciais. Forneça apenas permissões SELECT, UPDATE ou REFERENCES aos 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 a RLS para garantir que os usuários só possam acessar linhas de dados que sejam 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 Segurança ao Nível de Linha.

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 atingir seus objetivos de tempo e ponto de recuperação.

  • Verifique a configuração de backup automatizado: certifique-se de que os backups automatizados estejam configurados corretamente e que os períodos de retenção atendam às suas necessidades de negócios. O Azure SQL Managed Instance fornece backups automatizados por defeito, com períodos de retenção configuráveis até 35 dias. O armazenamento de backup é independente do armazenamento de instâncias e não é limitado em tamanho. Para obter mais informações, consulte Backups automatizados.

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

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

  • Testar procedimentos de backup e restauração: teste regularmente seus 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 estão totalmente funcionais e se a integridade dos dados é mantida. Para obter mais informações, consulte Restauração em momento específico.

  • Utilize capacidades nativas de backup e restauro: Aproveite o backup nativo e a restauração de Azure Blob Storage para cenários de migração. Podes criar backups completos só com cópia e restaurar a partir de .bak ficheiros (SQL Server 2005+). Um backup apenas de cópia não é possível se o banco de dados estiver criptografado pelo TDE gerido pelo serviço. Para obter mais informações, consulte restauro nativo a partir de URL.

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

Monitorização e deteção de ameaças

O monitoramento abrangente e a deteção de ameaças ajudam a identificar problemas de segurança, detetar atividades anômalas e responder rapidamente a ameaças potenciais contra sua instância gerenciada pelo SQL.

  • Ative Microsoft Defender para SQL: Configure Microsoft Defender para SQL para detetar tentativas invulgares e potencialmente prejudiciais de acesso ou exploração às suas bases de dados. Isso fornece recursos avançados de proteção contra ameaças, incluindo avaliação de vulnerabilidades e deteção de ameaças. Para mais informações, veja Microsoft Defender para SQL.

  • Configure Advanced Threat Protection: Configure a Advanced Threat Protection para detetar ameaças específicas, incluindo possível injeção SQL, acesso a partir de locais ou centros de dados invulgares, acesso de utilizadores desconhecidos e credenciais SQL por força bruta. Configure notificações por e-mail e contas de armazenamento para alertas de ameaças. Para mais informações, consulte Configure Advanced Threat Protection.

  • Configurar auditoria SQL: Ativar auditoria abrangente para acompanhar eventos da base de dados e registá-los em Azure Storage, Log Analytics ou Event Hubs. Isso fornece logs detalhados para análise de segurança e relatórios de conformidade. Para mais informações, consulte SQL Server Auditoria em Azure SQL Managed Instance.

  • Configurar Azure Monitor: Use Azure Monitor para recolher métricas de plataforma, registos de diagnóstico e criar alertas personalizados para a sua instância gerida em SQL. Monitore o consumo de recursos, métricas de desempenho e eventos de segurança em um local centralizado. Para mais informações, consulte Monitor Azure SQL Managed Instance.

  • Criar alertas métricos: configure alertas para atividades suspeitas, tentativas de login 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 de instância gerenciada SQL, não para bancos de dados individuais. Para mais informações, consulte Criar alertas para Instância Gerida de SQL.

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

  • Monitorar com DMVs (Dynamic Management Views): use DMVs para monitorar o desempenho, detetar consultas bloqueadas, gargalos de recursos e atividades relacionadas à segurança. Os DMVs fornecem informações detalhadas sobre operações do mecanismo de banco de dados e eventos de segurança. Para mais informações, consulte Monitorizar o desempenho Azure SQL Managed Instance usando vistas de gestão dinâmica.

  • Implementar monitorização Query Store: Permitir Query Store acompanhar o desempenho das consultas ao longo do tempo, identificar regressões de desempenho e monitorizar padrões de execução de consultas. Isso ajuda a detetar comportamentos de consulta incomuns que podem indicar problemas de segurança. Para mais informações, veja Monitorize o desempenho usando o Query Store.

  • Use eventos estendidos para monitoramento detalhado: implemente eventos estendidos (XEvents) para baixo custo geral, monitoramento detalhado de atividades de banco de dados, incluindo eventos de segurança e problemas de desempenho. O XEvents fornece monitoramento mais granular do que o SQL Profiler com menos impacto no desempenho. Para obter mais informações, consulte Extended Events.

  • Configurar o Database watcher (pré-visualização): Considere usar o Database watcher para monitorização aprofundada da carga de trabalho com painéis centralizados e insights detalhados de desempenho em todo o seu património Azure SQL. Para mais informações, consulte Monitorizar cargas de trabalho Azure SQL com o observador da base de dados (pré-visualização).

Conformidade e governança

Manter a conformidade e a governação garante que a implementação do seu SQL Managed Instance cumpre os requisitos regulamentares e as políticas de segurança organizacional através de controlos e documentação adequados.

  • Aplicar Azure Policy para governação: Use Azure Policy para impor padrões de segurança organizacionais e garantir uma configuração consistente em todas as instâncias geridas por SQL. Crie políticas personalizadas para requisitos de conformidade específicos. Considere políticas para a aplicação de autenticação exclusiva do Microsoft Entra, redundância no armazenamento de backup e requisitos de residência de dados. Para mais informações, consulte Azure Policy para SQL Managed Instance.

  • Impor autenticação exclusiva do Microsoft Entra: Use a Azure Policy para exigir autenticação exclusiva do Microsoft Entra para novas instâncias geridas do SQL, garantindo que a autenticação SQL esteja desativada para maior segurança. Isso fornece gerenciamento centralizado de identidades e elimina vulnerabilidades de autenticação baseada em senha. Para mais informações, consulte Usando Azure Policy para impor autenticação apenas Microsoft Entra.

  • Implementar a estratégia de etiquetagem de recursos: Aplicar etiquetas de Azure consistentes para identificar a propriedade dos recursos, classificação ambiental, centros de custos e requisitos de conformidade. Use tags para governança automatizada, controle de custos e gerenciamento de recursos. Para mais informações, consulte Desenvolva a sua estratégia de nomes e etiquetas para Azure recursos.

  • Utilize o Microsoft Purview para a gestão de dados: Integre com o Microsoft Purview para a classificação de dados, rastreio de origem e gestão unificada de dados em todo o seu ambiente de dados. Use rótulos de sensibilidade e políticas de prevenção de perda de dados para proteger dados classificados. Para mais informações, veja Microsoft Purview Information Protection.

  • 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. Revisar e atualizar regularmente a documentação para refletir as práticas atuais e os requisitos de conformidade. Para obter mais informações, consulte Práticas recomendadas de segurança.

  • Realizar avaliações de segurança regulares: realize avaliações de segurança periódicas para avaliar sua postura de segurança e identificar áreas para melhorias. Inclua testes de penetração e avaliações de vulnerabilidade no seu programa de segurança. Esforços de correção de documentos para relatórios de conformidade. Para obter mais informações, consulte Avaliação de vulnerabilidade do SQL.

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

  • Cumprir as normas de conformidade regulamentar: Azure SQL Managed Instance apoia o cumprimento de vários quadros regulamentares, incluindo ISO 27001, PCI DSS, FedRAMP e SOX. Revise e implemente controles específicos para os requisitos do seu setor. Para mais informações, consulte a documentação de conformidade do Azure.

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

  • Monitorize com Azure Advisor: Use Azure Advisor para receber recomendações personalizadas para segurança, otimização de custos, desempenho e excelência operacional. Revisar e implementar regularmente as recomendações dos consultores para manter as melhores práticas. Para mais informações, consulte Azure Advisor.

Para orientações abrangentes de segurança, consulte Azure SQL Managed Instance melhores práticas de segurança e Visão geral das capacidades de segurança Azure SQL Managed Instance.