Cobertura para EKS clusters da Amazon - Amazon GuardDuty

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Cobertura para EKS clusters da Amazon

Depois de ativar o Runtime Monitoring e instalar o agente de GuardDuty segurança (complemento) manualmente EKS ou por meio da configuração automática do agente, você pode começar a avaliar a cobertura dos seus EKS clusters.

Análise de estatísticas de cobertura

As estatísticas de cobertura dos EKS clusters associados às suas próprias contas ou às suas contas membros são a porcentagem dos EKS clusters íntegros em relação a todos os EKS clusters selecionados. Região da AWS. A equação a seguir representa isso como:

(Clusters íntegros/todos os clusters)*100

Selecione um dos métodos de acesso para revisar as estatísticas de cobertura de suas contas.

Console
  • Faça login no AWS Management Console e abra o GuardDuty console em https://console.aws.amazon.com/guardduty/.

  • No painel de navegação, escolha Runtime Monitoring.

  • Escolha a guia de cobertura de tempo de execução dos EKS clusters.

  • Na guia Cobertura de tempo de execução dos EKS clusters, você pode visualizar as estatísticas de cobertura agregadas pelo status da cobertura que está disponível na tabela da lista Clusters.

    • Você pode filtrar a tabela Lista de clusters pelas seguintes colunas:

      • Nome do cluster

      • ID da conta

      • Tipo de gerenciamento de agentes

      • Status da cobertura

      • Versão do complemento

  • Se algum dos seus EKS clusters tiver o status de Cobertura como Não íntegro, a coluna Problema poderá incluir informações adicionais sobre o motivo do status Não íntegro.

API/CLI
  • Execute o ListCoverageAPIcom seu próprio ID de detector, região e ponto de extremidade de serviço válidos. Você pode filtrar e classificar a lista de clusters usando issoAPI.

    • Você pode alterar o filter-criteria de exemplo com uma das seguintes opções para CriterionKey:

      • ACCOUNT_ID

      • CLUSTER_NAME

      • RESOURCE_TYPE

      • COVERAGE_STATUS

      • ADDON_VERSION

      • MANAGEMENT_TYPE

    • Você pode alterar o AttributeName de exemplo em sort-criteria com uma das seguintes opções:

      • ACCOUNT_ID

      • CLUSTER_NAME

      • COVERAGE_STATUS

      • ISSUE

      • ADDON_VERSION

      • UPDATED_AT

    • Você pode alterar o max-results (até 50).

    • Para encontrar o detectorId para sua conta e região atual, consulte a página Configurações no https://console.aws.amazon.com/guardduty/console ou execute o ListDetectors API.

    aws guardduty --region us-east-1 list-coverage --detector-id 12abc34d567e8fa901bc2d34e56789f0 --sort-criteria '{"AttributeName": "EKS_CLUSTER_NAME", "OrderBy": "DESC"}' --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"111122223333"}}] }' --max-results 5
  • Execute o GetCoverageStatisticsAPIpara recuperar as estatísticas agregadas de cobertura com base no. statisticsType

    • Você pode alterar o statisticsType de exemplo com uma das seguintes opções:

      • COUNT_BY_COVERAGE_STATUS— Representa estatísticas de cobertura para EKS clusters agregadas por status de cobertura.

      • COUNT_BY_RESOURCE_TYPE— Estatísticas de cobertura agregadas com base no tipo de AWS recurso na lista.

      • Você pode alterar o filter-criteria de exemplo no comando. É possível usar as seguintes opções para CriterionKey:

        • ACCOUNT_ID

        • CLUSTER_NAME

        • RESOURCE_TYPE

        • COVERAGE_STATUS

        • ADDON_VERSION

        • MANAGEMENT_TYPE

    • Para encontrar o detectorId para sua conta e região atual, consulte a página Configurações no https://console.aws.amazon.com/guardduty/console ou execute o ListDetectors API.

    aws guardduty --region us-east-1 get-coverage-statistics --detector-id 12abc34d567e8fa901bc2d34e56789f0 --statistics-type COUNT_BY_COVERAGE_STATUS --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"123456789012"}}] }'

Se o status da cobertura do seu EKS cluster for Não íntegro, consulteSolução de problemas de EKS cobertura.

Configuração de notificações de alteração do status de cobertura

O status da cobertura de um EKS cluster em sua conta pode aparecer como Não íntegro. Para detectar quando o status da cobertura se torna Não íntegro, recomendamos que você monitore o status de cobertura periodicamente e solucione o problema, se o status for Não íntegro. Como alternativa, você pode criar uma EventBridge regra da Amazon para notificá-lo quando o status da cobertura mudar de Unhealthy para Healthy ou não. Por padrão, GuardDuty publica isso no EventBridgebarramento da sua conta.

Exemplo de esquema de notificação

Em uma EventBridge regra, você pode usar os exemplos de eventos e padrões de eventos predefinidos para receber a notificação do status da cobertura. Para obter mais informações sobre a criação de uma EventBridge regra, consulte Criar regra no Guia EventBridge do usuário da Amazon.

