Referência de acesso à rede e permissões para o Defender for Containers

Este artigo descreve os requisitos de conectividade de rede e permissões para o Microsoft Defender for Containers.

Os requisitos deste artigo dependem das funcionalidades ativadas e do ambiente em que as cargas de trabalho dos seus contentores correm.

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

Microsoft Defender para a Cloud para registos de contentores

O Microsoft Defender para a Cloud liga-se a registos de contentores para analisar imagens de contentores à procura de vulnerabilidades. Em alguns casos, o Defender for Containers também publica os resultados da avaliação de vulnerabilidades no registo.

Azure Container Registry (ACR)

Network

  • Para ACRs privados, o acesso à rede é automaticamente concedido através da infraestrutura Azure.

Permissões

  • Função: Defender Registos de Contentores
  • 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

Registo de Contentores Elásticos da Amazon (ECR)

Network

  • Os endpoints ECR estão sempre acessíveis publicamente.

Permissões

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

    • 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 vulnerabilidades de volta ao registo para implementação com bloqueio. O Microsoft Defender para a Cloud não modifica imagens de contentores de clientes.

Registo de Artefactos do Google (GAR)

Network

  • Os endpoints GAR estão sempre acessíveis publicamente.

Permissões

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

    • artifactregistry.repositories.list
    • artifactregistry.repositories.getIamPolicy
    • artifactregistry.dockerimages.list
  • Função: MDCWritingGarAvaliaçõesPapel

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

Note

As MDCWritingGarAssessmentsRole permissões são usadas apenas para publicar os resultados da avaliação de vulnerabilidades de volta ao registo para implementação com bloqueio. O Microsoft Defender para a Cloud não modifica imagens de contentores de clientes.

JFrog Artifactory (SaaS)

Network

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

Permissões e configuração

  • Um grupo dedicado, como mdc-group-{customerTenantId}
  • Um alvo de permissões com acesso de leitura a todos os repositórios do grupo MDC
  • Um fornecedor OpenID Connect (OIDC) integrado com o Microsoft Entra ID
  • Mapeamentos de identidade OIDC que permitem autenticação através do uso de tokens emitidos pela Entra

Escopos de API utilizados

  • Acesso em grupo: /access/api/v1/scim/v2/Groups
  • Alvos de permissões: /access/api/v2/permissions (LER em QUALQUER DISTRIBUIÇÃO LOCAL, REMOTA)
  • Mapeamentos de fornecedores e identidade OIDC:
    • /access/api/v1/oidc
    • /access/api/v1/oidc/{oidcName}/identity_mappings

Docker Hub (SaaS)

Network

  • O Docker Hub deve ser acessível publicamente pela internet.

Permissões

  • Token de acesso fornecido pelo cliente com acesso de leitura

Microsoft Defender para a Cloud para clusters Kubernetes

O Microsoft Defender para a Cloud liga-se aos endpoints da API Kubernetes para descobrir clusters e recolher dados de configuração para análise de postura e risco.

Serviço de Kubernetes do Azure (AKS)

Network

  • Não é necessária configuração adicional de endpoint público ou restrito do endpoint. O Microsoft Defender for Containers acede à API Kubernetes através do Azure Trusted Access.

Permissões

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

Note

Para AKS, o Defender para a Cloud utiliza o AKS Trusted Access. O Defender para a Cloud cria uma identidade gerida e uma ligação de funções de acesso de confiança. Após a descoberta do cluster, Defender para a Cloud cria um Kubernetes ClusterRoleBinding para o AKS ClusterRole aks:trustedaccessrole:defender-containers:microsoft-defender-operator, que concede permissões de leitura dentro do cluster.

Serviço Amazon Elastic Kubernetes (EKS)

Network

  • O servidor API Kubernetes deve permitir o acesso a partir de:
    • 172.212.245.192/28
    • 48.209.1.192/28
  • Para endpoints privados de API, um endpoint público restrito deve ser ativado com os intervalos de IP acima.

