Netzwerkzugriffs- und Berechtigungsreferenz für Defender für Container

In diesem Artikel werden die Netzwerkkonnektivitäts- und Berechtigungsanforderungen für Microsoft Defender für Container beschrieben.

Die Anforderungen in diesem Artikel hängen von den aktivierten Features und der Umgebung ab, in der Ihre Containerworkloads ausgeführt werden.

Erfahren Sie mehr über Konnektivitätsmuster und Plankomponenten.

Microsoft Defender for Cloud containerregistries

Microsoft Defender for Cloud stellt eine Verbindung mit Containerregistrierungen zum Scannen von Containerimages auf Sicherheitsrisiken bereit. In einigen Fällen veröffentlicht Defender für Container auch Ergebnisse der Sicherheitsrisikobewertung zurück in der Registrierung.

Azure Container Registry (ACR)

Network

  • Bei privaten ACRs wird der Netzwerkzugriff automatisch über Azure Infrastruktur gewährt.

Erlaubnisse

  • Rolle: Defender Containerregistries
  • Berechtigungen:
    • 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

  • ECR-Endpunkte sind immer öffentlich zugänglich.

Erlaubnisse

  • Rolle: CspmMonitorAws (Teil der vorhandenen CSPM-Rolle)

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

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

Note

Die MDCContainersImageAssessmentRole Berechtigungen werden nur verwendet, um Ergebnisse der Sicherheitsrisikobewertung zurück in der Registrierung für die Bereitstellung von Gated zu veröffentlichen. Microsoft Defender for Cloud ändert keine Kundencontainerimages.

Google Artifact Registry (GAR)

Network

  • GAR-Endpunkte sind immer öffentlich zugänglich.

Erlaubnisse

  • Rolle: MDCCspmCustomRole (Teil der vorhandenen CSPM-Rolle)

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

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

Note

Die MDCWritingGarAssessmentsRole Berechtigungen werden nur verwendet, um Ergebnisse der Sicherheitsrisikobewertung zurück in der Registrierung für die Bereitstellung von Gated zu veröffentlichen. Microsoft Defender for Cloud ändert keine Kundencontainerimages.

JFrog Artifactory (SaaS)

Network

  • Die JFrog Artifactory-Instanz muss über das Internet öffentlich zugänglich sein.

Berechtigungen und Konfiguration

  • Eine dedizierte Gruppe, z. B. mdc-group-{customerTenantId}
  • Ein Berechtigungsziel mit Lesezugriff auf alle Repositorys für die MDC-Gruppe
  • Ein in Microsoft Entra ID integrierter OpenID Connect(OIDC)-Anbieter
  • OIDC-Identitätszuordnungen, die die Authentifizierung mithilfe von entra ausgestellten Token zulassen

Verwendete API-Bereiche

  • Gruppenzugriff: /access/api/v1/scim/v2/Groups
  • Berechtigungsziele: /access/api/v2/permissions (READ on ANY LOCAL, REMOTE, DISTRIBUTION)
  • OIDC-Anbieter und Identitätszuordnungen:
    • /access/api/v1/oidc
    • /access/api/v1/oidc/{oidcName}/identity_mappings

Docker Hub (SaaS)

Network

  • Docker Hub müssen öffentlich über das Internet zugänglich sein.

Erlaubnisse

  • Vom Kunden bereitgestelltes Zugriffstoken mit Lesezugriff

Microsoft Defender for Cloud zu Kubernetes-Clustern

Microsoft Defender for Cloud stellt eine Verbindung mit Kubernetes-API-Endpunkten bereit, um Cluster zu ermitteln und Konfigurationsdaten für die Haltungs- und Risikoanalyse zu sammeln.

Azure Kubernetes Service (AKS)

Network

  • Es ist keine zusätzliche Konfiguration für öffentliche oder eingeschränkte öffentliche Endpunkte erforderlich. Microsoft Defender für Container greift über Azure vertrauenswürdigen Zugriff auf die Kubernetes-API zu.

Erlaubnisse

  • Verwaltete Identität, die in der Kundenumgebung erstellt wurde
  • Integrierte Rolle: Kubernetes Agentless Operator
    • Microsoft.ContainerService/managedClusters/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete

Note

Für AKS verwendet Defender for Cloud AKS Trusted Access. Defender for Cloud erstellt eine verwaltete Identität und eine vertrauenswürdige Zugriffsrollenbindung. Nachdem der Cluster erkannt wurde, erstellt Defender for Cloud eine Kubernetes-ClusterRoleBinding für die integrierte AKS ClusterRole aks:trustedaccessrole:defender-containers:microsoft-defender-operator, die Leseberechtigungen innerhalb des Clusters gewährt.

Amazon Elastic Kubernetes Service (EKS)

Network

  • Kubernetes-API-Server muss den Zugriff von:
    • 172.212.245.192/28
    • 48.209.1.192/28
  • Für private API-Endpunkte muss ein eingeschränkter öffentlicher Endpunkt mit den oben genannten IP-Bereichen aktiviert werden.

