Справочник по доступу к сети и разрешениям для Defender для контейнеров

В этой статье описываются требования к сетевому подключению и разрешениям для Microsoft Defender для контейнеров.

Требования в этой статье зависят от включенных функций и среды, в которой выполняются рабочие нагрузки контейнера.

Дополнительные сведения о шаблонах подключения и компонентах плана.

Microsoft Defender для облака в реестры контейнеров

Microsoft Defender для облака подключается к реестрам контейнеров для проверки образов контейнеров на наличие уязвимостей. В некоторых случаях Defender для контейнеров также публикует результаты оценки уязвимостей обратно в реестр.

Реестр контейнеров Azure (ACR)

Network

  • Для частных контроллеров управления доступом к сети автоматически предоставляется через инфраструктуру Azure.

Разрешения

  • Роль: Defender реестры контейнеров
  • Разрешения:
    • 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 (ECR)

Network

  • Конечные точки ECR всегда общедоступны.

Разрешения

  • Роль: CspmMonitorAws (часть существующей роли CSPM)

    • ecr:GetRegistryPolicy
    • ecr:DescribeImages
    • ecr:DescribeRepositories
    • ecr:GetRepositoryPolicy
  • Роль: MDCContainersImageAssessmentRole

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

Note

Разрешения MDCContainersImageAssessmentRole используются только для публикации результатов оценки уязвимостей обратно в реестр для воротного развертывания. Microsoft Defender для облака не изменяет образы контейнеров клиента.

Реестр артефактов Google (GAR)

Network

  • Конечные точки GAR всегда являются общедоступными.

Разрешения

  • Роль: MDCCspmCustomRole (часть существующей роли CSPM)

    • artifactregistry.repositories.list
    • artifactregistry.repositories.getIamPolicy
    • artifactregistry.dockerimages.list
  • Роль: MDCWritingGarAssessmentsRole

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

Note

Разрешения MDCWritingGarAssessmentsRole используются только для публикации результатов оценки уязвимостей обратно в реестр для воротного развертывания. Microsoft Defender для облака не изменяет образы контейнеров клиента.

JFrog Artifactory (SaaS)

Network

  • Экземпляр JFrog Artifactory должен быть общедоступным через Интернет.

Разрешения и конфигурация

  • Выделенная группа, например mdc-group-{customerTenantId}
  • Целевой объект разрешений с доступом на чтение ко всем репозиториям для группы MDC
  • Поставщик OpenID Connect (OIDC), интегрированный с Microsoft Entra ID
  • Сопоставления OIDC удостоверений, разрешающие проверку подлинности с помощью маркеров, выданных записью

Используемые области API

  • Доступ к группе: /access/api/v1/scim/v2/Groups
  • Целевые объекты разрешений: /access/api/v2/permissions (READ on ANY LOCAL, REMOTE, DISTRIBUTION)
  • Сопоставления поставщиков и OIDC:
    • /access/api/v1/oidc
    • /access/api/v1/oidc/{oidcName}/identity_mappings

Docker Hub (SaaS)

Network

  • Docker Hub должен быть общедоступным через Интернет.

Разрешения

  • Маркер доступа, предоставляемый клиентом, с доступом на чтение

Microsoft Defender для облака в кластеры Kubernetes

Microsoft Defender для облака подключается к конечным точкам API Kubernetes для обнаружения кластеров и сбора данных конфигурации для анализа состояния и риска.

Azure Kubernetes Service (AKS)

Network

  • Дополнительная конфигурация общедоступной или ограниченной общедоступной конечной точки не требуется. Microsoft Defender для контейнеров обращается к API Kubernetes через Azure доверенный доступ.

Разрешения

  • Управляемое удостоверение, созданное в клиентской среде
  • Встроенная роль: оператор Kubernetes без агента
    • Microsoft.ContainerService/managedClusters/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete

Note

Для AKS Defender для облака использует доверенный доступ AKS. Defender для облака создает управляемое удостоверение и привязку роли доверенного доступа. После обнаружения кластера Defender для облака создает kubernetes ClusterRoleBinding в встроенный кластер AKS ClusterRole aks:trustedaccessrole:defender-containers:microsoft-defender-operator, который предоставляет разрешения на чтение внутри кластера.

Amazon Elastic Kubernetes Service (EKS)

Network

  • Сервер API Kubernetes должен разрешить доступ из:
    • 172.212.245.192/28
    • 48.209.1.192/28
  • Для частных конечных точек API необходимо включить ограниченную общедоступную конечную точку с диапазонами IP-адресов выше.

Для частных кластеров EKS сервер API Kubernetes должен предоставлять ограниченную общедоступную конечную точку, которая разрешает доступ из утвержденных Microsoft Defender для диапазонов IP-адресов контейнеров.

