Referência de acesso à rede e permissões para Defender para contêineres

Este artigo descreve os requisitos de conectividade de rede e permissão para Microsoft Defender para contêineres.

Os requisitos neste artigo dependem dos recursos habilitados e do ambiente no qual as cargas de trabalho de contêiner são executadas.

Saiba mais sobre padrões de conectividade e componentes de plano.

Microsoft Defender para Nuvem para registros de contêiner

Microsoft Defender para Nuvem se conecta a registros de contêiner para verificar imagens de contêiner em busca de vulnerabilidades. Em alguns casos, Defender para Contêineres também publica os resultados da avaliação de vulnerabilidades de volta para o registro.

Registro de Contêiner do Azure (ACR)

Network

  • Para ACRs privadas, o acesso à rede é concedido automaticamente por meio de Azure infraestrutura.

Permissões

  • Função: Defender Registros de Contêiner
  • Permissões:
    • Microsoft.ContainerRegistry/registries/pull/read
    • Microsoft.ContainerRegistry/registries/metadata/read
    • Microsoft.ContainerRegistry/registries/read
    • Microsoft.ContainerRegistry/registries/repositories/content/read
    • Microsoft.ContainerRegistry/registries/repositories/metadata/read
    • Microsoft.ContainerRegistry/registries/catalog/read

Registro de Contêiner Elástico da Amazon (ECR)

Network

  • Os pontos de extremidade ECR são sempre acessíveis publicamente.

Permissões

  • Função: CspmMonitorAws (parte da função CSPM existente)

    • ecr:GetRegistryPolicy
    • ecr:DescribeImages
    • ecr:DescribeRepositories
    • ecr:GetRepositoryPolicy
  • Função: MDCContainersImageAssessmentRole

    • ecr:PutImage
    • ecr:BatchDeleteImage
    • ecr-public:PutImage
    • ecr-public:BatchDeleteImage

Note

As MDCContainersImageAssessmentRole permissões são usadas apenas para publicar os resultados da avaliação de vulnerabilidade de volta ao registro para implantação fechada. Microsoft Defender para Nuvem não modifica imagens de contêiner do cliente.

Registro de Artefatos do Google (GAR)

Network

  • Os pontos de extremidade gar são sempre acessíveis publicamente.

Permissões

  • Função: MDCCspmCustomRole (parte da função CSPM existente)

    • artifactregistry.repositories.list
    • artifactregistry.repositories.getIamPolicy
    • artifactregistry.dockerimages.list
  • Função: MDCWritingGarAssessmentsRole

    • artifactregistry.repositories.uploadArtifacts
    • artifactregistry.repositories.deleteArtifacts

Note

As MDCWritingGarAssessmentsRole permissões são usadas apenas para publicar os resultados da avaliação de vulnerabilidade de volta ao registro para implantação fechada. Microsoft Defender para Nuvem não modifica imagens de contêiner do cliente.

JFrog Artifactory (SaaS)

Network

  • A instância do JFrog Artifactory deve ser publicamente acessível pela Internet.

Permissões e configuração

  • Um grupo dedicado, como mdc-group-{customerTenantId}
  • Um destino de permissão com acesso de leitura a todos os repositórios do grupo MDC
  • Um provedor OIDC (OpenID Connect) integrado ao Microsoft Entra ID
  • Mapeamentos de identidade OIDC que permitem a autenticação usando tokens emitidos pela Entra

Escopos de API usados

  • Acesso a grupos: /access/api/v1/scim/v2/Groups
  • Destinos de permissão: /access/api/v2/permissions (LEIA em ANY LOCAL, REMOTE, DISTRIBUTION)
  • Mapeamentos de identidade e provedor OIDC:
    • /access/api/v1/oidc
    • /access/api/v1/oidc/{oidcName}/identity_mappings

Docker Hub (SaaS)

Network

  • Docker Hub deve ser publicamente acessível pela Internet.

Permissões

  • Token de acesso fornecido pelo cliente com acesso de leitura

Microsoft Defender para Nuvem para clusters do Kubernetes

Microsoft Defender para Nuvem se conecta aos pontos de extremidade da API do Kubernetes para descobrir clusters e coletar dados de configuração para análise de postura e risco.

AKS (Serviço de Kubernetes do Azure)

Network

  • Nenhuma configuração adicional de ponto de extremidade público ou público restrito é necessária. Microsoft Defender para Contêineres acessa a API do Kubernetes por meio Azure Acesso Confiável.

Permissões

  • Identidade gerenciada criada no ambiente do cliente
  • Função interna: Operador Sem Agente do Kubernetes
    • Microsoft.ContainerService/managedClusters/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete

Note

Para o AKS, Defender para Nuvem usa o Acesso Confiável do AKS. Defender para Nuvem cria uma identidade gerenciada e uma associação de função de acesso confiável. Depois que o cluster é descoberto, Defender para Nuvem cria um ClusterRoleBinding do Kubernetes para o ClusterRole do AKS interno aks:trustedaccessrole:defender-containers:microsoft-defender-operator, que concede permissões de leitura dentro do cluster.

Amazon Elastic Kubernetes Service (EKS)

