Autorizzazioni IAM cloud per Defender per contenitori in AWS e GCP

Questo articolo descrive i ruoli e le autorizzazioni IAM cloud necessari per eseguire l'onboarding e il funzionamento di Microsoft Defender per i contenitori in ambienti Amazon Elastic Kubernetes Service (EKS) e Google Kubernetes Engine (GKE).

Queste autorizzazioni si applicano ai connettori cloud, Azure Arc il provisioning, la protezione dalle minacce senza agente e le funzionalità di integrazione del Registro di sistema.

Autorizzazioni richieste dalla funzionalità

Funzionalità di Defender per contenitore Componente Ruolo obbligatorio
Protezione del runtime GKE

Indurimento del carico di lavoro GKE

Valutazione della vulnerabilità di runtime (facoltativo)
Provisioning di GKE Arc (per l'agente di Defender e l'agente di Criteri di Azure) Ruolo di Azure Arc: Operatore dell'agente Di Defender Kubernetes

Ruolo predefinito GCP: amministratore del motore Kubernetes
OR
Visualizzatore motore Kubernetes (se sono abilitate solo la protezione dalle minacce senza agente e/o l'estensione di accesso all'API Kubernetes)
Protezione del runtime di EKS

Indurimento del carico di lavoro GKE

Valutazione della vulnerabilità di runtime (facoltativo)
Provisioning di AWS Arc (per l'agente di Defender e l'agente di Criteri di Azure) Ruolo di Azure Arc: Operatore dell'agente Di Defender Kubernetes

Ruolo AWS: AzureDefenderKubernetesRole
Rafforzamento del piano di controllo GKE - Protezione dalle minacce senza agente Provisioning di GKE AuditLogs Vedere Autorizzazioni di protezione dalle minacce senza agente GCP
Protezione avanzata del piano di controllo EKS - Protezione dalle minacce senza agente Provisioning di AWS AuditLogs Vedere Autorizzazioni di protezione dalle minacce senza agente di AWS

Ruolo di provisioning di Azure Arc per EKS e GKE

Il ruolo predefinito di Azure Arc Defender Kubernetes Agent Operator per fornire l'agente Defender e l'agente delle policy di Azure dispone delle autorizzazioni seguenti:

  • 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/spazi-di-lavoro/chiavi-condivise/azione
  • Microsoft.Kubernetes/register/action
  • Microsoft.KubernetesConfiguration/register/action

Autorizzazioni di protezione dalle minacce senza agente DI AWS

  • AzureDefenderKubernetesRole (nome del ruolo predefinito: 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 (nome del ruolo predefinito: MDCContainersK8sDataCollectionRole):

    • sts:AssumeRole
    • sts:AssumeRoleWithWebIdentity
    • sqs:ReceiveMessage
    • sqs:DeleteMessage
    • s3:GetObject
    • s3:GetBucketLocation
  • AzureDefenderCloudWatchToKinesisRole (nome del ruolo predefinito: MDCContainersK8sCloudWatchToKinesisRole):

    • sts:AssumeRole
    • firehose:*
  • AzureDefenderKinesisToS3Role (nome del ruolo predefinito: MDCContainersK8sKinesisToS3Role):

  • MDCContainersAgentlessDiscoveryK8sRole

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

Autorizzazioni di protezione dalle minacce senza agente 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 (tutti i log che vanno a 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

Autorizzazioni concesse negli ambienti cloud

Quando si esegue l'onboarding di ambienti AWS o GCP in Microsoft Defender per il cloud, viene generato uno script di distribuzione per creare i ruoli IAM necessari in base al modello di accesso selezionato:

  • L'accesso predefinito supporta tutte le estensioni correnti e future dei piani di Defender selezionati.
  • Accesso con privilegi minimi concede solo le autorizzazioni necessarie per supportare le estensioni attualmente abilitate.

Le tabelle seguenti mostrano le autorizzazioni concesse a Defender per i ruoli Contenitori, a seconda del modello di accesso selezionato.

Accesso predefinito di AWS

Nome ruolo Criteri/autorizzazioni associati Capacità
MDCContainersImageAssessmentRole AmazonEC2ContainerRegistryPowerUser Elenco autorizzazioni AWS

AmazonElasticContainerRegistryPublicPowerUser Elenco autorizzazioni AWS
Valutazione della vulnerabilità del contenitore senza agente.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
eks:CreateAccessEntry
eks:ListAccessEntries
eks:AssociateAccessPolicy
eks:ListAssociatedAccessPolicies
Scoperta senza agente di Kubernetes.
Aggiornamento dei cluster del servizio Azure Kubernetes per supportare la restrizione IP

Accesso con privilegi minimi di AWS

Nome ruolo Criteri/autorizzazioni associati Funzionalità
MDCContainersImageAssessmentRole AmazonEC2ContainerRegistryReadOnly Elenco delle autorizzazioni AWS
AmazonElasticContainerRegistryPublicReadOnly Elenco delle autorizzazioni AWS
Valutazione della vulnerabilità del contenitore senza agente.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
Scoperta senza agente di Kubernetes.
Aggiornamento dei cluster del servizio Azure Kubernetes per supportare la restrizione IP

Accesso predefinito GCP

Nome dell'account di servizio Ruoli/autorizzazioni associati Capacità
mdc-containers-artifact-assess Roles/storage.objectUser Elenco autorizzazioni GCP

roles/artifactregistry.writer Elenco delle autorizzazioni GCP
Valutazione della vulnerabilità del contenitore senza agente.
mdc-containers-k8s-operator Elenco delle autorizzazioni Roles/container.viewer GCP
Ruolo personalizzato MDCGkeClusterWriteRole [Ruolo personalizzato] con autorizzazione container.clusters.update
Rilevamento senza agenti di Kubernetes
Aggiornamento dei cluster GKE per supportare la restrizione IP

Accesso GCP con privilegi minimi

Nome dell'account del servizio Ruoli/autorizzazioni associati Funzionalità correnti
mdc-containers-artifact-assess Roles/artifactregistry.reader Elenco di autorizzazioni GCP
Roles/storage.objectViewer elenco di autorizzazioni GCP
Valutazione della vulnerabilità del contenitore senza agente.
mdc-containers-k8s-operator Elenco delle autorizzazioni Roles/container.viewer GCP

Ruolo personalizzato MDCGkeClusterWriteRole con autorizzazione container.clusters.update
Scoperta senza agente di Kubernetes.
Aggiornamento dei cluster GKE per supportare la restrizione IP

Passaggi successivi