Permissões Cloud IAM para Defender for Containers na AWS e GCP

Este artigo descreve os papéis e permissões IAM na cloud necessários para integrar e operar o Microsoft Defender for Containers nos ambientes Amazon Elastic Kubernetes Service (EKS) e Google Kubernetes Engine (GKE).

Estas permissões aplicam-se a conectores cloud, provisão Azure Arc, proteção contra ameaças sem agente e funcionalidades de integração de registos.

Permissões exigidas por funcionalidade

Funcionalidade Defender for Container Componente Função necessária
Proteção de tempo de execução do GKE

Endurecimento da carga de trabalho GKE

Avaliação da vulnerabilidade em tempo de execução (opcional)
Provisão do GKE Arc (para agente do Defender e agente de política do Azure) Azure Arc função: Defender Operador de Agentes Kubernetes

GCP função predefinida: Administrador do Kubernetes Engine
OR
Kubernetes Engine Viewer (se apenas a proteção contra ameaças sem agente e/ou a extensão de acesso à API Kubernetes estiverem ativadas)
Proteção em tempo de execução EKS

Endurecimento da carga de trabalho GKE

Avaliação da vulnerabilidade em tempo de execução (opcional)
Provisão AWS Arc (para agente do Defender e agente de políticas do Azure) Azure Arc função: Defender Operador de Agentes Kubernetes

AWS role: AzureDefenderKubernetesRole
Endurecimento do plano de controlo GKE - Proteção contra ameaças sem agente Aprovisionamento de GKE AuditLogs Ver permissões de proteção de ameaças sem agente GCP
Endurecimento do plano de controlo EKS - Proteção contra ameaças sem agente Provisão de AWS AuditLogs Veja permissões AWS Agentless de proteção contra ameaças

Função de Aprovisionamento do Azure Arc para EKS e GKE

