Referencia de acceso a la red y permisos para Defender para contenedores

En este artículo se describen los requisitos de conectividad de red y permisos para Microsoft Defender para contenedores.

Los requisitos de este artículo dependen de las características habilitadas y del entorno en el que se ejecutan las cargas de trabajo de contenedor.

Obtenga más información sobre los patrones de conectividad y los componentesdel plan.

Microsoft Defender para la nube a los registros de contenedor

Microsoft Defender para la nube se conecta a los registros de contenedor para examinar las imágenes de contenedor en busca de vulnerabilidades. En algunos casos, Defender para contenedores también publica los resultados de la evaluación de vulnerabilidades en el registro.

Azure Container Registry (ACR)

Network

  • Para las ACR privadas, el acceso a la red se concede automáticamente a través de Azure infraestructura.

Permisos

  • Rol: Defender Registros de contenedor
  • Permisos:
    • 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

Amazon Elastic Container Registry (ECR)

Network

  • Los puntos de conexión ecR siempre son accesibles públicamente.

Permisos

  • Rol: CspmMonitorAws (parte del rol CSPM existente)

    • ecr:GetRegistryPolicy
    • ecr:DescribeImages
    • ecr:DescribeRepositories
    • ecr:GetRepositoryPolicy
  • Rol: MDCContainersImageAssessmentRole

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

Note

Los MDCContainersImageAssessmentRole permisos solo se usan para volver a publicar los resultados de la evaluación de vulnerabilidades en el registro para la implementación controlada. Microsoft Defender para la nube no modifica las imágenes de contenedor del cliente.

Registro de artefactos de Google (GAR)

Network

  • Los puntos de conexión gar siempre son accesibles públicamente.

Permisos

  • Rol: MDCCspmCustomRole (parte del rol CSPM existente)

    • artifactregistry.repositories.list
    • artifactregistry.repositories.getIamPolicy
    • artifactregistry.dockerimages.list
  • Rol: MDCWritingGarAssessmentsRole

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

Note

Los MDCWritingGarAssessmentsRole permisos solo se usan para volver a publicar los resultados de la evaluación de vulnerabilidades en el registro para la implementación controlada. Microsoft Defender para la nube no modifica las imágenes de contenedor del cliente.

JFrog Artifactory (SaaS)

Network

  • La instancia de JFrog Artifactory debe ser accesible públicamente a través de Internet.

Permisos y configuración

  • Un grupo dedicado, como mdc-group-{customerTenantId}
  • Un destino de permiso con acceso de lectura a todos los repositorios para el grupo de MDC
  • Un proveedor de OpenID Connect (OIDC) integrado con Microsoft Entra ID
  • Asignaciones de identidad de OIDC que permiten la autenticación mediante tokens emitidos por Entra

Ámbitos de API usados

  • Acceso de grupo: /access/api/v1/scim/v2/Groups
  • Destinos de permisos: /access/api/v2/permissions (READ en ANY LOCAL, REMOTE, DISTRIBUTION)
  • Asignaciones de identidad y proveedor de OIDC:
    • /access/api/v1/oidc
    • /access/api/v1/oidc/{oidcName}/identity_mappings

Docker Hub (SaaS)

Network

  • Docker Hub debe ser accesible públicamente a través de Internet.

Permisos

  • Token de acceso proporcionado por el cliente con acceso de lectura

Microsoft Defender para la nube a clústeres de Kubernetes

Microsoft Defender para la nube se conecta a los puntos de conexión de la API de Kubernetes para detectar clústeres y recopilar datos de configuración para el análisis de posición y riesgo.

Azure Kubernetes Service (AKS)

Network

  • No se requiere ninguna configuración de punto de conexión público o restringido adicional. Microsoft Defender para contenedores accede a la API de Kubernetes a través de Azure acceso de confianza.

Permisos

  • Identidad administrada creada en el entorno del cliente
  • Rol integrado: Operador sin agente de Kubernetes
    • Microsoft.ContainerService/managedClusters/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete

Note

Para AKS, Defender for Cloud usa el acceso de confianza de AKS. Defender for Cloud crea una identidad administrada y un enlace de rol de acceso de confianza. Una vez detectado el clúster, Defender for Cloud crea una instancia de Kubernetes ClusterRoleBinding en el clúster de AKS integradoRole aks:trustedaccessrole:defender-containers:microsoft-defender-operator, que concede permisos de lectura dentro del clúster.

Amazon Elastic Kubernetes Service (EKS)

Network

  • El servidor de API de Kubernetes debe permitir el acceso desde:
    • 172.212.245.192/28
    • 48.209.1.192/28
  • En el caso de los puntos de conexión de API privados, se debe habilitar un punto de conexión público restringido con los intervalos IP anteriores.

En el caso de los clústeres EKS privados, el servidor de API de Kubernetes debe exponer un punto de conexión público restringido que permita el acceso desde el Microsoft Defender aprobado para los intervalos IP de contenedores.

