Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Inspect cluster workloads

Última atualização: Oct 14, 2026

O Container Service for Kubernetes (ACK) oferece o recurso de inspeção para verificar as cargas de trabalho do seu cluster em busca de riscos de segurança nas configurações. Após a execução de uma tarefa de inspeção, o sistema gera um relatório de inspeção. Utilize esse relatório para visualizar e resolver itens de risco, além de monitorar a integridade das cargas de trabalho em tempo real.

Pré-requisitos

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

  • Se você for um usuário do Resource Access Management (RAM), certifique-se de ter concluído a autorização do RAM e a autorização RBAC descritas abaixo.

    • Autorização do RAM

      Conclua a autorização do RAM na página Inspections e certifique-se de que o usuário do RAM atual tenha as permissões para usar a página Inspections do cluster atual. Caso contrário, a falta de permissões impedirá o uso dos recursos na página Inspections. Para mais informações, consulte Conceder acesso ao cluster e a recursos da nuvem com o RAM.

      Expanda para visualizar a política de autorização de inspeção de configuração

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

      Para usar o recurso de relatório de inspeção, conclua a autorização do RAM para o projeto específico do Simple Log Service (SLS) que o complemento de coleta de logs do cluster atual utiliza. Além disso, certifique-se de que o usuário do RAM atual tenha permissões de leitura nesse projeto. Caso contrário, a falta de permissões impedirá a visualização dos relatórios de inspeção. Para mais informações, consulte Exemplos de políticas personalizadas do RAM.

      Expanda para visualizar a política de autorização de leitura de logs do SLS

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

      Conclua a autorização RBAC para os recursos na página Inspections e conceda permissões de administrador ao usuário do RAM no cluster especificado. Isso garante que o usuário do RAM tenha as permissões para operar nos recursos do Kubernetes envolvidos na página Inspections. Para mais informações, consulte Autorizar operações em recursos internos do cluster com RBAC.

Execute 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 e atualizar o complemento de inspeção.

    O complemento security-inspector é gratuito, mas consome recursos dos seus pods. Para mais informações sobre o complemento e suas notas de versão, consulte Security inspector.

  4. Execute uma inspeção.

    Importante
    • Execute inspeções durante horários de baixa demanda.

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

    • Para executar uma inspeção imediatamente: 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, 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 da inspeção que deseja visualizar. Na coluna Actions, clique em Details para ver os resultados da verificação.

Detalhes da inspeção

A página Inspections lista os resultados detalhados da inspeção de diferentes cargas de trabalho em tabelas. A página oferece os seguintes recursos:

  • Filtre os resultados por critérios como Passed or Failed, Namespace e Workload Type. Além disso, visualize a Number of Passed Items e a contagem de Risk Item para cada carga de trabalho.

  • Visualize os detalhes de cada item de inspeção, incluindo o status de verificação no nível do pod e do contêiner (Aprovado ou Reprovado), uma descrição detalhada do item e sugestões de endurecimento (hardening). Se um item reprovado não precisar ser corrigido, adicione-o à lista de permissões.

  • Visualize o arquivo YAML de uma carga de trabalho.

Relatórios de inspeção

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

  • Uma visão geral dos resultados da varredura, incluindo o número total de itens de inspeção, a quantidade e o percentual de cada tipo de recurso inspecionado e a pontuação geral de integridade.

  • Estatísticas para cada categoria principal de varredura, incluindo resultados de verificação de integridade, imagem, rede, recurso e segurança.

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

Itens de inspeção

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

ID do item de inspeção

Item de inspeçã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 uma carga de trabalho, o que significa que o pod compartilha o namespace de rede do host. Se essa configuração estiver ativada, os contêineres no pod poderão atacar a rede do host e capturar dados da rede do host.

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 uma carga de trabalho, o que significa que o pod compartilha o namespace IPC do host. Se essa configuração estiver ativada, os contêineres no pod poderão atacar processos no host e capturar seus dados.

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 uma carga de trabalho, o que significa que o pod compartilha o namespace PID do host. Se essa configuração estiver ativada, os contêineres no pod poderão atacar processos no host e coletar seus dados.

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 do contêiner escutem nas portas do host no nó

Verifica se hostPort está configurado na especificação do pod de uma carga de trabalho, o que mapeia uma porta na qual o contêiner escuta para uma porta especificada no host. Se essa configuração estiver ativada, o contêiner poderá ocupar portas disponíveis no host e receber requisições de clientes 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 sejam executados como usuário root

Verifica se runAsNonRoot: true está ausente na especificação do pod de uma carga de trabalho, o que significa que não há exigência para que os contêineres sejam executados como um usuário não root. Se essa configuração estiver ausente, processos maliciosos em um contêiner poderão comprometer suas aplicações, o host ou até mesmo 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 sejam executados em modo privilegiado

Verifica se privileged: true está configurado na especificação do pod de uma carga de trabalho, o que permite que os contêineres sejam executados em modo privilegiado. Se essa configuração estiver ativada, processos maliciosos em um contêiner poderão comprometer suas aplicações, o host ou até mesmo 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 que processos filhos em um contêiner obtenham privilégios elevados

Verifica se allowPrivilegeEscalation: false está ausente na especificação do pod de uma carga de trabalho, o que significa que um processo filho em um contêiner não é impedido de obter mais privilégios do que seu processo pai. Se essa configuração estiver ausente, processos maliciosos em um contêiner poderão obter acesso com privilégios excessivos.

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 capacidades (capabilities) desnecessárias do Linux

Verifica o campo capabilities na especificação do pod de uma carga de trabalho em busca de capacidades privilegiadas do Linux, como SYS_ADMIN, NET_ADMIN e ALL, que são concedidas aos processos no contêiner. Se essas capacidades forem concedidas, processos maliciosos em um contêiner poderão usá-las para comprometer suas aplicações, ou para atacar e danificar complementos e o cluster.