O Operador de Agente Kubernetes Defender do Azure Arc para provisionar o agente Defender e o agente de políticas Azure tem as seguintes permissões:

  • Microsoft.Authorization/*/read
  • Microsoft.Insights/alertRules/*
  • Microsoft.Resources/deployments/*
  • Microsoft.Resources/subscriptions/resourceGroups/read
  • Microsoft.Resources/subscriptions/gruposDeRecursos/escrever
  • Microsoft.Resources/subscriptions/operationresults/read
  • Microsoft.Resources/subscriptions/read
  • Microsoft.KubernetesConfiguration/extensions/write
  • Microsoft.KubernetesConfiguração/extensões/leitura
  • Microsoft.KubernetesConfiguration/extensions/delete
  • Microsoft.KubernetesConfiguration/extensions/operations/read
  • Microsoft.Kubernetes/connectedClusters/Gravação
  • 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.KubernetesConfiguração/registro/ação

Permissões de proteção contra ameaças AWS Agentless

  • AzureDefenderKubernetesRole (default role name: MDCContainersK8sRole):

  • sts:AssumeRole

  • sts:AssumeRoleWithWebIdentity

  • registos:PutSubscriptionFilter

  • registos:DescreverFiltrosDeSubscrição

  • logs:DescribeLogGroups

  • registos:PutRetentionPolicy

  • mangueira de incêndio:*

  • iam:PassRole

  • eks:UpdateClusterConfig

  • eks:DescribeCluster

  • eks:CreateAccessEntry

  • eks:ListAccessEntries

  • eks:AssociateAccessPolicy

  • eks:ListAssociatedAccessPolicies

  • sqs:*

  • s3:*

  • AzureDefenderKubernetesScubaReaderRole (default role name: MDCContainersK8sDataCollectionRole):

    • sts:AssumeRole
    • sts:AssumeRoleWithWebIdentity
    • sqs:ReceiveMessage
    • sqs:DeleteMessage
    • s3:GetObject
    • s3:GetBucketLocation
  • AzureDefenderCloudWatchToKinesisRole (nome da função padrão: MDCContainersK8sCloudWatchToKinesisRole):

    • sts:AssumeRole
    • mangueira de incêndio:*
  • AzureDefenderKinesisToS3Role (default role name: MDCContainersK8sKinesisToS3Role):

  • MDCContainersAgentlessDiscoveryK8sRole

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

Permissões para proteção de ameaças sem agente do GCP

  • MicrosoftDefenderContainersDataCollectionRole

    • pubsub.assinaturas.consumir
    • pubsub.subscriptions.get
  • Microsoft Defender Função de Contêineres

    • logging.sinks.list
    • registo.sinks.obter
    • logging.sinks.create
    • logging.sinks.update
    • logging.sinks.delete
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.organizations.getIamPolicy
    • iam.serviceAccounts.get
    • iam.workloadIdentityPoolProviders.get (todos os logs que vão para o Pub/Sub)
  • MDCCustomRole

    • resourcemanager.folders.get
    • resourcemanager.folders.list
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • serviceusage.services.enable
    • iam.roles.create
    • iam.roles.lista
    • 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

Permissões concedidas em ambientes cloud

Quando integra ambientes AWS ou GCP no Microsoft Defender para a Cloud, é gerado um script de implementação para criar os papéis IAM necessários com base no modelo de acesso selecionado:

  • O Acesso Padrão suporta todas as extensões atuais e futuras dos planos Defender selecionados.
  • O Acesso Mínimo Privilegiado concede apenas as permissões necessárias para suportar as extensões atualmente ativadas.

As tabelas seguintes mostram as permissões concedidas aos papéis do Defender para Containers, dependendo do modelo de acesso selecionado.

Acesso padrão da AWS

Nome da Função Políticas / Permissões Associadas Capabilities
MDCContainersImageAssessmentRole Lista de permissões AWS AmazonEC2ContainerRegistryPowerUser

Lista de permissões AWS AmazonElasticContainerRegistryPublicPowerUser
Avaliação da vulnerabilidade dos contentores sem agente.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
eks:CreateAccessEntry
eks:ListAccessEntries
eks:AssociateAccessPolicy
eks:ListAssociatedAccessPolicies
Descoberta de Kubernetes sem agente.
Atualização dos clusters EKS para suportar restrição de IP

Acesso com privilégios mínimos da AWS

Nome da Função Políticas / Permissões Associadas Capacidades
MDCContainersImageAssessmentRole Lista de permissões AWS AmazonEC2ContainerRegistryReadOnly
Lista de permissões AWS AmazonElasticContainerRegistryPublicReadOnly
Avaliação da vulnerabilidade dos contentores sem agente.
MDCContainersAgentlessDiscoveryK8sRole eks:DescribeCluster
eks:UpdateClusterConfig
Descoberta de Kubernetes sem agente.
Atualização dos clusters EKS para suportar restrição de IP

Acesso padrão do GCP

Nome da conta de serviço Funções / Permissões Associadas Capabilities
mdc-containers-artifact-assess Roles/storage.objectUser GCP Lista de permissões

Roles/artifactregistry.writer lista de permissões GCP
Avaliação da vulnerabilidade dos contentores sem agente.
mdc-containers-k8s-operator Lista de permissões do GCP para Roles/container.viewer
Papel personalizado MDCGkeClusterWriteRole [Papel Personalizado] com permissões container.clusters.update
Descoberta sem agente do Kubernetes
Atualização dos clusters GKE para suportar restrição de IP

GCP acesso menos privilegiado

Nome da Conta de Serviço Funções / Permissões Associadas Capacidades Atuais
mdc-containers-artifact-assess Roles/artifactregistry.reader Lista de permissões GCP
Roles/storage.objectViewer Lista de permissões GCP
Avaliação da vulnerabilidade dos contentores sem agente.
mdc-containers-k8s-operator Lista de permissões do GCP para Roles/container.viewer

Papel personalizado MDCGkeClusterWriteRole com permissões container.clusters.update
Descoberta de Kubernetes sem agente.
Atualização dos clusters GKE para suportar restrição de IP

Próximos passos