Além disso, você pode criar um padrão de evento personalizado usando o exemplo de esquema de notificação a seguir. Substitua os valores da sua conta. Para ser notificado quando o status da cobertura do seu EKS cluster Amazon mudar de Healthy paraUnhealthy, o detail-type deve ser GuardDuty Runtime Protection Unhealthy. Para ser notificado quando o status da cobertura mudar de Unhealthy paraHealthy, substitua o valor de detail-type por GuardDuty Runtime Protection Healthy.

{ "version": "0", "id": "event ID", "detail-type": "GuardDuty Runtime Protection Unhealthy", "source": "aws.guardduty", "account": "Conta da AWS ID", "time": "event timestamp (string)", "region": "Região da AWS", "resources": [ ], "detail": { "schemaVersion": "1.0", "resourceAccountId": "string", "currentStatus": "string", "previousStatus": "string", "resourceDetails": { "resourceType": "EKS", "eksClusterDetails": { "clusterName": "string", "availableNodes": "string", "desiredNodes": "string", "addonVersion": "string" } }, "issue": "string", "lastUpdatedAt": "timestamp" } }

Solução de problemas de EKS cobertura

Se o status da cobertura do seu EKS cluster forUnhealthy, você poderá visualizar o erro correspondente na coluna Problema no GuardDuty console ou usando o tipo de CoverageResourcedados.

Ao trabalhar com tags de inclusão ou exclusão para monitorar seus EKS clusters seletivamente, pode levar algum tempo para que as tags sejam sincronizadas. Isso pode afetar o status de cobertura do EKS cluster associado. É possível tentar remover e adicionar a tag correspondente (inclusão ou exclusão) novamente. Para obter mais informações, consulte Como marcar seus EKS recursos da Amazon no Guia do EKS usuário da Amazon.

A estrutura de um problema de cobertura é Issue type:Extra information. Normalmente, os problemas terão Informações adicionais opcionais que poderão incluir uma exceção específica do lado do cliente ou uma descrição sobre o problema. Com base em informações adicionais, as tabelas a seguir fornecem as etapas recomendadas para solucionar os problemas de cobertura dos seus EKS clusters.

Tipo de problema (prefixo)

Informações adicionais

Etapas para solução de problemas

Falha na criação do complemento

O complemento não aws-guardduty-agent é compatível com a versão atual do cluster ClusterName. O complemento especificado não é suportado.

Certifique-se de usar uma dessas versões do Kubernetes que oferecem suporte à implantação do complemento. aws-guardduty-agent EKS Para obter mais informações, consulte Versões do Kubernetes suportadas pelo agente de segurança GuardDuty . Para obter informações sobre como atualizar sua versão do Kubernetes, consulte Atualização de uma versão do Kubernetes do EKS cluster da Amazon.

Falha na criação do complemento

Falha na atualização do complemento

Status do complemento insalubre

EKSProblema adicional -: AddonIssueCode AddonIssueMessage

Para obter informações sobre as etapas recomendadas para um código de problema específico do complemento, consulteTroubleshooting steps for Addon creation/updatation error with Addon issue code.

Para obter uma lista dos códigos de problemas adicionais que você pode enfrentar nesse problema, consulte AddonIssue.

VPCFalha na criação do endpoint

VPCcriação de endpoint não suportada para compartilhamento VPC vpcId

O Runtime Monitoring agora suporta o uso de um compartilhamento VPC dentro de uma organização. Certifique-se de que suas contas atendam a todos os pré-requisitos. Para obter mais informações, consulte Pré-requisitos para usar o compartilhado VPC.

Somente ao usar a configuração compartilhada VPC com agente automatizado

ID da conta do proprietário 111122223333 para compartilhado VPC vpcId não tem o Runtime Monitoring, a configuração automatizada do agente ou ambos ativados.

A conta compartilhada do VPC proprietário deve habilitar o Runtime Monitoring e a configuração automática do agente para pelo menos um tipo de recurso (Amazon EKS ou Amazon ECS (AWS Fargate)). Para obter mais informações, consultePré-requisitos específicos para o monitoramento de tempo de execução GuardDuty.

Habilitar o privado DNS requer ambos enableDnsSupport e enableDnsHostnames VPC os atributos definidos como true para vpcId (Serviço: Ec2, Código de status: 400, ID da solicitação: a1b2c3d4-5678-90ab-cdef-EXAMPLE11111).

Certifique-se de que os VPC atributos a seguir estejam definidos como trueenableDnsSupport enableDnsHostnames e. Para obter mais informações, consulte DNSatributos em seu VPC.

Se você estiver usando o Amazon VPC Console em https://console.aws.amazon.com/vpc/para criar o AmazonVPC, certifique-se de selecionar Habilitar DNS nomes de host e Ativar DNS resolução. Para obter mais informações, consulte VPCas opções de configuração.

Falha na exclusão VPC do endpoint compartilhado

A exclusão compartilhada VPC do endpoint não é permitida para o ID da conta 111122223333, compartilhado VPC vpcId, ID da conta do proprietário 555555555555.