Modifique a especificação do pod para adicionar apenas as capacidades do Linux que suas cargas de trabalho exigem e remova as desnecessárias.

Se nenhuma capacidade adicional do Linux for necessária, remova todas. Exemplo:

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

Se capacidades específicas forem necessárias, adicione apenas as essenciais e remova todas as outras. Exemplo:

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

notReadOnlyRootFileSystem

Tornar o sistema de arquivos do contêiner somente leitura

Verifica se readOnlyRootFilesystem: true está ausente na especificação do pod de uma carga de trabalho, o que significa que o sistema de arquivos no contêiner é gravável. Se essa configuração estiver ausente, processos maliciosos em um contêiner poderão modificar arquivos do sistema.

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

Exemplo:

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

Para modificar arquivos em um diretório específico, use o 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 os recursos mínimos de CPU necessários para executar contêineres

Verifica se resources.requests.cpu está ausente na especificação do pod de uma carga de trabalho, o que significa que os recursos mínimos de CPU necessários para executar o contêiner não estão definidos. Se este campo estiver ausente, o pod poderá ser agendado em um nó com recursos insuficientes, e os processos no contêiner poderão ser executados lentamente.

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

Exemplo:

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

cpuLimitsMissing

Limitar os recursos máximos de CPU que os contêineres podem usar

Verifica se resources.limits.cpu está ausente na especificação do pod de uma carga de trabalho, o que significa que os recursos máximos de CPU para o contêiner não estão definidos. Se este campo estiver ausente, processos anormais em um contêiner poderão consumir uma grande quantidade de recursos do nó, podendo esgotar os recursos de todo o nó ou cluster.

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

Exemplo:

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

memoryRequestsMissing

Definir os recursos mínimos de memória necessários para executar contêineres

Verifica se resources.requests.memory está ausente na especificação do pod de uma carga de trabalho, o que significa que os recursos mínimos de memória necessários para executar o contêiner não estão definidos. Se este campo estiver ausente, o pod poderá ser agendado em um nó com recursos insuficientes, e os processos no contêiner poderão encontrar erros de falta de memória (OOM).

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

Exemplo:

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

memoryLimitsMissing

Limitar os recursos máximos de memória que os contêineres podem usar

Verifica se resources.limits.memory está ausente na especificação do pod de uma carga de trabalho, o que significa que os recursos máximos de memória para o contêiner não estão definidos. Se este campo estiver ausente, processos anormais em um contêiner poderão consumir uma grande quantidade de recursos do nó, podendo esgotar os recursos de todo o nó ou cluster.

Modifique a especificação do pod para adicionar o 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 (readiness probes) para contêineres

Verifica se readinessProbe está ausente na especificação do pod de uma carga de trabalho, o que significa que nenhuma sonda está configurada para detectar se a aplicação no contêiner pode lidar com requisições. Se este campo estiver ausente, as requisições ainda poderão ser enviadas para a aplicação quando ela estiver instável e incapaz de atendê-las, o que causa interrupção nos negócios.

Modifique a especificação do pod para adicionar o 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 (liveness probes) para contêineres

Verifica se livenessProbe está ausente na especificação do pod de uma carga de trabalho, o que significa que nenhuma sonda está configurada para detectar se a aplicação no contêiner está instável e se o contêiner precisa ser reiniciado. Se este campo estiver ausente, o contêiner não será reiniciado a tempo quando uma reinicialização for necessária para recuperação, o que causa interrupção nos negócios.

Modifique a especificação do pod para adicionar o 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 versão explícita de imagem para contêineres

Verifica se o campo image na especificação do pod de uma carga de trabalho não possui uma tag de imagem ou usa "latest" como tag, o que significa que o contêiner não executa uma imagem com uma tag especificada. Se a tag não for especificada, a carga de trabalho poderá executar uma versão inesperada da imagem, o que causa interrupção nos negócios.

Modifique a especificação do pod e altere o campo image para usar uma tag de imagem especificada. Não use "latest" como tag da imagem.

Exemplo:

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

anonymousUserRBACBinding

Impedir que usuários anônimos acessem o cluster

Verifica as vinculações de Controle de Acesso Baseado em Função (RBAC) no cluster em busca de itens de configuração que concedem permissões de acesso a usuários anônimos. Se um item de configuração permitir que usuários anônimos acessem recursos do cluster, um usuário anônimo mal-intencionado poderá exfiltrar informações confidenciais do cluster e atacar ou invadir o cluster.

Modifique as vinculações RBAC retornadas pela varredura e remova os itens de configuração de permissão que permitem que usuários anônimos acessem recursos do cluster, de acordo com os requisitos do seu negócio.

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

Start to running config audit

A tarefa de inspeção é iniciada.

Nenhuma ação é necessária.

Normal

SecurityInspectorConfigAuditFinished

Finished running once config audit

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

Nenhuma ação é necessária.

Warning

SecurityInspectorConfigAuditHighRiskFound

2 high risks have been found after running config audit

Após a execução da inspeção, itens de inspeção de alto risco não corrigidos são encontrados em algumas cargas de trabalho.

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

  2. Conforme necessário, filtre os resultados por Passed or Failed, Namespace e Workload Type para identificar as cargas de trabalho em risco.

  3. Clique em Details para visualizar o resultado da verificação de cada item de inspeção na carga de trabalho.

    • Para um item de inspeção que você confirmou que não precisa ser corrigido, clique em Add to Whitelist para adicionar o item à lista de permissões.

    • Para um item de inspeção que você confirmou que precisa ser corrigido, clique em Details e siga a sugestão de endurecimento (hardening) para corrigi-lo.