Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Inspecionar workloads do cluster

Última atualização: Jun 27, 2026

O ACK oferece o recurso de inspeção para verificar riscos de segurança nas configurações dos workloads do seu cluster. Após a execução de uma tarefa de inspeção, o sistema gera um relatório. Com esse relatório, você visualiza e trata itens de risco, além de monitorar o estado de integridade dos workloads em tempo real.

Pré-requisitos

  • O cluster deve executar o Kubernetes v1.14 ou posterior. Para atualizar seu cluster, consulte Atualizar manualmente um cluster ACK.

  • Se você for um usuário RAM, conclua a autorização RAM e a autorização RBAC conforme descrito nas seções a seguir.

    • Autorização RAM

      Conclua a autorização RAM na página Inspections para garantir que o usuário RAM atual tenha permissões de uso da página Inspections no cluster atual. Caso contrário, as permissões serão insuficientes e não será possível utilizar os recursos da página Inspections. Para mais informações, consulte Conceder permissões para acessar clusters e recursos de nuvem usando o RAM.

      Política de autorização de inspeção

      {
        "Statement": [
          {
            "Action": [
              "cs:DescribePolarisConfig",
              "cs:DescribePolarisJob",
              "cs:DescribePolarisCronJob",
              "cs:UpdatePolarisJob",
              "cs:UpdatePolarisCronJob"
            ],
            "Effect": "Allow",
            "Resource": [
              "acs:cs:*:*:cluster/<yourclusterID>"
            ]
          }
        ],
        "Version": "1"
      }

      Para utilizar o recurso de relatório de inspeção, conceda ao usuário RAM permissões de leitura no projeto especificado do Simple Log Service (SLS). Esse projeto é utilizado pelo componente de coleta de logs do seu cluster. Sem essas permissões, a visualização dos relatórios de inspeção ficará bloqueada. Para mais informações, consulte Exemplos de autorização RAM personalizada.

      Política de autorização de logs do SLS

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "log:Get*",
                      "log:List*"
                  ],
                  "Resource": "acs:log:*:*:project/<your_project_name>/*",
                  "Effect": "Allow"
              }
          ]
      }
    • Autorização RBAC

      Conclua a autorização RBAC para os recursos na página Inspections a fim de conceder permissões de administrador do cluster especificado ao usuário RAM. Isso garante que o usuário RAM tenha permissão para operar nos recursos Kubernetes da página Inspections. Para mais informações, consulte Usar RBAC para autorizar operações em recursos dentro de um cluster.

Executar uma inspeção

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Security > Inspections.

  3. Opcional: Siga as instruções na tela para instalar ou atualizar o componente de inspeção.

    O componente security-inspector é gratuito, mas consome recursos de pod. Para mais informações sobre o componente e suas notas de versão, consulte security-inspector.

  4. Execute uma inspeção.

    Importante
    • Recomendamos executar inspeções fora dos horários de pico.

    • Por padrão, a inspeção verifica todos os itens suportados. No canto superior direito da página Inspections, clique em Configure Periodic Inspection para especificar os itens a serem verificados. Para mais informações, consulte Itens de inspeção.

    • Para executar uma inspeção imediata, no canto superior direito da página Inspections, clique em Inspect.

    • Para executar inspeções periódicas, no canto superior direito da página Inspections, clique em Configure Periodic Inspection. Em seguida, selecione Configure Periodic Inspection e configure o período de inspeção.

  5. Após a conclusão da inspeção, na aba Inspections, localize o resultado desejado e clique em Details na coluna Actions.

Detalhes da inspeção

A página Inspections lista resultados detalhados da inspeção para diferentes workloads. A página oferece os seguintes recursos:

  • Filtre resultados por critérios como Passed or Failed, Namespace e Workload Type, e visualize a Number of Passed Items e os Risk Item de cada workload.

  • Visualize detalhes de cada item inspecionado, incluindo o status da verificação (aprovado ou reprovado) nos níveis de pod e contêiner, descrição detalhada e sugestões de correção. Se um item reprovado não exigir correção, adicione-o à lista de permissões.

  • Consulte o arquivo YAML de um workload.

Relatórios de inspeção

A página Reports exibe os resultados da inspeção mais recente. A página inclui as seguintes informações:

  • Visão geral dos resultados da varredura, incluindo o número total de itens inspecionados, a quantidade e a porcentagem de cada tipo de recurso verificado e a pontuação geral de integridade.

  • Estatísticas das principais categorias de varredura, abrangendo verificações de integridade, imagens, rede, recursos e segurança.

  • Resultados detalhados da varredura para cada configuração de workload, incluindo tipo de recurso, nome do recurso, namespace, tipo de verificação, item de inspeção e resultado.

Itens de inspeção

O recurso de inspeção de configuração verifica e exibe resultados para os seguintes itens.

ID da verificação

Item de verificação

Descrição e risco de segurança

Correção

hostNetworkSet

