Izin Cloud IAM untuk Defender untuk Kontainer di AWS dan GCP

Artikel ini menjelaskan peran dan izin IAM cloud yang diperlukan untuk onboarding dan mengoperasikan Microsoft Defender untuk Kontainer di lingkungan Amazon Elastic Kubernetes Service (EKS) dan Google Kubernetes Engine (GKE).

Izin ini berlaku untuk konektor cloud, provisi Azure Arc, perlindungan ancaman tanpa agen, dan fitur integrasi registri.

Izin yang diperlukan oleh fitur

Defender untuk fitur Kontainer Komponen Peran yang diperlukan
Perlindungan runtime GKE

Pengerasan beban kerja GKE

Penilaian kerentanan runtime (opsional)
Provisi GKE Arc, untuk agen Defender dan agen Azure Policy Peran Azure Arc: Operator Defender Agen Kubernetes

Peran GCP yang telah ditentukan sebelumnya: Admin Mesin Kubernetes
OR
Penampil Mesin Kubernetes, jika hanya perlindungan ancaman tanpa agen dan/atau ekstensi akses API Kubernetes yang diaktifkan
Perlindungan runtime EKS

Pengerasan beban kerja EKS

Penilaian kerentanan runtime (opsional)
Provisi EKS Arc, untuk agen Defender dan agen Azure Policy Peran Azure Arc: Operator Defender Agen Kubernetes

Peran AWS: AzureDefenderKubernetesRole
Penguatan sarana kontrol GKE - Perlindungan ancaman tanpa agen Provisi GKE AuditLogs Lihat Izin perlindungan ancaman tanpa agen GCP
Peningkatan keamanan komponen kontrol EKS - Perlindungan ancaman tanpa agen Penyediaan AWS AuditLogs Lihat Izin perlindungan ancaman TANPA Agen AWS

Peran provisi Azure Arc untuk EKS dan GKE