Permisos

  • Rol: MDCContainersAgentlessDiscoveryK8sRole
    • eks:UpdateClusterConfig
    • eks:DescribeCluster
    • eks:CreateAccessEntry
    • eks:ListAccessEntries
    • eks:AssociateAccessPolicy
    • eks:ListAssociatedAccessPolicies

Note

eks:UpdateClusterConfig se usa para agregar el Microsoft Defender para los bloques CIDR de IP estática de contenedores a la lista de permitidos de CIDR de acceso público del clúster de EKS (ResourcesVpcConfig.PublicAccessCidrs). También se usa para actualizar el modo de autenticación de CONFIG_MAP a API_AND_CONFIG_MAP, que es necesario para la creación de entradas de acceso en clústeres anteriores. Si no se concede este permiso, se produce un error en la recopilación de inventario para los clústeres con acceso restringido al punto de conexión público porque Defender para contenedores no se pueden conectar al servidor de API de Kubernetes. También se produce un error en la recopilación de inventario para los clústeres que usan la autenticación de solo CONFIG_MAP porque Defender para contenedores no pueden crear las entradas de acceso necesarias. En el caso de los clústeres con un punto de conexión público abierto, este permiso no es necesario para la conectividad, pero Defender for Cloud sigue intentando la actualización de configuración.

Google Kubernetes Engine (GKE)

Network

  • El servidor de API de Kubernetes debe permitir el acceso desde:
    • 172.212.245.192/28
    • 48.209.1.192/28
  • En el caso de los puntos de conexión de API privados, se debe habilitar un punto de conexión público restringido con los intervalos IP anteriores.

En el caso de los clústeres de GKE privados, el servidor de API de Kubernetes debe exponer un punto de conexión público restringido que permita el acceso desde el Microsoft Defender aprobado para los intervalos IP de contenedores.

Permisos

  • Rol: MDCGkeClusterWriteRole

    • container.clusters.update
    • container.viewer
  • Rol: MDCGkeContainerResponseActionsRole

    • container.pods.update
    • container.pods.delete
    • container.networkPolicies.create
    • container.networkPolicies.update
    • container.networkPolicies.delete
  • Rol: MDCGkeContainerInventoryCollectionRole

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

Note

container.clusters.update se usa para agregar el Microsoft Defender para los bloques CIDR de IP estática de contenedores a la configuración de redes autorizadas maestras del clúster de GKE. Si no se concede este permiso, se produce un error en la recopilación de inventario para los clústeres que tienen habilitadas redes autorizadas maestras porque Defender para contenedores no se pueden conectar al servidor de API de Kubernetes. En el caso de los clústeres sin redes autorizadas maestras habilitadas, este permiso no es necesario para la conectividad.

Clústeres de Kubernetes para Microsoft Defender para la nube

Los clústeres de Kubernetes envían datos de seguridad en tiempo de ejecución a Microsoft Defender para la nube.

Requisitos de red salientes

  • Protocolo: HTTPS
  • Puerto: 443.
  • Dominio: *.cloud.defender.microsoft.com

Permisos de Kubernetes creados por el sensor de Defender

El sensor Defender crea roles de Kubernetes con los permisos siguientes:

Grupo de API Recursos Verbos
core ("") pods, nodos, servicios, eventos, configmaps get, list, watch, patch
apps daemonsets, replicasets, statefulsets, deployments get, list, watch
proceso por lotes jobs, cronjobs get, list, watch
networking.k8s.io entrada get, list, watch
apiextensions.k8s.io customresourcedefinitions get, list, watch, create, update, delete
defender.microsoft.com Todos los recursos (*) get, list, watch, create, update, delete

Infraestructura en la nube para Microsoft Defender para la nube (registros de auditoría de Kubernetes)

Defender para contenedores requiere registros de auditoría de Kubernetes para la detección de amenazas del plano de control.

Azure Kubernetes Service (AKS)

  • Los registros de auditoría se recopilan sin agente a través de Azure infraestructura.
  • No se aplican requisitos de permisos ni de red adicionales, incluidos los clústeres de AKS privados.

Amazon Elastic Kubernetes Service (EKS)

  • Los registros de auditoría se recopilan a través de AWS CloudWatch.
  • Defender for Cloud crea los siguientes recursos en la cuenta de cliente:
    • Cola de Amazon SQS
    • Flujo de entrega de Amazon Kinesis Data Firehose
    • Bucket de Amazon S3

Roles necesarios

  • MDCContainersK8sCloudWatchToKinesisRole
  • MDCContainersK8sKinesisToS3Role

Google Kubernetes Engine (GKE)

  • Los registros de auditoría se recopilan en el nivel de proyecto mediante el registro en la nube de GCP.
  • Defender for Cloud crea recursos Pub/Sub en el proyecto del cliente para reenviar registros.