Uprawnienia usługi Cloud IAM dla Defender dla kontenerów na platformach AWS i GCP

W tym artykule opisano role IAM w chmurze i uprawnienia wymagane do dołączania i obsługi Microsoft Defender dla kontenerów w środowiskach Amazon Elastic Kubernetes Service (EKS) i Google Kubernetes Engine (GKE).

Te uprawnienia dotyczą łączników w chmurze, Azure Arc aprowizacji, ochrony przed zagrożeniami bez agenta i funkcji integracji rejestru.

Uprawnienia wymagane przez funkcję

funkcja Defender for Containers Składnik Wymagane role
Ochrona środowiska uruchomieniowego GKE

Utwardzanie obciążenia GKE

Ocena luk w zabezpieczeniach środowiska uruchomieniowego (opcjonalnie)
Aprowizacja usługi GKE Arc dla agenta Defender i agenta Azure Policy Rola usługi Azure Arc: Operator agenta platformy Kubernetes w usłudze Defender

Wstępnie zdefiniowana rola GCP: Administrator aparatu Kubernetes
OR
Podgląd aparatu Kubernetes, jeśli włączono tylko ochronę przed zagrożeniami bez agenta i/lub rozszerzenie dostępu interfejsu API Kubernetes
Ochrona środowiska uruchomieniowego EKS

Wzmacnianie zabezpieczeń obciążenia EKS

Ocena luk w zabezpieczeniach środowiska uruchomieniowego (opcjonalnie)
Aprowizacja eks Arc dla agenta Defender i agenta Azure Policy Rola usługi Azure Arc: Operator agenta platformy Kubernetes w usłudze Defender

Rola AWS: AzureDefenderKubernetesRole
Wzmacnianie płaszczyzny sterowania GKE — ochrona przed zagrożeniami bez agenta Konfigurowanie dzienników audytu GKE Zobacz Uprawnienia ochrony przed zagrożeniami bez agenta GCP
Wzmacnianie zabezpieczeń płaszczyzny sterowania EKS — ochrona przed zagrożeniami bez agenta Aprowizacja dzienników inspekcji platformy AWS Zobacz Uprawnienia ochrony przed zagrożeniami bez agenta platformy AWS

Rola konfiguracji Azure Arc dla EKS i GKE