Impedir que contêineres compartilhem o namespace de rede do host

Verifica se hostNetwork: true está configurado na especificação do pod de um workload. Se essa configuração estiver ativada, os contêineres poderão acessar o namespace de rede do host, criando risco de ataques de rede e sniffing de dados a partir do pod.

Modifique a especificação do pod para remover o campo hostNetwork.

Exemplo:

      labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:1.14.2

hostIPCSet

Impedir que contêineres compartilhem o namespace IPC do host

Verifica se hostIPC: true está configurado na especificação do pod de um workload. Se essa configuração estiver ativada, os contêineres poderão acessar o namespace IPC do host, permitindo ataques ou sniffing de dados de outros processos no host.

Modifique a especificação do pod para remover o campo hostIPC.

Exemplo:

      labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:1.14.2

hostPIDSet

Impedir que contêineres compartilhem o namespace PID do host

Verifica se hostPID: true está configurado na especificação do pod de um workload. Se essa configuração estiver ativada, os contêineres poderão acessar o namespace de ID de processo (PID) do host, permitindo ataques ou coleta de dados de outros processos no host.

Modifique a especificação do pod para remover o campo hostPID.

Exemplo:

      labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:1.14.2

hostPortSet

Impedir que processos de contêiner escutem em portas de nó

Verifica se hostPort está configurado na especificação do pod de um workload. Se uma porta do contêiner for mapeada para uma porta no nó host, ela poderá ocupar a porta do host e receber solicitações de fontes não intencionais.

Modifique a especificação do pod para remover o campo hostPort.

Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            ports:
            - containerPort: 80

runAsRootAllowed

Impedir que contêineres executem como usuário root

Verifica se runAsNonRoot: true está configurado na especificação do pod de um workload. Se essa configuração não estiver definida, os contêineres executarão como usuário root por padrão. Isso cria risco de processos maliciosos comprometerem suas aplicações, o host ou todo o cluster.

Modifique a especificação do pod para adicionar runAsNonRoot: true.

Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            ports:
            - containerPort: 80
            securityContext:
              runAsNonRoot: true

runAsPrivileged

Impedir que contêineres executem em modo privilegiado

Verifica se privileged: true está configurado na especificação do pod de um workload. Se essa configuração estiver ativada, o contêiner terá acesso root ao host. Isso representa um risco grave de processos maliciosos comprometerem suas aplicações, o host ou todo o cluster.

Modifique a especificação do pod para remover o campo privileged.

Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            ports:
            - containerPort: 80
            securityContext: {}

privilegeEscalationAllowed

Impedir escalonamento de privilégios em contêineres

Verifica se allowPrivilegeEscalation: false está configurado na especificação do pod de um workload. Se essa configuração não estiver definida, um processo filho em um contêiner poderá obter mais privilégios que seu processo pai. Isso cria risco de ataques de escalonamento de privilégios.

Modifique a especificação do pod para adicionar o campo allowPrivilegeEscalation: false.

Exemplo:

        ports:
            - containerPort: 80
            securityContext:
              allowPrivilegeEscalation: false
              readOnlyRootFilesystem: true
              runAsNonRoot: true
            volumeMounts:

capabilitiesAdded

Remover capabilities Linux desnecessárias

Verifica o campo capabilities na especificação do pod de um workload em busca de capabilities Linux de alto privilégio, como SYS_ADMIN, NET_ADMIN ou ALL. Se essas capabilities forem concedidas, processos maliciosos poderão usá-las para comprometer suas aplicações, componentes ou o cluster.

Modifique a especificação do pod para adicionar apenas as capabilities Linux necessárias e remover todas as outras.

Se nenhuma capability Linux extra for necessária, remova todas elas. Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            ports:
            - containerPort: 80
            securityContext:
              capabilities:
                drop:
                - ALL

Se capabilities específicas forem necessárias, adicione apenas as indispensáveis e remova as demais. Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            ports:
            - containerPort: 80
            securityContext:
              capabilities:
                add:
                - CHOWN
                drop:
                - ALL

notReadOnlyRootFilesystem

Usar sistema de arquivos raiz somente leitura para contêineres

Verifica se readOnlyRootFilesystem: true está configurado na especificação do pod de um workload. Se essa configuração não estiver definida, o sistema de arquivos raiz do contêiner será gravável. Isso cria risco de processos maliciosos modificarem arquivos do sistema.

Modifique a especificação do pod para adicionar readOnlyRootFilesystem: true. Se precisar gravar em um diretório específico, use volumeMounts.

Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            ports:
            - containerPort: 80
            securityContext:
              readOnlyRootFilesystem: true

Se precisar modificar arquivos em um diretório específico, utilize um campo volumeMounts.

Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            ports:
            - containerPort: 80
            securityContext:
              readOnlyRootFilesystem: true
              runAsNonRoot: true
            volumeMounts:
            - mountPath: /path/to/write
              name: writeable
          volumes:
          - emptyDir: {}
            name: writeable

