Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
AKS (Serviço de Kubernetes do Azure) fornece um ambiente gerenciado do Kubernetes para implantar e operar aplicativos em contêineres. Microsoft gerencia o plano de controle do Kubernetes, enquanto você é responsável por proteger as cargas de trabalho, a configuração do nó, a rede, a identidade e os dados em seus clusters. Ao implantar o AKS, é importante seguir as práticas recomendadas de segurança para proteger essa superfície compartilhada no ciclo de vida do cluster.
Este artigo fornece recomendações de segurança para ajudar a proteger sua implantação do AKS. Muitos desses controles são pré-configurados no AKS Automatic, que inicia clusters de uma linha de base protegida e estão disponíveis para habilitar e gerenciar no AKS Standard. Para obter os conceitos por trás desses controles, incluindo como a segurança do AKS funciona em todo o pipeline de build a runtime, consulte os conceitos de segurança para aplicativos e clusters no AKS.
As recomendações de segurança neste artigo implementam os princípios de Confiança Zero: "Verificar explicitamente", "Usar acesso de privilégio mínimo" e "Presumir violação". Para obter diretrizes abrangentes sobre Confiança Zero, consulte o Centro de Diretrizes de Confiança Zero.
Segurança específica do serviço
O AKS combina primitivos de segurança do Kubernetes com controles de plataforma Azure. As recomendações a seguir abordam preocupações de reforço de segurança específicas da execução de um cluster Kubernetes gerenciado, incluindo a integridade do nó, a proveniência das imagens e o isolamento de cargas de trabalho.
Endurecimento de cluster e nó
- Mantenha os clusters em uma versão do Kubernetes com suporte com atualizações automáticas de cluster: registre clusters em um canal de atualização automática para que o plano de controle e os pools de nós recebam patches do Kubernetes que corrigem vulnerabilidades conhecidas sem intervenção manual. Para obter mais informações, consulte Atualizar automaticamente um cluster do AKS.
- Aplique automaticamente atualizações de segurança do sistema operacional do nó: configure o canal de atualização automática do sistema operacional do nó para que os nós recebam patches de segurança do Linux e do Windows em intervalos definidos. Para obter mais informações, consulte Atualizar automaticamente as imagens do sistema operacional do nó de cluster do AKS.
- Impor padrões de Admissão de Segurança de Pod: aplique os padrões de segurança de pod restritos ou de linha de base no nível do namespace para impedir pods privilegiados, compartilhamento de namespace de host e montagens de volume não seguras. Para obter mais informações, consulte Proteger seus pods no AKS.
- Implante pools de nós habilitados para FIPS para cargas de trabalho sujeitas a regulamentação: habilite pools de nós habilitados para FIPS, que usam módulos criptográficos validados pelo FIPS 140-3, quando as cargas de trabalho precisarem atender a requisitos como a conformidade com o FedRAMP. Para obter mais informações, consulte Habilitar o Federal Information Processing Standard (FIPS) para pools de nós do AKS.
- Não execute cargas de trabalho multilocatárias hostis em um cluster compartilhado: um cluster padrão do Kubernetes não é um limite rígido de segurança entre locatários não confiáveis, pois o domínio de segurança abrange todo o cluster, e não um nó individual. Para cargas de trabalho que exigem isolamento forte, use clusters fisicamente isolados, tamanhos de nó de VM isolados ou área restrita de pod. Para obter mais informações, consulte As práticas recomendadas para isolamento de cluster no AKS.
Imagem de contêiner e segurança da cadeia de suprimentos
- Restringir implantações a registros de contêiner confiáveis: use o complemento Azure Policy para impor que os pods podem extrair imagens apenas de registros aprovados, como seu Registro de Contêiner do Azure privado, para que imagens públicas não confiáveis não possam ser executadas no cluster. Para obter mais informações, consulte Proteja seus clusters AKS com Azure Policy.
- Remova imagens vulneráveis não utilizadas com o Limpador de Imagens: Ative o Limpador de Imagens para remover automaticamente imagens obsoletas dos nós e reduzir a superfície de ataque exposta por imagens vulneráveis. Para obter mais informações, consulte Usar o Limpador de Imagens para limpar imagens vulneráveis no AKS.
- Verificar registros e executar cargas de trabalho com Microsoft Defender para contêineres: detecte imagens vulneráveis e configurações incorretas em seu registro e clusters antes e depois da implantação. Para obter mais informações, consulte Visão geral do Microsoft Defender para Contêineres.
Segurança de rede
Por padrão, o servidor de API do AKS pode ser acessado por um endpoint público, e o tráfego de saída do cluster não é restrito. Restringir o acesso de entrada ao plano de controle e o tráfego de saída de cargas de trabalho está entre as alterações mais eficazes que você pode fazer para reduzir a superfície de ataque de rede do cluster.
-
Implante um cluster privado para remover o ponto de extremidade do servidor de API público: crie um cluster privado para que o servidor de API do Kubernetes só possa ser acessado da rede virtual por meio de um ponto de extremidade privado. Para obter mais informações, consulte Criar um cluster de AKS (Serviço de Kubernetes do Azure) privado.
- Se você não puder usar um cluster totalmente privado, restrinja o ponto de extremidade do servidor de API público a endereços conhecidos com intervalos de IP autorizados. Para obter mais informações, consulte Acesso seguro ao servidor de API usando intervalos de endereços IP autorizados.
- Integre o servidor de API com sua rede virtual: use a integração do servidor de API à rede virtual para que o tráfego do plano de controle permaneça em uma sub-rede privada sem exigir componentes de tunelamento. Para obter mais informações, consulte Criar um cluster AKS com integração de rede virtual do servidor API.
- Implemente políticas de rede para controlar o tráfego entre pods: Aplique políticas de rede do Kubernetes para restringir o tráfego leste-oeste entre pods somente ao necessário para suas cargas de trabalho. Para mais informações, consulte Proteger o tráfego entre os pods usando as políticas de rede no AKS.
- Restringir o tráfego de saída do cluster: defina um tipo de saída definido pelo usuário e encaminhe a saída por meio de Firewall do Azure para filtrar e inspecionar os destinos que suas cargas de trabalho podem alcançar. Para obter mais informações, confira Controle de tráfego de saída para nós de cluster no AKS.
- Filtrar o tráfego de saída por um nome de domínio totalmente qualificado: use a filtragem baseada em FQDN nos Serviços Avançados de Rede de Contêineres para permitir a saída apenas para domínios aprovados. Para obter mais informações, consulte a filtragem de FQDN para serviços avançados de rede de contêiner.
Gerenciamento de identidade e acesso
O AKS autentica identidades de cluster e de carga de trabalho por meio de Microsoft Entra ID e autoriza o acesso por meio de Azure RBAC e do Kubernetes RBAC. Use identidades gerenciadas e autorização com suporte do Entra em vez de credenciais estáticas ou contas autônomas do Kubernetes.
- Use uma identidade gerenciada para o cluster: Configure o cluster para usar uma identidade gerenciada para que o AKS acesse recursos do Azure sem credenciais estáticas da entidade de serviço que você precisa alternar. Para obter mais informações, consulte Usar uma identidade gerenciada no AKS (Serviço de Kubernetes do Azure).
- Use a identidade de carga de trabalho para o acesso de pods a recursos do Azure: Federe contas de serviço do Kubernetes com identidades de carga de trabalho do Microsoft Entra para que os pods obtenham tokens para recursos do Azure sem armazenar segredos. Para obter mais informações, consulte Usar ID de carga de trabalho do Microsoft Entra com o AKS.
- Integrar a autenticação do cluster com o Microsoft Entra ID: habilite a integração com o Microsoft Entra para que usuários e grupos se autentiquem no cluster com suas identidades no Entra em vez de certificados compartilhados. Para obter mais informações, consulte Integração do Microsoft Entra gerenciada pelo AKS.
- Autorize o acesso à API do Kubernetes com o Azure RBAC: use o Azure RBAC para autorização no Kubernetes e atribua as funções internas do AKS (Serviço de Kubernetes do Azure RBAC Reader, Serviço de Kubernetes do Azure RBAC Writer, Serviço de Kubernetes do Azure RBAC Admin e Serviço de Kubernetes do Azure RBAC Cluster Admin) no escopo do cluster ou do namespace para conceder acesso com privilégios mínimos. Para obter mais informações, consulte os conceitos de autorização de cluster.
- Desabilitar contas locais do Kubernetes: desative as contas locais para que todo o acesso ao cluster passe pelo Microsoft Entra ID e não possa ignorar a autorização baseada no Entra ID com a credencial estática de administrador do cluster. Para obter mais informações, consulte Gerenciar contas locais com integração de Microsoft Entra gerenciada pelo AKS.
- Impor acesso condicional para administradores de cluster: aplique políticas de Acesso Condicional que exijam autenticação multifator e dispositivos compatíveis para as identidades do Entra que podem criar, atualizar ou excluir clusters do AKS e gerenciar seus pools de nós, rede e atribuições de função. Para mais informações, veja Exigir MFA para gerenciamento do Azure.
Proteção de dados
O AKS criptografa dados em repouso em discos gerenciados por padrão. Configure os controles a seguir para proteger os segredos do Kubernetes e trazer suas próprias chaves onde seus requisitos de conformidade exigem.
- Criptografar segredos do Kubernetes em etcd com um serviço de gerenciamento de chaves: habilite a criptografia de dados KMS para que os objetos do Segredo do Kubernetes sejam criptografados na camada do aplicativo antes de serem gravados no etcd, usando chaves gerenciadas pela plataforma ou suas próprias chaves gerenciadas pelo cliente em Azure Key Vault. Para obter mais informações, consulte Os conceitos de criptografia de dados em repouso para o AKS.
- Armazene segredos do aplicativo no Azure Key Vault: use o provedor do Azure Key Vault para o Secrets Store CSI Driver para montar segredos, chaves e certificados do Key Vault em vez de armazená-los como segredos do Kubernetes em texto simples. Para obter mais informações, consulte Usar o provedor do Azure Key Vault para o Secrets Store CSI Driver no AKS.
- Use chaves gerenciadas pelo cliente para discos de dados e nós: criptografe os discos de dados e do sistema operacional com suas próprias chaves em Key Vault quando precisar de controle sobre o ciclo de vida da chave de criptografia. Para obter mais informações, consulte Traga suas próprias chaves (BYOK) com discos Azure no AKS.
- Habilitar a criptografia baseada em host: ative a criptografia baseada em host para que os discos temporários e os caches de disco do sistema operacional/de dados na VM do nó sejam criptografados em repouso no host. Para obter mais informações, consulte criptografia baseada em host no AKS.
Registro e monitoramento
Colete telemetria do cluster, do plano de controle e da carga de trabalho para que você possa detectar e investigar ameaças contra seus clusters do AKS.
- Monitore clusters com o Container Insights: habilite o Container Insights para coletar métricas e logs de nós e contêineres dos seus clusters em um workspace do Log Analytics. Para obter mais informações, consulte Monitor AKS (Serviço de Kubernetes do Azure).
-
Coletar logs de auditoria do plano de controle com configurações de diagnóstico: defina as configurações de diagnóstico para enviar o servidor de API do Kubernetes e as categorias de log de auditoria (
kube-auditkube-audit-admineguard) para Log Analytics para investigação de segurança. Para obter mais informações, consulte Referência de dados de monitoramento do AKS. - Habilite a detecção de ameaças com Microsoft Defender para Contêineres: ative o Defender para Contêineres para receber alertas de detecção de ameaças em tempo de execução para nós do cluster, cargas de trabalho e o plano de controle do Kubernetes. Para obter mais informações, consulte Visão geral do Microsoft Defender para Contêineres.
Conformidade e governança
Use Azure Policy para impor configurações de segurança consistentemente em seus clusters do AKS e impedir que cargas de trabalho não compatíveis sejam implantadas.
- Aplicar a configuração de cluster e de cargas de trabalho usando o Azure Policy para AKS: habilite o complemento do Azure Policy e atribua a iniciativa interna de política do AKS para auditar e aplicar controles como registros de contêiner aprovados, limites de recursos e contêineres privilegiados bloqueados. Para obter mais informações, consulte Proteja seus clusters AKS com Azure Policy.
- Aplicar salvaguardas de implantação para as práticas recomendadas do Kubernetes: Habilite as salvaguardas de implantação para validar os recursos do cluster com base nas práticas recomendadas do AKS no modo de aviso ou de imposição. Para obter mais informações, consulte Usar proteções de implantação para impor as práticas recomendadas no AKS.
- Atribua definições de política internas do AKS para impor controles específicos: atribua definições de Azure Policy internas para o AKS para impor controles individuais, como exigir intervalos de IP autorizados ou clusters privados, desabilitar contêineres privilegiados e impor balanceadores de carga internos. Para obter mais informações, consulte definições internas do Azure Policy para o AKS.
Backup e recuperação
Proteja o estado do cluster e os dados do aplicativo para que você possa se recuperar da exclusão acidental, da corrupção ou de uma atualização com falha.
- Fazer backup do estado do cluster e dos volumes persistentes com o Backup do AKS: use o Backup do AKS com um cofre de Backup para agendar backups dos recursos do cluster e dos volumes persistentes com suporte do Azure Disk e do Arquivos do Azure (SMB), bem como restaurar um namespace ou um cluster inteiro. Para obter mais informações, consulte o que é AKS (Serviço de Kubernetes do Azure) backup?.
- Conceda acesso de backup com o Acesso Confiável em vez de permissões amplas: habilite o Acesso Confiável para que o cofre de Backup atinja o cluster com permissões com escopo em vez de exigir acesso administrativo permanente. Para obter mais informações, consulte Habilitar Azure recursos para acessar clusters do AKS usando o Acesso Confiável.