Разрешения

  • Роль: MDCContainersAgentlessDiscoveryK8sRole
    • eks:UpdateClusterConfig
    • eks:DescribeCluster
    • eks:CreateAccessEntry
    • eks:ListAccessEntries
    • eks:AssociateAccessPolicy
    • eks:ListAssociatedAccessPolicies

Note

eks:UpdateClusterConfig используется для добавления блоков Microsoft Defender статических IP-ciDR контейнеров в список разрешений ciDR для общедоступного доступа кластера EKS (ResourcesVpcConfig.PublicAccessCidrs). Он также используется для обновления режима проверки подлинности на CONFIG_MAPAPI_AND_CONFIG_MAP, который необходим для создания записи доступа в старых кластерах. Если это разрешение не предоставлено, коллекция инвентаризации завершается ошибкой для кластеров с ограниченным доступом к общедоступной конечной точке, так как Defender для контейнеров не удается подключиться к серверу API Kubernetes. Коллекция инвентаризаций также завершается ошибкой для кластеров, использующих проверку подлинности только CONFIG_MAP, так как Defender для контейнеров не удается создать необходимые записи доступа. Для кластеров с открытой общедоступной конечной точкой это разрешение не требуется для подключения, но Defender для облака по-прежнему пытается обновить конфигурацию.

Google Kubernetes Engine (GKE)

Network

  • Сервер API Kubernetes должен разрешить доступ из:
    • 172.212.245.192/28
    • 48.209.1.192/28
  • Для частных конечных точек API необходимо включить ограниченную общедоступную конечную точку с диапазонами IP-адресов выше.

Для частных кластеров GKE сервер API Kubernetes должен предоставлять ограниченную общедоступную конечную точку, которая разрешает доступ из утвержденных Microsoft Defender для диапазонов IP-адресов контейнеров.

Разрешения

  • Роль: MDCGkeClusterWriteRole

    • container.clusters.update
    • container.viewer
  • Роль: MDCGkeContainerResponseActionsRole

    • container.pods.update
    • container.pods.delete
    • container.networkPolicies.create
    • container.networkPolicies.update
    • container.networkPolicies.delete
  • Роль: MDCGkeContainerInventoryCollectionRole

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

Note

container.clusters.update используется для добавления блоков Microsoft Defender статических IP-ciDR контейнеров в конфигурацию главного авторизованного сетей кластера GKE. Если это разрешение не предоставлено, коллекция инвентаризации завершается ошибкой для кластеров с включенными главными авторизованными сетями, так как Defender для контейнеров не удается подключиться к серверу API Kubernetes. Для кластеров без поддержки основных авторизованных сетей это разрешение не требуется для подключения.

Кластеры Kubernetes для Microsoft Defender для облака

Кластеры Kubernetes отправляют данные безопасности среды выполнения в Microsoft Defender для облака.

Требования к исходящей сети

  • Протокол: HTTPS
  • Порт: 443
  • Домена: *.cloud.defender.microsoft.com

Разрешения Kubernetes, созданные датчиком Defender

Датчик Defender создает роли Kubernetes со следующими разрешениями:

Группа API Resources Глаголы
core ("") pod, узлы, службы, события, конфигурации get, list, watch, patch
apps управляющей программы, реплики, наборы состояний, развертывания get, list, watch
партия задания, cronjobs get, list, watch
networking.k8s.io входящий трафик get, list, watch
apiextensions.k8s.io customresourcedefinitions get, list, watch, create, update, delete
defender.microsoft.com Все ресурсы (*) get, list, watch, create, update, delete

Облачная инфраструктура для Microsoft Defender для облака (журналы аудита Kubernetes)

Defender для контейнеров требуются журналы аудита Kubernetes для обнаружения угроз уровня управления.

Azure Kubernetes Service (AKS)

  • Журналы аудита собираются без агента через инфраструктуру Azure.
  • Дополнительные требования к сети или разрешениям не применяются, в том числе для частных кластеров AKS.

Amazon Elastic Kubernetes Service (EKS)

  • Журналы аудита собираются с помощью AWS CloudWatch.
  • Defender для облака создает следующие ресурсы в учетной записи клиента:
    • Очередь Amazon SQS
    • Поток доставки Amazon Kinesis Data Firehose
    • Контейнер Amazon S3

Обязательные роли

  • MDCContainersK8sCloudWatchToKinesisRole
  • MDCContainersK8sKinesisToS3Role

Google Kubernetes Engine (GKE)

  • Журналы аудита собираются на уровне проекта с помощью GCP Cloud Log.
  • Defender для облака создает ресурсы Pub/Sub в проекте клиента для пересылки журналов.