Proteja a sua implementação de Azure Container Apps

O Azure Container Apps oferece capacidades para executar aplicações containerizadas sem gerir infraestruturas complexas, ao mesmo tempo que fornece funcionalidades de segurança de nível empresarial. Ao implementar este serviço, siga as melhores práticas de segurança para proteger dados, configurações e infraestrutura.

Este artigo fornece recomendações de segurança para ajudar a proteger a implementação do seu Azure Container Apps.

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 específica do serviço

O Container Apps oferece capacidades de segurança únicas concebidas especificamente para cargas de trabalho containerizadas, arquiteturas de microserviços e aplicações cloud-native.

  • Configure limites de segurança ao nível do ambiente: Use ambientes de Aplicações Container para criar limites de segurança entre diferentes aplicações e cargas de trabalho. Separar ambientes de produção e não produção para evitar acessos não autorizados e desvios de configuração. Para mais informações, consulte Visão Geral do Ambiente.

  • Implementar limites adequados de escalabilidade e recursos: Configurar regras de escalabilidade e limites de recursos adequados para evitar ataques de exaustão de recursos e garantir uma alocação justa de recursos entre as aplicações. Monitorize eventos de escalabilidade para padrões invulgares que possam indicar problemas de segurança. Para obter mais informações, veja Definir regras de dimensionamento no Azure Container Apps.

Segurança de rede

Os controlos de segurança de rede impedem o acesso não autorizado a endpoints de aplicações contentores e estabelecem limites de comunicação seguros entre as suas aplicações e os serviços externos.

  • Implemente aplicações container numa rede virtual: Para controlar o tráfego da rede e garantir o acesso seguro a recursos backend, integre o ambiente da sua aplicação container com as Azure Virtual Networks. A integração com redes virtuais permite que as suas aplicações acedam a recursos em redes privadas, protegendo contra ataques baseados na internet. Para mais informações, consulte Configuração de rede virtual.

  • Habilite endpoints privados para acesso de entrada: Elimine a exposição pública à Internet usando o Azure Private Link para encaminhar o tráfego do cliente através da sua rede virtual. Os endpoints privados fornecem um endereço IP privado da sua rede virtual, trazendo efetivamente a sua aplicação de contentores para o perímetro da rede. Para mais informações, consulte Usar um endpoint privado com um ambiente Azure Container Apps.

  • Configure ambientes internos para isolamento total: Implemente ambientes internos de Aplicações Container para restringir todo o acesso de entrada a clientes dentro da sua rede virtual. Os ambientes internos proporcionam isolamento total da internet pública e permitem a comunicação segura entre aplicações de contentores e outros recursos de rede. Para obter mais informações, consulte Rede no ambiente de Aplicativos de Contêiner do Azure.

  • Desative o acesso à rede pública: Configure os ambientes Container Apps para desativar o acesso à rede pública ao utilizar endpoints privados, garantindo que toda a conectividade ocorre através do seu ambiente virtual controlado. Esta configuração impede tentativas não autorizadas de acesso externo. Para mais informações, consulte Endpoints privados e DNS para redes virtuais em ambientes Azure Container Apps.

  • Implemente o Azure Firewall para controlo de tráfego de saída: Use o Azure Firewall com rotas definidas pelo utilizador (UDR) para controlar e monitorizar todo o tráfego de saída das suas aplicações container, garantindo que a comunicação ocorre apenas com destinos aprovados. Para mais informações, consulte Habilitar Rotas Definidas pelo Utilizador (UDR).

  • Configure grupos de segurança de rede com regras restritivas: Aplique grupos de segurança de rede para controlar o fluxo de tráfego para e a partir das sub-redes do Container Apps, implementando políticas de negação por predefinição com regras de permissão específicas para os padrões de comunicação necessários. Para mais informações, consulte Proteger uma rede virtual existente com um grupo de segurança de rede.

  • Configurar restrições ao nível da aplicação: Configurar definições de entrada com controlos de segurança adequados, incluindo autenticação de certificados do cliente e restrições de IP para exposição segura de aplicações de contentores. Usa entradas internas para aplicações que não deveriam ser acessíveis pela internet. Para mais informações, consulte a visão geral do Ingress.

Gestão de identidades e acessos