Operator Agen Defender Kubernetes peran bawaan Azure Arc untuk menyediakan agen Defender dan agen kebijakan Azure memiliki izin berikut:

  • Microsoft.Authorization/*/baca
  • 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/ekstensi/tulis
  • Microsoft.KubernetesConfiguration/extensions/read
  • Microsoft.KubernetesConfiguration/extensions/delete
  • Microsoft.KonfigurasiKubernetes/ekstensi/operasi/baca
  • Microsoft.Kubernetes/connectedClusters/Write
  • Microsoft.Kubernetes/connectedClusters/membaca
  • Microsoft.OperationalInsights/ruang kerja/menulis
  • Microsoft.OperationalInsights/workspaces/read
  • Microsoft.OperationalInsights/workspaces/listKeys/action
  • Microsoft.OperationalInsights/workspaces/sharedkeys/action
  • Microsoft.Kubernetes/register/action
  • Microsoft.KubernetesConfiguration/register/action

Izin perlindungan ancaman TANPA Agen AWS

  • AzureDefenderKubernetesRole (nama peran default: MDCContainersK8sRole):

  • sts:AssumeRole

  • sts:AmbilPeranDenganIdentitasWeb

  • logs:PutSubscriptionFilter

  • log:DeskripsikanFilterLangganan

  • logs:DescribeLogGroups

  • logs:PutRetentionPolicy

  • firehose:*

  • iam:PassRole

  • eks:UpdateClusterConfig

  • eks:DescribeCluster

  • eks:CreateAccessEntry

  • eks:ListAccessEntries

  • eks:AssociateAccessPolicy

  • eks:DaftarKebijakanAksesTerkait

  • sqs:*

  • s3:*

  • AzureDefenderKubernetesScubaReaderRole (nama peran default: MDCContainersK8sDataCollectionRole):

    • sts:AssumeRole
    • sts:AmbilPeranDenganIdentitasWeb
    • sqs:ReceiveMessage
    • sqs:DeleteMessage
    • s3:GetObject
    • s3:GetBucketLocation
  • AzureDefenderCloudWatchToKinesisRole (nama peran default: MDCContainersK8sCloudWatchToKinesisRole):

    • sts:AssumeRole
    • firehose:*
  • AzureDefenderKinesisToS3Role (nama peran default: MDCContainersK8sKinesisToS3Role):

  • MDCContainersAgentlessDiscoveryK8sRole

    • sts:AmbilPeranDenganIdentitasWeb
    • eks:UpdateClusterConfig
    • eks:DescribeCluster
    • eks:CreateAccessEntry
    • eks:ListAccessEntries
    • eks:AssociateAccessPolicy
    • eks:DaftarKebijakanAksesTerkait
  • MDCContainersImageAssessmentRole

    • sts:AmbilPeranDenganIdentitasWeb
    • Izin peran yang diasumsikan ini: AmazonEC2ContainerRegistryPowerUser & AmazonElasticContainerRegistryPublicPowerUser

Hak akses perlindungan ancaman tanpa agen GCP

  • Peran Pengumpulan Data Microsoft Defender Containers

    • pubsub.subscriptions.consume
    • pubsub.langganan.dapatkan
  • 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 (semua log yang dikirim ke Pub/Sub)
  • MDCCustomRole

    • resourcemanager.folders.get
    • resourcemanager.folders.list
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • mengaktifkan.serviceusage.layanan
    • iam.roles.create
    • iam.roles.list
    • compute.projects.get
    • compute.projects.setCommonInstanceMetadata
  • MDCspmCustomRole

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

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

Izin yang diberikan di lingkungan cloud

Saat Anda melakukan onboarding lingkungan AWS atau GCP untuk Microsoft Defender untuk Cloud, skrip penyebaran dihasilkan untuk membuat peran IAM yang diperlukan berdasarkan model akses yang dipilih:

  • Akses Default mendukung semua ekstensi saat ini dan yang akan datang dari paket Defender yang dipilih.
  • Akses Hak Istimewa Terkecil hanya memberikan izin yang diperlukan untuk mendukung ekstensi yang saat ini diaktifkan.

Tabel berikut menunjukkan izin yang diberikan kepada Defender untuk peran Kontainer, bergantung pada model akses yang dipilih.

Akses default dari AWS

Nama Peran Kebijakan/Izin Terkait Kemampuan
MDCContainersImageAssessmentRole AmazonEC2ContainerRegistryPowerUser Daftar izin AWS

AmazonElasticContainerRegistryPublicPowerUser Daftar izin AWS
Penilaian kerentanan kontainer tanpa agen.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
eks:CreateAccessEntry
eks:ListAccessEntries
eks:AssociateAccessPolicy
eks:DaftarKebijakanAksesTerkait
Penemuan Kubernetes tanpa agen.
Memperbarui kluster EKS untuk mendukung pembatasan IP

Akses hak minimal AWS

Nama Peran Kebijakan/Izin Terkait Capabilities
MDCContainersImageAssessmentRole AmazonEC2ContainerRegistryReadOnly Daftar izin AWS
AmazonElasticContainerRegistryPublicReadOnly Daftar izin AWS
Penilaian kerentanan kontainer tanpa agen.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
Penemuan Kubernetes tanpa agen.
Memperbarui kluster EKS untuk mendukung pembatasan IP

Akses default GCP

Nama Akun Layanan Peran /Izin Terkait Kemampuan
mdc-kontainer-artefak-penilaian Roles/storage.objectUser Daftar izin GCP

Roles/artifactregistry.writer Daftar izin GCP
Penilaian kerentanan kontainer tanpa agen.
mdc-containers-k8s-operator Roles/container.viewer Daftar izin GCP
Peran kustom MDCGkeClusterWriteRole [Peran Kustom] dengan izin container.clusters.update
Penemuan Kubernetes tanpa agen
Memperbarui kluster GKE untuk mendukung pembatasan IP

Akses dengan hak istimewa terkecil GCP

Nama Akun Layanan Peran /Izin Terkait Kemampuan Saat Ini
mdc-kontainer-artefak-penilaian Roles/artifactregistry.reader Daftar izin GCP
Daftar izin GCP Roles/storage.objectViewer
Penilaian kerentanan kontainer tanpa agen.
mdc-containers-k8s-operator Roles/container.viewer Daftar izin GCP

Peran kustom MDCGkeClusterWriteRole dengan izin container.clusters.update
Penemuan Kubernetes tanpa agen.
Memperbarui kluster GKE untuk mendukung pembatasan IP

Langkah berikutnya