Wbudowana rola w usłudze Azure Arc Defender Kubernetes Agent Operator, przeznaczona do aprowizacji agenta Defendera i agenta zasad platformy Azure, ma następujące uprawnienia:

  • Microsoft.Authorization/*/czytanie
  • 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/write
  • Microsoft.KubernetesConfiguration/extensions/read
  • Microsoft.KubernetesConfiguration/extensions/delete
  • Microsoft.KubernetesConfiguration/extensions/operations/read
  • Microsoft.Kubernetes/connectedClusters/Write
  • Microsoft.Kubernetes/connectedClusters/read
  • Microsoft.OperationalInsights/workspaces/zapisz
  • Microsoft.OperationalInsights/workspaces/czytaj
  • Microsoft.OperationalInsights/workspaces/listKeys/action
  • Microsoft.OperationalInsights/przestrzenie_robocze/klucze_współdzielone/działanie
  • Microsoft.Kubernetes/register/action
  • Microsoft.KubernetesConfiguration/register/action

Uprawnienia ochrony przed zagrożeniami bez agenta platformy AWS

  • AzureDefenderKubernetesRole (domyślna nazwa roli: 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 (domyślna nazwa roli : MDCContainersK8sDataCollectionRole):

    • sts:AssumeRole
    • sts:AssumeRoleWithWebIdentity
    • sqs:ReceiveMessage
    • sqs:DeleteMessage
    • s3:GetObject
    • s3:GetBucketLocation
  • AzureDefenderCloudWatchToKinesisRole (domyślna nazwa roli : MDCContainersK8sCloudWatchToKinesisRole):

    • sts:AssumeRole
    • firehose:*
  • AzureDefenderKinesisToS3Role (domyślna nazwa roli: MDCContainersK8sKinesisToS3Role):

  • MDCContainersAgentlessDiscoveryK8sRole

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

    • sts:AssumeRoleWithWebIdentity
    • Uprawnienia tych przejętych ról: AmazonEC2ContainerRegistryPowerUser & AmazonElasticContainerRegistryPublicPowerUser

Uprawnienia ochrony przed zagrożeniami bez agenta GCP

  • MicrosoftDefenderContainersDataCollectionRole

    • pubsub.subscriptions.consume
    • pubsub.subscriptions.get
  • MicrosoftDefenderContainersRole

    • 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 (wszystkie logi, które trafiają do Pub/Sub)
  • MDCCustomRole

    • resourcemanager.folders.get
    • resourcemanager.folders.list
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • serviceusage.services.enable
    • iam.roles.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

Uprawnienia przyznane w środowiskach chmury

Po dołączeniu środowisk AWS lub GCP do Microsoft Defender dla Chmury skrypt wdrożenia jest generowany w celu utworzenia wymaganych ról IAM na podstawie wybranego modelu dostępu:

  • Domyślny dostęp obsługuje wszystkie bieżące i przyszłe rozszerzenia wybranych planów usługi Defender.
  • Dostęp z najmniejszymi uprawnieniami przyznaje tylko uprawnienia wymagane do obsługi obecnie włączonych rozszerzeń.

W poniższych tabelach przedstawiono uprawnienia przyznane do Defender dla ról Kontenery w zależności od wybranego modelu dostępu.

Dostęp domyślny platformy AWS

Nazwa roli Skojarzone zasady/uprawnienia Możliwości
MDCContainersImageAssessmentRole Lista uprawnień AmazonEC2ContainerRegistryPowerUser AWS

Lista uprawnień AmazonElasticContainerRegistryPublicPowerUser AWS
Ocena luk w zabezpieczeniach kontenera bez agenta.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
eks:CreateAccessEntry
eks:ListAccessEntries
eks:AssociateAccessPolicy
eks:ListAssociatedAccessPolicies
Odkrywanie Kubernetes bez agenta.
Aktualizowanie klastrów EKS w celu obsługi ograniczeń adresów IP

Dostęp z najmniej uprzywilejowanym dostępem na platformie AWS

Nazwa roli Skojarzone zasady/uprawnienia Możliwości
MDCContainersImageAssessmentRole AmazonEC2ContainerRegistryReadOnly AWS — lista uprawnień
Lista uprawnień usługi AmazonElasticContainerRegistryPublicReadOnly AWS
Ocena luk w zabezpieczeniach kontenera bez agenta.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
Odkrywanie Kubernetes bez agenta.
Aktualizowanie klastrów EKS w celu obsługi ograniczeń adresów IP

Dostęp domyślny GCP

Nazwa konta usługi Skojarzone role/uprawnienia Możliwości
mdc-containers-artifact-assess Roles/storage.objectUser Lista uprawnień GCP

Lista uprawnień roles/artifactregistry.writer GCP
Ocena luk w zabezpieczeniach kontenera bez agenta.
mdc-containers-k8s-operator Lista uprawnień GCP dla roli roles/container.viewer
Niestandardowa rola MDCGkeClusterWriteRole [Rola niestandardowa] z uprawnieniem container.clusters.update
Odnajdywanie platformy Kubernetes bez agenta
Aktualizowanie klastrów GKE w celu obsługi ograniczeń adresów IP

GCP najmniej uprzywilejowany dostęp

Nazwa konta usługi Skojarzone role/uprawnienia Bieżące możliwości
mdc-containers-artifact-assess Lista uprawnień GCP roles/artifactregistry.reader
roles/storage.objectViewer GCP Lista uprawnień
Ocena luk w zabezpieczeniach kontenera bez agenta.
mdc-containers-k8s-operator Lista uprawnień GCP dla roli roles/container.viewer

Rola niestandardowa MDCGkeClusterWriteRole z uprawnieniem container.clusters.update
Odkrywanie Kubernetes bez agenta.
Aktualizowanie klastrów GKE w celu obsługi ograniczeń adresów IP

Następne kroki