Compartir a través de


Permisos para instalar componentes de Defender for Containers en AWS y GCP

En este artículo se enumeran los roles y permisos necesarios para instalar componentes de Defender for Containers en los entornos de AWS Elastic Kubernetes Service (EKS) y GCP Google Kubernetes Engine (GKE).

Permisos necesarios

Característica Defender para Contenedores Componente Rol obligatorio
Protección en tiempo de ejecución de GKE

Endurecimiento de cargas de trabajo de GKE

Evaluación de vulnerabilidades en tiempo de ejecución (opcional)
Aprovisionamiento de GKE Arc (agente de Defender y agente de directivas de Azure) Rol de Azure Arc: Operador del agente de Kubernetes de Defender

Rol predefinido de GCP: Administrador del motor de Kubernetes
O BIEN
Visor de motor de Kubernetes (si solo está habilitada la protección contra amenazas sin agente o la extensión de acceso a la API de Kubernetes)
Protección en tiempo de ejecución de EKS

Protección de cargas de trabajo de GKE

Evaluación de vulnerabilidades en tiempo de ejecución (opcional)
Aprovisionamiento de AWS Arc (agente de Defender y agente de Azure Policy) Rol de Azure Arc: Operador del agente de Kubernetes de Defender

Rol de AWS: AzureDefenderKubernetesRole
Endurecimiento del plano de control de GKE: protección contra amenazas sin agente Aprovisionamiento de AuditLogs de GKE Consulte Permisos de protección contra amenazas sin agente de GCP.
Endurecimiento del plano de control EKS: protección contra amenazas sin necesidad de un agente Aprovisionamiento de AWS AuditLogs Consulte Los permisos de protección contra amenazas sin agente de AWS

Rol de aprovisionamiento de Azure Arc para EKS y GKE

El rol integrado de Azure Arc Operador del agente de Kubernetes de Defender para aprovisionar el agente de Defender y el agente de directiva de Azure tiene los permisos siguientes:

  • 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

Permisos de protección contra amenazas sin agente de AWS

  • AzureDefenderKubernetesRole:

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

    • sts:AssumeRole
    • sts:AssumeRoleWithWebIdentity
    • sqs:ReceiveMessage
    • sqs:DeleteMessage
    • s3:GetObject
    • s3:GetBucketLocation
  • AzureDefenderCloudWatchToKinesisRole:

    • sts:AssumeRole
    • firehose:*
  • AzureDefenderKinesisToS3Role:

    • sts:AssumeRole
    • s3:AbortMultipartUpload
    • s3:GetBucketLocation
    • s3:GetObject
    • s3:ListBucket
    • s3:ListBucketMultipartUploads
    • s3:PutObject
  • MDCContainersAgentlessDiscoveryK8sRole

    • sts:AssumeRoleWithWebIdentity
    • eks:ActualizarConfiguraciónDelCluster
    • eks:DescribeCluster
    • eks:CreateAccessEntry
    • eks:ListAccessEntries
    • eks:AssociateAccessPolicy
    • eks:ListAssociatedAccessPolicies
  • MDCContainersImageAssessmentRole

Permisos de protección contra amenazas sin agente de 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 (todos los registros que van 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

Permisos concedidos en entornos de nube

La incorporación de entornos en la nube de AWS y GCP a Defender for Cloud a través de Azure Portal crea un conector para el entorno de nube deseado y genera un script para que se ejecute en el entorno en la nube para crear los roles y permisos necesarios. El script se crea en función de la configuración que elija al pasar por el proceso de incorporación.

Como parte del proceso de incorporación, puede elegir entre dos tipos de permisos: Acceso predeterminado y Acceso con privilegios mínimos:

  • Acceso predeterminado admite todas las extensiones actuales y futuras de los planes de Defender seleccionados.

  • La opción Acceso con privilegios mínimos solo concede los permisos necesarios para admitir las extensiones actuales.

En las tablas siguientes se muestran los permisos concedidos a determinados roles de Defender for Containers, en función del tipo de permiso que elija.

Acceso predeterminado de AWS

Nombre del rol Directivas o permisos asociados Capacidades
MDCContainersImageAssessmentRole Lista de permisos de AWS AmazonEC2ContainerRegistryPowerUser

Lista de permisos de AWS AmazonElasticContainerRegistryPublicPowerUser
Evaluación de vulnerabilidades de contenedor sin agente.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
eks:CreateAccessEntry
eks:ListAccessEntries
eks:AssociateAccessPolicy
eks:ListAssociatedAccessPolicies
Detección sin agente de Kubernetes.
Actualización de clústeres EKS para admitir la restricción de IP

Acceso con privilegios mínimos de AWS

Nombre del rol Políticas o permisos asociados Capacidades
MDCContainersImageAssessmentRole Lista de permisos de AWS de AmazonEC2ContainerRegistryReadOnly
Lista de permisos de AWS AmazonElasticContainerRegistryPublicReadOnly
Evaluación de vulnerabilidades de contenedor sin agente.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
Detección sin agente de Kubernetes.
Actualización de clústeres EKS para admitir la restricción de IP

Acceso predeterminado de GCP

Nombre de la cuenta de servicio Roles y permisos asociados Capacidades
mdc-containers-artifact-assess Lista de permisos de GCP Roles/storage.objectUser

Lista de permisos de GCP Roles/artifactregistry.writer
Evaluación de vulnerabilidades de contenedor sin agente.
mdc-containers-k8s-operator Lista de permisos de GCP Roles/container.viewer
Rol personalizado MDCGkeClusterWriteRole [Rol personalizado] con permiso container.clusters.update
Detección sin agente de Kubernetes
Actualización de clústeres de GKE para admitir la restricción de IP

Acceso con privilegios mínimos de GCP

Nombre de la cuenta de servicio Roles y permisos asociados Funcionalidades actuales
mdc-containers-artifact-assess Lista de permisos de GCP Roles/artifactregistry.reader
Lista de permisos de GCP Roles/storage.objectViewer
Evaluación de vulnerabilidades de contenedor sin agente.
mdc-containers-k8s-operator Lista de permisos de GCP Roles/container.viewer

Rol personalizado MDCGkeClusterWriteRole con permiso container.clusters.update
Detección sin agente de Kubernetes.
Actualización de clústeres de GKE para admitir la restricción de IP

Pasos siguientes