Etapas potenciais:
  • Desabilitar o status do Runtime Monitoring da conta compartilhada do VPC participante não afeta a política de VPC endpoint compartilhado e o grupo de segurança que existe na conta do proprietário.

    Para excluir o VPC endpoint compartilhado e o grupo de segurança, você deve desativar o Runtime Monitoring ou o status de configuração automatizada do agente na conta do VPC proprietário compartilhada.

  • A conta compartilhada do VPC participante não pode excluir o VPC endpoint compartilhado e o grupo de segurança hospedados na conta compartilhada do VPC proprietário.

EKSClusters locais

EKScomplementos não são suportados em clusters de postos avançados locais.

Não acionável.

Para obter mais informações, consulte Amazon EKS em AWS postos avançados.

EKSPermissão de ativação do Runtime Monitoring não concedida

(pode ou não mostrar informações adicionais)

  1. Se houver informações adicionais disponíveis para esse problema, corrija a causa raiz e siga a próxima etapa.

  2. Alterne o EKS Runtime Monitoring para desativá-lo e depois ligá-lo novamente. Certifique-se de que o GuardDuty agente também seja implantado, seja de forma automática GuardDuty ou manual.

EKSProvisionamento de recursos de habilitação do Runtime Monitoring em andamento

(pode ou não mostrar informações adicionais)

Não acionável.

Depois de habilitar o EKS Runtime Monitoring, o status da cobertura pode permanecer Unhealthy até que a etapa de provisionamento de recursos seja concluída. O status da cobertura é monitorado e atualizado periodicamente.

Outros (qualquer outro problema)

Erro devido à falha na autorização

Alterne o EKS Runtime Monitoring para desativá-lo e depois ligá-lo novamente. Certifique-se de que o GuardDuty agente também seja implantado, de forma automática GuardDuty ou manual.

Erro na criação ou atualização do complemento

Etapas de solução de problemas

EKSProblema do complemento -InsufficientNumberOfReplicas: O complemento não está íntegro porque não tem o número desejado de réplicas.

  • Usando a mensagem do problema, você pode identificar e corrigir a causa raiz. Você pode começar descrevendo seu cluster. Por exemplo, use kubectl describe podspara identificar a causa raiz da falha do pod.

    Depois de corrigir a causa raiz, repita a etapa (criação ou atualização do complemento).

  • Se o problema persistir, confirme se o VPC endpoint do seu EKS cluster da Amazon está configurado corretamente. Para obter mais informações, consulte Como faço para validar se a configuração do VPC endpoint está correta?.

EKSProblema adicional -AdmissionRequestDenied: o webhook de admissão "validate.kyverno.svc-fail" negou a solicitação: política de violação DaemonSet/amazon-guardduty/aws-guardduty-agent de recursos:: restrict-image-registries:autogen-validate-registries...

  1. O EKS cluster da Amazon ou o administrador de segurança devem revisar a política de segurança que está bloqueando a atualização do complemento.

  2. Você deve desativar o controlador (webhook) ou fazer com que o controlador aceite as solicitações da AmazonEKS.

EKSProblema do complemento -ConfigurationConflict: Conflitos encontrados ao tentar se inscrever. Não continuará devido ao modo de resolução de conflitos. Conflicts: DaemonSet.apps aws-guardduty-agent - .spec.template.spec.containers[name="aws-guardduty-agent"].image

Ao criar ou atualizar o complemento, forneça o sinalizador de OVERWRITE resolução de conflitos. Isso potencialmente substituirá todas as alterações feitas diretamente nos recursos relacionados no Kubernetes usando o Kubernetes. API

Você pode primeiro excluir o complemento e depois reinstalá-lo.

EKSProblema do complemento - AccessDenied: priorityclasses.scheduling.k8s.io "aws-guardduty-agent.priorityclass" is forbidden: User "eks:addon-manager" cannot patch resource "priorityclasses" in API group "scheduling.k8s.io" at the cluster scope

Você deve adicionar eks:addon-cluster-admin ClusterRoleBinding manualmente a permissão ausente ao. Adicione o seguinte yaml aeks:addon-cluster-admin:

--- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eks:addon-cluster-admin subjects: - kind: User name: eks:addon-manager apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io ---

Agora você pode aplicar isso yaml ao seu EKS cluster da Amazon usando o seguinte comando:

kubectl apply -f eks-addon-cluster-admin.yaml

EKSProblema do complemento - AccessDenied: admission webhook "validation.gatekeeper.sh" denied the request: [all-namespace-must-have-label-owner] All namespaces must have an `owner` label

Você deve desativar o controlador ou fazer com que ele aceite as solicitações do EKS cluster da Amazon.

Antes de criar ou atualizar o complemento, você também pode criar um GuardDuty namespace e rotulá-lo como. owner

EKSProblema do complemento - AccessDenied: admission webhook "validation.gatekeeper.sh" denied the request: [allowed-container-registries] container <aws-guardduty-agent> has an invalid image registry

Você deve permitir explicitamente que o webhook do controlador de admissão acesse o registro da sua região, conforme especificado em. Repositório para EKS agente versão 1.6.0 ou superior