Os controlos de identidade e gestão de acessos garantem que apenas utilizadores e aplicações autorizados possam aceder aos recursos das Aplicações Container com permissões e mecanismos de autenticação adequados.

  • Ativar autenticação e autorização: Configurar autenticação incorporada usando o Microsoft Entra ID e outros fornecedores de identidade para proteger os endpoints das aplicações de contentores para além dos controlos básicos de acesso. Esta configuração proporciona gestão centralizada de identidades e suporta regras de autorização personalizadas. Para mais informações, consulte Autenticação e autorização em Azure Container Apps.

  • Utilize identidades geridas para ligações de serviço: Configure identidades geridas, seja atribuídas pelo sistema ou pelo utilizador, para autenticar noutros serviços Azure sem armazenar credenciais no código ou na configuração. As identidades gerenciadas eliminam a sobrecarga de gerenciamento de credenciais e fornecem rotação automática de segredos. Para mais informações, consulte Usar identidades geridas no Azure Container Apps.

  • Implementar controlo de acesso baseado em funções (RBAC): Atribuir apenas as permissões necessárias para cada tarefa de gestão de Aplicações de Contentor. As funções incorporadas específicas do Container Apps podem proporcionar acesso mais restrito do que atribuições amplas de Contribuidor ou Proprietário, mas algumas utilizam permissões wildcard que incluem ações para ler valores de segredos. Se nenhum papel incorporado fornecer o limite de acesso de que precisa, crie um papel personalizado com permissões explícitas. Para mais informações, consulte Permissões para gestão de segredos e funções incorporadas no Azure para contentores.

  • Configure a autenticação do Microsoft Entra ID: Use o Microsoft Entra ID para gestão centralizada de identidades e ative políticas de acesso condicional para controlar o acesso com base nas condições do utilizador, localização e dispositivo. Esta configuração oferece capacidades de autenticação de nível empresarial com suporte de autenticação multifator. Para mais informações, consulte Ativar autenticação e autorização no Azure Container Apps com Microsoft Entra ID.

  • Ative a loja de tokens para autenticação segura: Use a funcionalidade de armazenamento de tokens incorporada para gerir tokens de autenticação de forma segura, independente do código da sua aplicação. A loja de tokens fornece atualização automática dos tokens e reduz a superfície de ataque ao eliminar código de gestão de tokens personalizados. Para mais informações, consulte Ativar um armazenamento de tokens de autenticação.

Proteção de dados

Os mecanismos de proteção de dados protegem informações sensíveis processadas por aplicações contentores através de encriptação, armazenamento seguro e tratamento adequado de segredos e dados de configuração.

  • Aplicar HTTPS para toda a comunicação: Configure o proxy Envoy para redirecionar todo o tráfego HTTP para HTTPS, garantindo que toda a transmissão de dados utiliza encriptação TLS. Define allowInsecure: false a tua configuração de entrada para evitar ligações não encriptadas. Para obter mais informações, consulte Configurar entrada HTTPS ou TCP em Aplicativos de Contêiner do Azure.

  • Use o Azure Key Vault para gestão de segredos: armazene strings de ligação, chaves API e outros segredos no Azure Key Vault em vez das definições da aplicação. Use referências do Key Vault para recuperar segredos em tempo de execução, mantendo uma gestão centralizada de segredos com capacidades de segurança e auditoria reforçadas. Para obter mais informações, consulte Gerenciar segredos em aplicativos de contêiner do Azure.

  • Ativar a Segurança da Camada de Transporte Mútua (mTLS): Use o mTLS para autenticar e encriptar o tráfego entre serviços, fornecendo autenticação bidirecional que verifica tanto a identidade do cliente como do servidor. Esta funcionalidade reforça a segurança da comunicação entre serviços dentro do ambiente da sua aplicação container. Para mais informações, consulte Utilizar Segurança mútua da camada de transporte (mTLS).

  • Implemente uma gestão adequada de segredos: Use o armazenamento de segredos incorporado das Aplicações Container para armazenar valores sensíveis com isolamento e controlos de acesso adequados, evitando armazenar segredos diretamente em imagens de contentores ou variáveis de ambiente. Para mais informações, consulte Permissões para gerir segredos.

  • Armazenamento seguro de imagens de contentores: Armazene imagens de contentores no Azure Container Registry com autenticação ativada e configure a geo-replicação para recuperação de desastres. Use registos privados em vez de repositórios públicos para cargas de trabalho de produção, para manter o controlo sobre o acesso às imagens. Para obter mais informações, consulte Autenticar com um registro de contêiner do Azure.

Registo e monitorização

