Permitir que um pod em um cluster AKS acesse com segurança o Azure Key Vault sem usar credenciais armazenadas, como segredos de cliente ou certificados.
→Use o Azure AD Workload Identity. Crie uma identidade gerenciada atribuída pelo usuário, estabeleça uma credencial de identidade federada entre a conta de serviço K8s e a identidade gerenciada, e conceda à identidade gerenciada acesso ao Key Vault.
Por quê: O Workload Identity usa federação OIDC para trocar um token Kubernetes por um token Azure AD, eliminando completamente a necessidade de armazenar, gerenciar ou rotacionar segredos no cluster.
Referência↗
Proteger um Azure Key Vault para permitir acesso apenas de VNets específicas, registrar todas as operações e proteger contra a exclusão acidental de chaves críticas.
→Configure o firewall do Key Vault para permitir acesso de "Ponto de extremidade privado e redes selecionadas". Habilite o log de diagnóstico para um espaço de trabalho do Log Analytics. Habilite tanto a Exclusão Suave (Soft Delete) quanto a Proteção contra Limpeza (Purge Protection).
Por quê: A Exclusão Suave permite a recuperação de exclusões acidentais, mas a Proteção contra Limpeza impede que mesmo um usuário privilegiado exclua permanentemente o cofre ou seu conteúdo durante o período de retenção. Esta combinação é crítica para proteger chaves TDE.
Um Azure App Service precisa autenticar-se no Banco de Dados SQL do Azure para recuperar dados, sem armazenar senhas de string de conexão na configuração.
→Habilite uma identidade gerenciada atribuída ao sistema no App Service. No Azure SQL, crie um usuário contido mapeado para o nome da identidade gerenciada do App Service e conceda-lhe as funções de banco de dados necessárias (por exemplo, db_datareader).
Por quê: A Managed Identity fornece uma identidade para o próprio recurso do Azure no Azure AD. O Azure lida com a criação e rotação de credenciais automaticamente, eliminando segredos armazenados, o que é uma prática recomendada de segurança importante.
Criptografar discos gerenciados de VM do Azure em repouso usando uma chave que sua organização controla no Azure Key Vault.
→Crie um recurso de Conjunto de Criptografia de Disco. Configure-o para usar uma chave gerenciada pelo cliente (CMK) do seu Azure Key Vault. Atribua o Conjunto de Criptografia de Disco aos discos gerenciados da VM.
Por quê: Esta é a Criptografia do Lado do Servidor (SSE) com CMK, que criptografa dados na infraestrutura de armazenamento. É mais simples que o Azure Disk Encryption (ADE), que usa BitLocker/dm-crypt para criptografar dados dentro do sistema operacional convidado e é geralmente usado para discos de SO e dados juntos.
Garantir que as imagens de contêiner armazenadas no Azure Container Registry (ACR) sejam verificadas quanto a vulnerabilidades antes de serem implantadas.
→Habilite o Microsoft Defender for Containers. Isso verificará automaticamente as imagens no ACR quando forem enviadas, quando forem puxadas e de forma contínua para novas vulnerabilidades descobertas.
Por quê: Esta prática de segurança "shift-left" identifica vulnerabilidades precocemente no pipeline de CI/CD. O Defender for Containers fornece essa capacidade de varredura nativamente dentro do ecossistema do Azure.
Detectar e receber alertas para potenciais ataques de injeção de SQL e padrões de acesso anômalos em um Banco de Dados SQL do Azure.
→Habilite o Microsoft Defender for SQL no servidor SQL lógico. Isso oferece proteção avançada contra ameaças e avaliação de vulnerabilidades.
Por quê: O Defender for SQL é o plano de proteção de carga de trabalho dedicado que usa análise comportamental e aprendizado de máquina para detectar ameaças como injeção de SQL, ataques de força bruta e acesso incomum a dados, que não são visíveis para ferramentas de nível de rede.
Restringir uma conta de armazenamento a uma VNet específica, mas ainda permitir que serviços Microsoft confiáveis como o Azure Backup a acessem.
→Nas configurações de rede da conta de armazenamento, selecione "Habilitado de redes virtuais e endereços IP selecionados". Adicione a VNet/sub-rede necessária. Em seguida, marque a caixa "Permitir que serviços Microsoft confiáveis acessem esta conta de armazenamento".
Por quê: A exceção de serviços confiáveis cria um caminho seguro para serviços Microsoft específicos ignorarem as regras do firewall da VNet. Sem ela, serviços que operam em nome do usuário (como Backup ou Portal) seriam bloqueados.
Proteger colunas de dados sensíveis específicas (por exemplo, números de cartão de crédito) em um banco de dados Azure SQL, mesmo de administradores de banco de dados (DBAs) privilegiados.
→Use Always Encrypted. O driver da aplicação cliente criptografa transparentemente os dados antes de enviá-los ao banco de dados, e as chaves de criptografia nunca são reveladas ao motor do banco de dados.
Por quê: A Criptografia Transparente de Dados (TDE) criptografa todo o banco de dados em repouso (em disco), mas um DBA com acesso ainda pode ver os dados. O Always Encrypted fornece criptografia do lado do cliente, separando aqueles que gerenciam os dados (DBAs) daqueles que podem vê-los.
Processar dados altamente sensíveis em uma VM do Azure, garantindo que permaneçam criptografados e protegidos mesmo na memória contra o hypervisor e operadores de nuvem.
→Implante uma VM Confidencial do Azure. Essas VMs usam Ambientes de Execução Confiáveis (TEEs) baseados em hardware, como AMD SEV-SNP, para criar um espaço de memória isolado e criptografado.
Por quê: A criptografia padrão de VM (como ADE ou SSE) protege os dados em repouso. A Computação Confidencial é a única tecnologia que protege os dados *em uso* na memória, fornecendo o mais alto nível de privacidade e isolamento de dados na nuvem.
Um App Service precisa usar um segredo do Key Vault como uma configuração de aplicativo, sem alterar o código do aplicativo para usar o SDK do Key Vault.
→Habilite a identidade gerenciada no App Service e conceda a ela permissões de "Obter" em segredos no Key Vault. Na configuração do App Service, crie uma configuração de aplicativo com o valor formatado como uma referência de Key Vault: `@Microsoft.KeyVault(SecretUri=...)` .
Por quê: Este recurso permite que a plataforma do App Service resolva o valor secreto em tempo de execução usando a identidade gerenciada. O código do aplicativo simplesmente lê uma variável de ambiente padrão, abstraindo a interação com o Key Vault.
Armazenar dados relacionados à conformidade no Azure Blob Storage em um estado WORM (Write-Once, Read-Many) por um período de retenção de 7 anos.
→No contêiner de armazenamento, configure uma política de imutabilidade. Use uma política de retenção baseada em tempo definida para 7 anos e bloqueie a política. Uma vez bloqueados, os dados não podem ser modificados ou excluídos por ninguém até que o período de retenção expire.
Por quê: Este recurso é especificamente projetado para atender aos requisitos de conformidade regulatória (por exemplo, SEC 17a-4). Bloquear a política é o passo crítico que a torna verdadeiramente imutável.
Em uma aplicação multi-tenant usando um único banco de dados Azure SQL, garanta que usuários de um tenant possam ver apenas dados pertencentes ao seu próprio tenant.
→Implemente a Segurança em Nível de Linha (RLS). Crie uma política de segurança com uma função predicado que filtra as linhas com base no ID do tenant do usuário, que é armazenado no contexto da sessão ou em uma tabela de pesquisa de usuário.
Por quê: A RLS impõe a lógica de acesso diretamente no motor do banco de dados. Isso é mais seguro e confiável do que implementar a filtragem na camada de aplicação, pois não pode ser contornado e é transparente para o código da aplicação.
Proteger VMs de Geração 2 contra boot kits e rootkits, garantindo a integridade de toda a cadeia de inicialização, do UEFI ao kernel do SO.
→Provisione a VM com o Trusted Launch habilitado. Isso ativa o Secure Boot, que valida a assinatura de todos os componentes de inicialização, e um Módulo de Plataforma Confiável virtual (vTPM) para inicialização medida e atestado.
Por quê: O Trusted Launch aborda malwares sofisticados de baixo nível que podem subverter os controles de segurança tradicionais no nível do SO. Ele estabelece uma raiz de confiança de hardware para a VM.