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

В этой статье перечислены роли и разрешения, необходимые для установки компонентов Defender для контейнеров в средах AWS Elastic Kubernetes Service (EKS) и GCP Google Kubernetes Engine (GKE).

Необходимые разрешения

Функция Defender для контейнера Компонент Требуемая роль
Защита среды выполнения GKE

Ужесточение рабочей нагрузки GKE

Оценка уязвимостей среды выполнения (необязательно)
Развертывание GKE Arc (для агента Defender и агента политики Azure) Роль Azure Arc: оператор агента Defender Kubernetes

Предопределенная роль GCP: администратор ядра Kubernetes
ИЛИ
Средство просмотра подсистемы Kubernetes (если включена только защита от угроз без агента и (или) расширение доступа к API Kubernetes)
Защита среды выполнения EKS

Ужесточение рабочей нагрузки GKE

Оценка уязвимостей среды выполнения (необязательно)
Развертывание AWS Arc (для агента Defender и агента политики Azure) Роль Azure Arc: оператор агента Defender Kubernetes

Роль AWS: AzureDefenderKubernetesRole
Укрепление уровня управления GKE — защита от угроз без агента Подготовка GKE AuditLogs См. разрешения защиты от угроз без агента GCP
Укрепление контрольного уровня EKS — безагентная защита от угроз Подготовка AWS AuditLogs Сведения о разрешениях защиты от угроз без агента AWS

Роль конфигурации Azure Arc для EKS и GKE

