Cloud IAM-Berechtigungen für Defender für Container auf AWS und GCP

In diesem Artikel werden die Cloud-IAM-Rollen und -Berechtigungen beschrieben, die zum Onboarding und Betrieb von Microsoft Defender für Container in Amazon Elastic Kubernetes Service (EKS) und Google Kubernetes Engine (GKE)-Umgebungen erforderlich sind.

Diese Berechtigungen gelten für Cloudconnectors, Azure Arc Bereitstellung, agentlosen Bedrohungsschutz und Registrierungsintegrationsfeatures.

Berechtigungen, die für das Feature erforderlich sind

feature "Defender für Container" Bestandteil Erforderliche Rollen
GKE-Laufzeitschutz

GKE Workload-Härtung

Laufzeit-Sicherheitsrisikobewertung (optional)
GKE Arc-Bereitstellung für den Defender Agent und Azure Policy Agent Azure Arc-Rolle: Defender Kubernetes-Agent-Operator

Vordefinierte GCP-Rolle: Kubernetes-Moduladministrator
OR
Kubernetes Engine Viewer, wenn nur agentloser Bedrohungsschutz und/oder die Kubernetes-API-Zugriffserweiterung aktiviert sind
EKS-Laufzeitschutz

EKS-Arbeitsauslastungshärtung

Laufzeit-Sicherheitsrisikobewertung (optional)
EKS Arc-Bereitstellung für den Defender Agent und Azure Policy Agent Azure Arc-Rolle: Defender Kubernetes-Agent-Operator

AWS-Rolle: AzureDefenderKubernetesRole
GKE-Kontrollebenenhärtung – Bedrohungsschutz ohne Agenten GKE AuditLogs-Bereitstellung Siehe GCP Agentless Threat Protection-Berechtigungen
Härtung der EKS-Steuerungsebene – Schutz vor Bedrohungen ohne Agenten AWS AuditLogs-Bereitstellung Informationen zu AWS Agentless Threat Protection-Berechtigungen

Azure Arc-Bereitstellungsrolle für EKS und GKE