Registos e monitorização abrangentes proporcionam visibilidade sobre as operações das Aplicações Container, eventos de segurança e métricas de desempenho, permitindo a deteção de ameaças e supervisão operacional.

  • Ativar a integração do Azure Monitor Log Analytics: Configure a integração com o Log Analytics Workspace para recolher e analisar logs de sistema e de aplicações de todas as aplicações de contentores do seu ambiente. Esta configuração proporciona gestão centralizada de registos e suporta monitorização de segurança e auditoria de conformidade. Para mais informações, consulte Monitorização de logs nos Azure Container Apps com Log Analytics.

  • Configurar definições de diagnóstico: Ative as definições de diagnóstico para transmitir registos e métricas de aplicações de contentores para os Azure Monitor Logs, contas de armazenamento ou Event Hubs para análise centralizada e retenção a longo prazo. Esta configuração suporta investigações de segurança e requisitos de conformidade. Para mais informações, consulte Observabilidade em Azure Container Apps.

  • Configurar alertas do Azure Monitor: Defina alertas para atividades suspeitas, incluindo falhas de autenticações, padrões invulgares de tráfego, altas taxas de erro e anomalias no consumo de recursos. Use grupos de ação para permitir uma resposta automática a potenciais incidentes de segurança. Para obter mais informações, consulte Alertas do Azure Monitor.

  • Ative o streaming de registos para monitorização em tempo real: Use as capacidades de streaming de registos para visualizar registos quase em tempo real do sistema e da consola dos contentores para resolução imediata de problemas e deteção de eventos de segurança. Esta capacidade permite uma resposta rápida durante incidentes de segurança. Para mais informações, consulte Log streaming.

  • Implemente a integração com o Application Insights: Configure a integração com o Application Insights para captar telemetria detalhada, métricas de desempenho e traços personalizados das suas aplicações contentores. Esta integração proporciona observabilidade abrangente para análise de segurança e otimização de desempenho. Para obter mais informações, consulte Visão geral do Application Insights.

Conformidade e governança

Os controlos de conformidade e governação garantem que as implementações das Aplicações Container cumprem os requisitos regulamentares e as políticas organizacionais através da gestão adequada de configuração e capacidades de auditoria.

  • Aplique definições de Política Azure: Use definições incorporadas de Política Azure para auditar e aplicar configurações de segurança, como implementação de rede virtual, requisitos de autenticação e aplicação de HTTPS. As políticas ajudam a manter uma postura de segurança consistente em todos os ambientes. Para mais informações, consulte as definições incorporadas da Azure Policy para Azure Container Apps.

  • Implemente a etiquetagem de recursos: Aplique etiquetas de recursos consistentes aos recursos das Aplicações Container para gestão de custos, monitorização de segurança, acompanhamento de conformidade e governação. Use tags para identificar a classificação de dados, as informações do proprietário e os requisitos regulamentares. Para obter mais informações, consulte Utilizar etiquetas para organizar os seus recursos do Azure.

  • Configure políticas de acesso condicional: Aplique políticas de Acesso Condicional do Microsoft Entra que exijam autenticação multifator e dispositivos compatíveis para identidades que gerem Aplicações Container e os seus ambientes, bem como para acesso do utilizador final protegido pela funcionalidade de autenticação incorporada. Para mais informações, consulte Exigir MFA para gestão do Azure.

  • Manter registos de auditoria e documentação de conformidade: Garantir que o registo abrangente capta todas as ações administrativas da aplicação de contentores, alterações de configuração e tentativas de acesso para investigação de conformidade regulatória e segurança, utilizando definições de diagnóstico e registos de atividade. Para obter mais informações, consulte Log de atividades do Azure.

Backup e recuperação

As estratégias de backup e recuperação protegem as configurações das aplicações de contentores e garantem a continuidade do negócio através de planeamento adequado de recuperação de desastres e estratégias de implementação multirregional.

  • Ative a redundância de zonas para alta disponibilidade: Configure a redundância de zonas nos ambientes Container Apps para distribuir automaticamente réplicas por várias zonas de disponibilidade dentro de uma região. Esta configuração protege contra falhas ao nível da zona e melhora o tempo de atividade da aplicação. Para mais informações, consulte Fiabilidade nas Aplicações Azure Container.

  • Implemente implementações multirregião: Implemente Aplicações Container em múltiplas regiões do Azure usando o Azure Front Door ou o Gestor de Tráfego do Azure para capacidades de failover automático durante interrupções regionais. Esta estratégia assegura disponibilidade contínua de aplicações para cargas de trabalho críticas. Para mais informações, consulte Resiliência face a falhas regionais.

  • Use a infraestrutura como código para automação de implementação: Implemente processos automatizados de implementação utilizando templates do Azure Resource Manager, Bicep ou outras infraestruturas como ferramentas de código para garantir que pode rapidamente redistribuir configurações de aplicações de contentores após incidentes ou em regiões alternativas. Para mais informações, consulte o Azure Resource Manager e a especificação da API Bicep para Azure Container Apps.

  • Configure o registo de contentores geo-redundante: Use o Azure Container Registry com a geo-replicação ativada para garantir que as imagens de contentores estejam disponíveis em várias regiões para cenários de recuperação de desastres. Esta configuração protege contra falhas no registo e suporta implementações multirregional. Para obter mais informações, consulte Replicação geográfica no Registro de Contêiner do Azure.

  • Teste procedimentos de recuperação de desastres: Teste regularmente procedimentos de backup e recuperação, incluindo implementação de aplicações, restauração de configuração e processos de failover, para validar a eficácia e identificar lacunas no planeamento de recuperação de desastres. Documente os resultados dos testes e atualize os procedimentos com base nas lições aprendidas. Para mais informações, consulte Soluções multirregional personalizadas para resiliência.

Próximos passos