cpuRequestsMissing

Definir solicitações de cpu para contêineres

Verifica se resources.requests.cpu está configurado na especificação do pod de um workload. Se essa configuração não estiver definida, os pods poderão ser agendados em nós com recursos de cpu insuficientes, causando desempenho lento.

Modifique a especificação do pod para adicionar um campo resources.requests.cpu.

Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            resources:
              requests:
                cpu: 100m

cpuLimitsMissing

Definir limites de cpu para contêineres

Verifica se resources.limits.cpu está configurado na especificação do pod de um workload. Se essa configuração não estiver definida, processos anormais em um contêiner poderão consumir recursos excessivos do nó, podendo esgotar a cpu do nó ou de todo o cluster.

Modifique a especificação do pod para adicionar um campo resources.limits.cpu.

Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            resources:
              requests:
                cpu: 100m
              limits:
                cpu: 100m

memoryRequestsMissing

Definir solicitações de memória para contêineres

Verifica se resources.requests.memory está configurado na especificação do pod de um workload. Se essa configuração não estiver definida, os pods poderão ser agendados em nós com memória insuficiente, levando a erros de falta de memória (OOM).

Modifique a especificação do pod para adicionar um campo resources.requests.memory.

Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            resources:
              requests:
                cpu: 100m
                memory: 128Mi

memoryLimitsMissing

Definir limites de memória para contêineres

Verifica se resources.limits.memory está configurado na especificação do pod de um workload. Se essa configuração não estiver definida, processos anormais em um contêiner poderão consumir recursos excessivos do nó, podendo esgotar a memória do nó ou de todo o cluster.

Modifique a especificação do pod para adicionar um campo resources.limits.memory.

Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            resources:
              requests:
                cpu: 100m
                memory: 128Mi
              limits:
                cpu: 100m
                memory: 128Mi

readinessProbeMissing

Configurar sondas de prontidão para contêineres

Verifica se uma readinessProbe está configurada na especificação do pod de um workload. Sem uma sonda de prontidão, o tráfego pode ser enviado a um contêiner antes que ele esteja pronto para atender solicitações, causando erros na aplicação.

Modifique a especificação do pod para adicionar um campo readinessProbe.

Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            readinessProbe:
              httpGet:
                path: /health
                port: 8080
              initialDelaySeconds: 5
              periodSeconds: 20

livenessProbeMissing

Configurar sondas de atividade para contêineres

Verifica se uma livenessProbe está configurada na especificação do pod de um workload. Sem uma sonda de atividade, um contêiner que não responde não é reiniciado automaticamente, podendo levar à indisponibilidade da aplicação.

Modifique a especificação do pod para adicionar um campo livenessProbe.

Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            livenessProbe:
              httpGet:
                path: /health
                port: 8080
              initialDelaySeconds: 5
              periodSeconds: 20

tagNotSpecified

Usar uma tag de imagem específica para contêineres

Verifica se o campo image na especificação do pod de um workload não possui uma tag de imagem ou usa a tag latest. Se uma tag específica não for usada, o workload poderá executar uma versão inesperada da imagem do contêiner, causando erros na aplicação.

Modifique o campo image na especificação do pod para usar uma tag de imagem específica. Não utilize a tag latest.

Exemplo:

    spec:
          containers:
          - name: nginx
            image: nginx:1.14.2

anonymousUserRBACBinding

Proibir acesso de usuários anônimos ao cluster

Verifica as vinculações de Controle de Acesso Baseado em Função (RBAC) no cluster para encontrar configurações que concedam acesso a usuários anônimos. Se o acesso anônimo for permitido, usuários mal-intencionados poderão roubar informações sensíveis ou atacar o cluster.

Modifique as vinculações RBAC para remover quaisquer permissões que permitam a usuários anônimos acessar recursos do cluster.

Exemplo:

  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: 'foo-group'

Eventos

Tipo de evento

Nome do evento

Exemplo de conteúdo

Descrição

Ações

Normal

SecurityInspectorConfigAuditStart

Starting config audit

A tarefa de inspeção foi iniciada.

Nenhuma ação necessária.

Normal

SecurityInspectorConfigAuditFinished

Config audit finished

A tarefa de inspeção foi concluída.

Nenhuma ação necessária.

Warning

SecurityInspectorConfigAuditHighRiskFound

Found 2 high-risk items after config audit

Após a inspeção, foram encontrados itens de alto risco não mitigados em alguns workloads.

  1. Na página Inspections do cluster, acesse a aba Inspections para visualizar os resultados detalhados da inspeção.

  2. Filtre os resultados por Passed or Failed, Namespace e Workload Type para identificar os workloads em risco.

  3. Clique em Details de um workload para ver os resultados de cada item inspecionado.

    • Para um item que você confirma não precisar de correção, clique em Add to Whitelist.

    • Para um item que exige correção, clique em Details e siga a sugestão de correção para resolver o item.