AWS および GCP 上のコンテナーのDefenderに対するクラウド IAM アクセス許可

この記事では、Amazon Elastic Kubernetes Service (EKS) および Google Kubernetes Engine (GKE) 環境でコンテナーのMicrosoft Defenderをオンボードおよび運用するために必要なクラウド IAM ロールとアクセス許可について説明します。

これらのアクセス許可は、クラウド コネクタ、Azure Arcプロビジョニング、エージェントレス脅威保護、レジストリ統合機能に適用されます。

機能に必要なアクセス許可

Defender for Container 機能 コンポーネント 必要なロール
GKE ランタイム保護

GKE ワークロードのセキュリティ強化

ランタイム脆弱性評価 (省略可能)
GKE Arc プロビジョニング (Defender エージェントと Azure ポリシー エージェント用) Azure Arc ロール: Defender Kubernetes エージェント オペレーター

GCP 定義済みロール: Kubernetes Engine Admin
OR
Kubernetes エンジン ビューアー (エージェントレス脅威保護または Kubernetes API アクセス拡張機能のみが有効になっている場合)
EKS ランタイム保護

GKE ワークロードのセキュリティ強化

ランタイム脆弱性評価 (省略可能)
AWS Arc プロビジョニング (Defender エージェントと Azure ポリシー エージェント用) Azure Arc ロール: Defender Kubernetes エージェント オペレーター

AWS ロール: AzureDefenderKubernetesRole
GKE コントロール プレーンのセキュリティ強化 - エージェントレス脅威保護 GKE AuditLogs のプロビジョニング GCP エージェントレス脅威保護のアクセス許可を参照してください
EKS コントロール プレーンのセキュリティ強化 - エージェントレス脅威保護 AWS AuditLogs のプロビジョニング AWS エージェントレス脅威保護のアクセス許可を参照してください

EKS と GKE の Azure Arc プロビジョニング ロール

Defender エージェントと Azure ポリシー エージェントをプロビジョニングするための Azure Arc 組み込みロール Defender Kubernetes エージェント オペレーター には、次のアクセス許可があります。

  • 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 エージェントレス脅威保護の権限

  • 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:DeleteMessage
    • 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
  • 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 (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

クラウド環境で付与されるアクセス許可

AWS または GCP 環境をMicrosoft Defender for Cloudにオンボードすると、選択したアクセスモデルに基づいて必要な IAM ロールを作成するデプロイスクリプトが生成されます。

  • 既定のアクセス では、選択した Defender プランのすべての現在および将来の拡張機能がサポートされます。
  • 最小特権アクセス では、現在有効になっている拡張機能をサポートするために必要なアクセス許可のみが付与されます。

次の表は、選択したアクセス モデルに応じて、コンテナー ロールのDefenderに付与されるアクセス許可を示しています。

AWS の既定のアクセス

役割名 関連付けられているポリシー/アクセス許可 能力
MDCContainersImageAssessmentRole AmazonEC2ContainerRegistryPowerUser AWS のアクセス許可リスト

AmazonElasticContainerRegistryPublicPowerUser AWS アクセス許可リスト
エージェントレス コンテナーの脆弱性評価。
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
eks:CreateAccessEntry
eks:ListAccessEntries
eks:AssociateAccessPolicy
eks:ListAssociatedAccessPolicies
Kubernetes のエージェントレス検出。
IP 制限をサポートするように EKS クラスターを更新する

AWS の最小特権アクセス

役割名 関連付けられているポリシー/アクセス許可 機能
MDCContainersImageAssessmentRole AmazonEC2ContainerRegistryReadOnly AWS のアクセス許可リスト
AmazonElasticContainerRegistryPublicReadOnly AWS アクセス許可リスト
エージェントレス コンテナーの脆弱性評価。
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
Kubernetes のエージェントレス検出。
IP 制限をサポートするように EKS クラスターを更新する

GCP の既定のアクセス

サービス アカウント名 関連ロール/権限 能力
mdc-containers-artifact-assess Roles/storage.objectUser GCP アクセス許可リスト

Roles/artifactregistry.writer GCP アクセス許可リスト
エージェントレス コンテナーの脆弱性評価。
mdc-containers-k8s-operator Roles/container.viewer の GCP アクセス許可の一覧
カスタムロール MDCGkeClusterWriteRole [カスタムロール] はアクセス許可 container.clusters.update を持っています。
Kubernetes のエージェントレス検出
IP 制限をサポートするように GKE クラスターを更新する

GCP 最小特権アクセス

サービス アカウント名 関連する役割/権限 現在の機能
mdc-containers-artifact-assess Roles/artifactregistry.reader GCP アクセス許可リスト
Roles/storage.objectViewer GCP アクセス許可の一覧
エージェントレス コンテナーの脆弱性評価。
mdc-containers-k8s-operator Roles/container.viewer の GCP アクセス許可の一覧

アクセス許可 container.clusters.update を持つカスタム ロール MDCGkeClusterWriteRole
Kubernetes のエージェントレス検出。
IP 制限をサポートするように GKE クラスターを更新する

次のステップ