Para clusters privados EKS, o servidor API Kubernetes deve expor um endpoint público restrito que permita o acesso a partir do Microsoft Defender aprovado para intervalos de IP de Containers.

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 IP estáticos de contentores à lista de permissões CIDR de acesso público do cluster EKS (ResourcesVpcConfig.PublicAccessCidrs). Também é usado para atualizar o modo de autenticação de CONFIG_MAP para API_AND_CONFIG_MAP, que é necessário para a criação de entradas de acesso em clusters mais antigos. Se esta permissão não for concedida, a recolha de inventário falha em clusters com acesso restrito a endpoints públicos porque o Defender for Containers não consegue ligar-se ao servidor API Kubernetes. A recolha de inventário também falha em clusters que usam autenticação CONFIG_MAP apenas porque Defender para Containers não conseguem criar as entradas de acesso necessárias. Para clusters com um endpoint público aberto, esta permissão não é necessária para conectividade, mas o Defender para a Cloud ainda tenta a atualização de configuração.

Motor Kubernetes do Google (GKE)

Network

  • O servidor API Kubernetes deve permitir o acesso a partir de:
    • 172.212.245.192/28
    • 48.209.1.192/28
  • Para endpoints privados de API, um endpoint público restrito deve ser ativado com os intervalos de IP acima.

Para clusters privados GKE, o servidor API Kubernetes deve expor um endpoint público restrito que permita o acesso a partir do Microsoft Defender aprovado para intervalos de IP de Containers.

Permissões

  • Função: MDCGkeClusterWriteRole

    • container.clusters.update
    • container.viewer
  • Função: MDCGkeContentorRespostaAçõesPapel

    • 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 contentores à configuração de Redes Autorizadas Mestres do cluster GKE. Se esta permissão não for concedida, a recolha de inventário falha para clusters que têm Redes Autorizadas Mestres ativadas porque o Defender for Containers não consegue ligar-se ao servidor API Kubernetes. Para clusters sem Redes Autorizadas Mestres ativadas, esta permissão não é necessária para a conectividade.

Clusters Kubernetes para Microsoft Defender para a Cloud

Clusters Kubernetes enviam dados de segurança em tempo de execução para o Microsoft Defender para a Cloud.

Requisitos de rede de saída

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

Permissões Kubernetes criadas pelo sensor Defender

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

Grupo API Resources Verbos
núcleo ("") pods, nós, serviços, eventos, configmaps obtém, lista, observam, atualizam
apps daemonsets, replicasets, statefulsets, deployments obtém, lista, observam
lote empregos, cronjobs obtém, lista, observam
networking.k8s.io Ingressos obtém, lista, observam
apiextensions.k8s.io customresourcedefinições obter, listar, ver, criar, atualizar, eliminar
defender.microsoft.com Todos os recursos (*) obter, listar, ver, criar, atualizar, eliminar

Infraestrutura cloud para Microsoft Defender para a Cloud (registos de auditoria Kubernetes)

O Defender for Containers requer registos de auditoria Kubernetes para deteção de ameaças no plano de controlo.

Serviço de Kubernetes do Azure (AKS)

  • Os registos de auditoria são recolhidos sem agente através da infraestrutura do Azure.
  • Não se aplicam requisitos adicionais de rede ou permissões, incluindo para clusters privados AKS.

Serviço Amazon Elastic Kubernetes (EKS)

  • Os registos de auditoria são recolhidos através do AWS CloudWatch.
  • O Defender para a Cloud cria os seguintes recursos na conta do cliente:
    • Fila SQS da Amazon
    • Fluxo de entrega do Amazon Kinesis Data Firehose
    • Balde Amazon S3

Funções necessárias

  • MDCContainersK8sCloudWatchToKinesisRole
  • MDCContainersK8sKinesisToS3Role

Motor Kubernetes do Google (GKE)

  • Os registos de auditoria são recolhidos ao nível do projeto através do GCP Cloud Logging.
  • O Defender para a Cloud cria recursos Pub/Sub no projeto cliente para encaminhar logs.