Network

  • O servidor de API do Kubernetes deve permitir o acesso de:
    • 172.212.245.192/28
    • 48.209.1.192/28
  • Para pontos de extremidade de API privada, um ponto de extremidade público restrito deve ser habilitado com os intervalos de IP acima.

Para clusters EKS privados, o servidor de API do Kubernetes deve expor um ponto de extremidade público restrito que permite o acesso dos Microsoft Defender aprovados para intervalos de IP de contêineres.

Permissões

  • Função: MDCContainersAgentlessDiscoveryK8sRole
    • eks:UpdateClusterConfig
    • eks:DescribeCluster
    • eks:CreateAccessEntry
    • eks:ListAccessEntries
    • eks:AssociateAccessPolicy
    • eks:ListAssociatedAccessPolicies

Note

eks:UpdateClusterConfig é usado para adicionar o Microsoft Defender para blocos CIDR estáticos de contêineres à lista de permissões CIDR de acesso público do cluster EKS (ResourcesVpcConfig.PublicAccessCidrs). Ele também é usado para atualizar o modo de autenticação de CONFIG_MAP para API_AND_CONFIG_MAP, o que é necessário para a criação de entrada de acesso em clusters mais antigos. Se essa permissão não for concedida, a coleta de inventário falhará para clusters com acesso restrito ao ponto de extremidade público porque Defender para contêineres não podem se conectar ao servidor de API do Kubernetes. A coleta de inventário também falha para clusters que usam a autenticação somente CONFIG_MAP porque Defender para contêineres não podem criar as entradas de acesso necessárias. Para clusters com um ponto de extremidade público aberto, essa permissão não é necessária para conectividade, mas Defender para Nuvem ainda tenta a atualização de configuração.

Mecanismo do Kubernetes do Google (GKE)

Network

  • O servidor de API do Kubernetes deve permitir o acesso de:
    • 172.212.245.192/28
    • 48.209.1.192/28
  • Para pontos de extremidade de API privada, um ponto de extremidade público restrito deve ser habilitado com os intervalos de IP acima.

Para clusters GKE privados, o servidor de API do Kubernetes deve expor um ponto de extremidade público restrito que permite o acesso dos Microsoft Defender aprovados para intervalos de IP de contêineres.

Permissões

  • Função: MDCGkeClusterWriteRole

    • container.clusters.update
    • container.viewer
  • Função: MDCGkeContainerResponseActionsRole

    • container.pods.update
    • container.pods.delete
    • container.networkPolicies.create
    • container.networkPolicies.update
    • container.networkPolicies.delete
  • Função: MDCGkeContainerInventoryCollectionRole

    • container.nodes.proxy
    • container.secrets.list

Note

container.clusters.update é usado para adicionar o Microsoft Defender para blocos CIDR ip estáticos de contêineres à configuração de Redes Autorizadas Mestras do cluster GKE. Se essa permissão não for concedida, a coleta de inventário falhará para clusters que têm redes autorizadas mestras habilitadas porque Defender para contêineres não podem se conectar ao servidor de API do Kubernetes. Para clusters sem Redes Autorizadas Mestras habilitadas, essa permissão não é necessária para conectividade.

Clusters do Kubernetes para Microsoft Defender para Nuvem

Os clusters do Kubernetes enviam dados de segurança de runtime para Microsoft Defender para Nuvem.

Requisitos de rede de saída

  • Protocolo: HTTPS
  • Porta: 443
  • Domínio: *.cloud.defender.microsoft.com

Permissões do Kubernetes criadas pelo sensor de Defender

O sensor Defender cria funções do Kubernetes com as seguintes permissões:

Grupo de API Resources Verbos
núcleo ("") pods, nós, serviços, eventos, configmaps get, list, watch, patch
apps daemonsets, replicasets, conjuntos de estado, implantações get, list, watch
lote trabalhos, cronjobs get, list, watch
networking.k8s.io entradas get, list, watch
apiextensions.k8s.io customresourcedefinitions get, list, watch, create, update, delete
defender.microsoft.com Todos os recursos (*) get, list, watch, create, update, delete

Infraestrutura de nuvem para Microsoft Defender para Nuvem (logs de auditoria do Kubernetes)

Defender para Contêineres requer logs de auditoria do Kubernetes para detecção de ameaças do plano de controle.

AKS (Serviço de Kubernetes do Azure)

  • Os logs de auditoria são coletados sem agente por meio Azure infraestrutura.
  • Nenhum requisito adicional de rede ou permissão se aplica, inclusive para clusters privados do AKS.

Amazon Elastic Kubernetes Service (EKS)

  • Os logs de auditoria são coletados por meio do AWS CloudWatch.
  • Defender para Nuvem cria os seguintes recursos na conta do cliente:
    • Fila do Amazon SQS
    • Fluxo de entrega do Amazon Kinesis Data Firehose
    • Bucket do Amazon S3

Funções necessárias

  • MDCContainersK8sCloudWatchToKinesisRole
  • MDCContainersK8sKinesisToS3Role

Mecanismo do Kubernetes do Google (GKE)

  • Os logs de auditoria são coletados no nível do projeto por meio do GCP Cloud Logging.
  • Defender para Nuvem cria recursos pub/sub no projeto do cliente para encaminhar logs.