Für private EKS-Cluster muss der Kubernetes-API-Server einen eingeschränkten öffentlichen Endpunkt verfügbar machen, der den Zugriff von den genehmigten Microsoft Defender für Container-IP-Bereiche ermöglicht.

Erlaubnisse

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

Note

eks:UpdateClusterConfig wird verwendet, um die Microsoft Defender für statische IP-CIDR-Blöcke des EKS-Clusters der CIDR-Zulassungsliste (ResourcesVpcConfig.PublicAccessCidrs) hinzuzufügen. Es wird auch verwendet, um den Authentifizierungsmodus von CONFIG_MAP zu API_AND_CONFIG_MAPaktualisieren, der für die Erstellung von Zugriffseingaben in älteren Clustern erforderlich ist. Wenn diese Berechtigung nicht gewährt wird, schlägt die Bestandssammlung für Cluster mit eingeschränktem zugriff auf öffentliche Endpunkte fehl, da Defender für Container keine Verbindung mit dem Kubernetes-API-Server herstellen können. Die Bestandssammlung schlägt auch bei Clustern fehl, die CONFIG_MAP-only-Authentifizierung verwenden, da Defender für Container nicht die erforderlichen Zugriffseinträge erstellen können. Bei Clustern mit einem offenen öffentlichen Endpunkt ist diese Berechtigung nicht für die Konnektivität erforderlich, Defender for Cloud versucht jedoch weiterhin das Konfigurationsupdate.

Google Kubernetes Engine (GKE)

Network

  • Kubernetes-API-Server muss den Zugriff von:
    • 172.212.245.192/28
    • 48.209.1.192/28
  • Für private API-Endpunkte muss ein eingeschränkter öffentlicher Endpunkt mit den oben genannten IP-Bereichen aktiviert werden.

Für private GKE-Cluster muss der Kubernetes-API-Server einen eingeschränkten öffentlichen Endpunkt verfügbar machen, der den Zugriff von den genehmigten Microsoft Defender für Container-IP-Bereiche zulässt.

Erlaubnisse

  • Rolle: MDCGkeClusterWriteRole

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

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

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

Note

container.clusters.update wird verwendet, um die Microsoft Defender für statische IP-CIDR-Blöcke des GKE-Clusters zur Konfiguration autorisierter Netzwerke des GKE-Clusters hinzuzufügen. Wenn diese Berechtigung nicht gewährt wird, schlägt die Bestandsauflistung für Cluster fehl, für die autorisierte Masternetzwerke aktiviert sind, da Defender für Container keine Verbindung mit dem Kubernetes-API-Server herstellen können. Für Cluster ohne aktivierte autorisierte Masternetzwerke ist diese Berechtigung nicht für die Konnektivität erforderlich.

Kubernetes-Cluster zum Microsoft Defender for Cloud

Kubernetes-Cluster senden Laufzeitsicherheitsdaten an Microsoft Defender for Cloud.

Anforderungen für ausgehende Netzwerke

  • Protokoll: HTTPS
  • Port: 443
  • Domäne: *.cloud.defender.microsoft.com

Kubernetes-Berechtigungen, die vom Defender Sensor erstellt wurden

Der Defender Sensor erstellt Kubernetes-Rollen mit den folgenden Berechtigungen:

API-Gruppe Ressourcen Verben
Core ("") Pods, Knoten, Dienste, Ereignisse, Configmaps get, list, watch, patch
apps daemonsets, replicasets, statefulsets, deployments get, list, watch
batch Jobs, Cronjobs get, list, watch
networking.k8s.io Ingresse get, list, watch
apiextensions.k8s.io customresourcedefinitions get, list, watch, create, update, delete
defender.microsoft.com Alle Ressourcen (*) get, list, watch, create, update, delete

Cloudinfrastruktur für Microsoft Defender for Cloud (Kubernetes-Überwachungsprotokolle)

Defender für Container erfordert Kubernetes-Überwachungsprotokolle für die Bedrohungserkennung der Ebene.

Azure Kubernetes Service (AKS)

  • Überwachungsprotokolle werden über Azure Infrastruktur ohne Agent gesammelt.
  • Es gelten keine zusätzlichen Netzwerk- oder Berechtigungsanforderungen, einschließlich privater AKS-Cluster.

Amazon Elastic Kubernetes Service (EKS)

  • Überwachungsprotokolle werden über AWS CloudWatch gesammelt.
  • Defender for Cloud erstellt die folgenden Ressourcen im Kundenkonto:
    • Amazon SQS-Warteschlange
    • Amazon Kinesis Data Firehose Delivery Stream
    • Amazon S3 Bucket

Erforderliche Rollen

  • MDCContainersK8sCloudWatchToKinesisRole
  • MDCContainersK8sKinesisToS3Role

Google Kubernetes Engine (GKE)

  • Überwachungsprotokolle werden über die GCP-Cloudprotokollierung auf Projektebene gesammelt.
  • Defender for Cloud erstellt Pub/Sub-Ressourcen im Kundenprojekt, um Protokolle weiterzuleiten.