Встроенная роль оператор агента Defender Kubernetes в Azure Arc для развертывания агента Defender и агента политики Azure имеет следующие разрешения:

  • Microsoft.Authorization/*/читать
  • Microsoft.Insights/alertRules/*
  • Microsoft.Resources/deployments/*
  • Microsoft.Resources/subscriptions/resourceGroups/read
  • Microsoft.Resources/subscriptions/resourceGroups/write
  • Microsoft.Resources/subscriptions/operationresults/read
  • Microsoft.Resources/subscriptions/read
  • КонфигурацияКубернетес.Майкрософт/расширения/запись
  • Microsoft.KubernetesConfiguration/extensions/read
  • Microsoft.KubernetesConfiguration/extensions/delete (удаление)
  • Microsoft.KubernetesConfiguration/extensions/operations/read
  • Microsoft.Kubernetes/connectedClusters/Write
  • Microsoft.Kubernetes/connectedClusters/read
  • Microsoft.OperationalInsights/workspaces/write
  • Microsoft.OperationalInsights/workspaces/read
  • Microsoft.OperationalInsights/workspaces/listKeys/action
  • Microsoft.OperationalInsights/workspaces/sharedkeys/action
  • Microsoft.Kubernetes/register/action
  • Microsoft.KubernetesConfiguration/register/action

Разрешения защиты от угроз без агента AWS

  • AzureDefenderKubernetesRole (имя роли по умолчанию: MDCContainersK8sRole):

  • sts:AssumeRole

  • sts:AssumeRoleWithWebIdentity

  • logs:PutSubscriptionFilter

  • logs:DescribeSubscriptionFilters

  • logs:DescribeLogGroups

  • logs:PutRetentionPolicy

  • firehose:*

  • iam:PassRole

  • eks:UpdateClusterConfig

  • eks:DescribeCluster

  • eks:CreateAccessEntry

  • eks:ListAccessEntries

  • eks:AssociateAccessPolicy

  • eks:ListAssociatedAccessPolicies

  • sqs:*

  • s3:*

  • AzureDefenderKubernetesScubaReaderRole (имя роли по умолчанию: MDCContainersK8sDataCollectionRole):

    • sts:AssumeRole
    • sts:AssumeRoleWithWebIdentity
    • sqs:ReceiveMessage
    • sqs:УдалениеСообщения
    • s3:GetObject
    • s3:GetBucketLocation
  • AzureDefenderCloudWatchToKinesisRole (имя роли по умолчанию: MDCContainersK8sCloudWatchToKinesisRole):

    • sts:AssumeRole
    • firehose:*
  • AzureDefenderKinesisToS3Role (имя роли по умолчанию: MDCContainersK8sKinesisToS3Role):

  • MDCContainersAgentlessDiscoveryK8sRole

    • sts:AssumeRoleWithWebIdentity
    • eks:UpdateClusterConfig
    • eks:DescribeCluster
    • eks:CreateAccessEntry
    • eks:ListAccessEntries
    • eks:AssociateAccessPolicy
    • eks:ListAssociatedAccessPolicies
  • MDCContainersImageAssessmentRole

Разрешения защиты от угроз без агента GCP

  • MicrosoftDefenderContainersDataCollectionRole

    • pubsub.subscriptions.consume
    • pubsub.subscriptions.get
  • Роль контейнеров Microsoft Defender

    • logging.sinks.list
    • logging.sinks.get
    • logging.sinks.create
    • logging.sinks.update
    • logging.sinks.delete
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.organizations.getIamPolicy
    • iam.serviceAccounts.get
    • iam.workloadIdentityPoolProviders.get (все лог-файлы, которые отправляются в Pub/Sub)
  • MDCCustomRole

    • resourcemanager.folders.get
    • resourcemanager.folders.list
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • serviceusage.services.enable
    • iam.роли.create
    • iam.roles.list
    • compute.projects.get
    • compute.projects.setCommonInstanceMetadata
  • MDCCspmCustomRole

    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.list
    • resourcemanager.organizations.get
    • resourcemanager.organizations.getIamPolicy
    • storage.buckets.getIamPolicy
  • MDCGkeContainerInventoryCollectionRole

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

Разрешения, предоставленные в облачных средах

Подключение облачных сред AWS и GCP к Defender for Cloud через портал Azure создает соединитель в целевой облачной среде и генерирует скрипт, который необходимо запустить в облачной среде для создания требуемых ролей и разрешений. Сценарий создается на основе параметров, которые вы выбираете при переходе к процессу подключения.

В рамках процесса подключения вы выбираете два типа разрешений: доступ по умолчанию и минимальный привилегированный доступ:

  • Доступ по умолчанию поддерживает все текущие и будущие расширения выбранных планов Defender.

  • Параметр "Минимальный привилегированный доступ" предоставляет разрешения, необходимые только для поддержки текущих расширений.

В следующих таблицах показаны разрешения, предоставленные определенным ролям Defender для контейнеров, в зависимости от выбранного типа разрешений.

Доступ по умолчанию к AWS

Имя роли Связанные политики / разрешения Возможности
MDCContainersImageAssessmentRole AmazonEC2ContainerRegistryPowerUser Список разрешений AWS

Список разрешений AWS AmazonElasticContainerRegistryPublicPowerUser
Оценка уязвимостей без агента.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
eks:CreateAccessEntry
eks:ListAccessEntries
eks:AssociateAccessPolicy
eks:ListAssociatedAccessPolicies
Обнаружение Kubernetes без агента.
Обновление кластеров EKS для поддержки ограничения IP-адресов

Наименее привилегированный доступ к AWS

Имя роли Связанные политики / разрешения возможности
MDCContainersImageAssessmentRole Список разрешений AmazonEC2ContainerRegistryReadOnly AWS
Список разрешений AmazonElasticContainerRegistryPublicReadOnly AWS
Оценка уязвимостей без агента.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
Обнаружение Kubernetes без агента.
Обновление кластеров EKS для поддержки ограничения IP-адресов

Доступ по умолчанию GCP

Имя учетной записи службы Связанные роли и разрешения Возможности
mdc-контейнеры-артефакт-оценка Список разрешений Roles/storage.objectUser GCP

Список разрешений GCP для ролей/artifactregistry.writer
Оценка уязвимостей без агента.
оператор mdc-containers-k8s-operator Roles/container.viewer список разрешений GCP
Пользовательская роль MDCGkeClusterWriteRole [Настраиваемая роль] с разрешением container.clusters.update
Обнаружение Kubernetes без агента
Обновление кластеров GKE для поддержки ограничения IP-адресов

Наименьшие привилегии доступа GCP

Имя учетной записи службы Связанные роли и разрешения Текущие возможности
mdc-контейнеры-артефакт-оценка Роли/artifactregistry.reader Список разрешений GCP
Роли/storage.objectViewer Список разрешений GCP
Оценка уязвимостей без агента.
оператор mdc-containers-k8s-operator Roles/container.viewer список разрешений GCP

Пользовательская роль MDCGkeClusterWriteRole с разрешением сервиса container.clusters.update
Обнаружение Kubernetes без агента.
Обновление кластеров GKE для поддержки ограничения IP-адресов

Дальнейшие действия