Der in Azure Arc integrierte Defender Kubernetes-Agent-Operator zum Bereitstellen des Defender-Agents und des Azure-Richtlinien-Agents verfügt über die folgenden Berechtigungen:

  • Microsoft.Authorization/*/read
  • 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/write
  • Microsoft.OperationalInsights/workspaces/read
  • Microsoft.OperationalInsights/workspaces/listKeys/action
  • Microsoft.OperationalInsights/workspaces/sharedkeys/action
  • Microsoft.Kubernetes/register/action
  • Microsoft.KubernetesConfiguration/register/action

AWS Agentless Threat Protection-Berechtigungen

  • AzureDefenderKubernetesRole (Standardrollenname: MDCContainersK8sRole):

  • sts:AssumeRole

  • sts:AssumeRoleWithWebIdentity

  • logs:PutSubscriptionFilter

  • logs:DescribeSubscriptionFilters

  • logs:DescribeLogGroups

  • logs:AufbewahrungsrichtlinieErstellen (logs:PutRetentionPolicy)

  • Firehose:*

  • iam:PassRole

  • eks:UpdateClusterConfig

  • eks:DescribeCluster

  • eks:CreateAccessEntry

  • eks:ListAccessEntries

  • eks:AssociateAccessPolicy

  • eks:ListAssociatedAccessPolicies

  • sqs:*

  • s3:*

  • AzureDefenderKubernetesScubaReaderRole (Standardrollenname: MDCContainersK8sDataCollectionRole):

    • sts:AssumeRole
    • sts:AssumeRoleWithWebIdentity
    • sqs:ReceiveMessage
    • sqs:DeleteMessage
    • s3:GetObject
    • s3:GetBucketLocation
  • AzureDefenderCloudWatchToKinesisRole (Standardrollenname: MDCContainersK8sCloudWatchToKinesisRole):

    • sts:AssumeRole
    • Firehose:*
  • AzureDefenderKinesisToS3Role (Standardrollenname: MDCContainersK8sKinesisToS3Role):

  • MDCContainersAgentlessDiscoveryK8sRole

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

GCP-Agentenlose Threat Protection-Berechtigungen

  • Microsoft Defender-Container-Datensammlungsrolle

    • pubsub.subscriptions.consume
    • pubsub.subscriptions.get
  • Microsoft Defender Containers-Rolle

    • 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 (alle Protokolle, die zu Pub/Sub gesendet werden)
  • 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.Node.Proxy
    • container.secrets.list

In Cloudumgebungen gewährte Berechtigungen

Wenn Sie AWS- oder GCP-Umgebungen in Microsoft Defender for Cloud integrieren, wird ein Bereitstellungsskript generiert, um die erforderlichen IAM-Rollen basierend auf dem ausgewählten Zugriffsmodell zu erstellen:

  • Der Standardzugriff unterstützt alle aktuellen und zukünftigen Erweiterungen der ausgewählten Defender-Pläne.
  • Der geringste privilegierte Zugriff gewährt nur die Berechtigungen, die erforderlich sind, um die derzeit aktivierten Erweiterungen zu unterstützen.

Die folgenden Tabellen zeigen die Berechtigungen, die Defender für Containerrollen gewährt werden, je nach ausgewähltem Zugriffsmodell.

AWS-Standardzugriff

Rollenname Zugeordnete Richtlinien / Berechtigungen Funktionen
MDCContainersImageAssessmentRole AmazonEC2ContainerRegistryPowerUser AWS-Berechtigungsliste

AmazonElasticContainerRegistryPublicPowerUser AWS-Berechtigungsliste
Sicherheitsrisikobewertung für agentlose Container.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
eks:CreateAccessEntry
eks:ListAccessEntries
eks:AssociateAccessPolicy
eks:ListAssociatedAccessPolicies
Agentenlose Entdeckung von Kubernetes.
Aktualisieren von EKS-Clustern zur Unterstützung der IP-Einschränkung

AWS-Zugriff mit minimalen Berechtigungen

Rollenname Zugeordnete Richtlinien / Berechtigungen Funktionen
MDCContainersImageAssessmentRole AmazonEC2ContainerRegistryReadOnly AWS-Berechtigungsliste
AmazonElasticContainerRegistryPublicReadOnly AWS-Berechtigungsliste
Sicherheitsrisikobewertung für agentlose Container.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
Agentenlose Entdeckung von Kubernetes.
Aktualisieren von EKS-Clustern zur Unterstützung der IP-Einschränkung

GCP-Standardzugriff

Dienstkontoname Zugeordnete Rollen/Berechtigungen Funktionen
mdc-containers-artifact-assess Rollen/storage.objectUser GCP-Berechtigungsliste

Rollen/artifactregistry.writer GCP-Berechtigungsliste
Sicherheitsrisikobewertung für agentlose Container.
mdc-containers-k8s-operator Rollen-Container-Viewer GCP-Berechtigungsliste
Benutzerdefinierte Rolle MDCGkeClusterWriteRole [Benutzerdefinierte Rolle] mit Berechtigung container.clusters.update
Agentenlose Entdeckung von Kubernetes
Aktualisieren von GKE-Clustern zur Unterstützung der IP-Einschränkung

GCP-Zugriff mit geringster Berechtigung

Dienstkontoname Zugeordnete Rollen/Berechtigungen Aktuelle Funktionen
mdc-containers-artifact-assess Rollen/artifactregistry.reader GCP-Berechtigungsliste
Roles/storage.objectViewer GCP-Berechtigungsliste
Sicherheitsrisikobewertung für agentlose Container.
mdc-containers-k8s-operator Rollen-Container-Viewer GCP-Berechtigungsliste

Benutzerdefinierte Rolle MDCGkeClusterWriteRole mit Berechtigung container.clusters.update
Agentenlose Entdeckung von Kubernetes.
Aktualisieren von GKE-Clustern zur Unterstützung der IP-Einschränkung

Nächste Schritte