Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Audit log

Última atualização: Sep 12, 2026

O ACK coleta e analisa logs e dados de auditoria de vários componentes do Kubernetes, incluindo o servidor de API, Ingress, componentes do plano de controle e eventos principais do Kubernetes, para apoiar a análise de causa raiz e a rastreabilidade quando ocorrem problemas de segurança ou no cluster. fornece registro de logs de auditoria e monitoramento de eventos para clusters Kubernetes, oferecendo suporte à análise de segurança e à solução de problemas.

Usar a auditoria de cluster

O log de auditoria do servidor de API registra e rastreia atividades de usuários para fins de segurança e operações. Consulte Work with cluster auditing para coletar logs de auditoria com o SLS, configurar regras de alerta ou desativar a auditoria.

A política de auditoria do ACK é a seguinte:

Nota

Os campos do log de auditoria estão definidos em audit.k8s.io/v1 Event.

apiVersion: audit.k8s.io/v1beta1 # This is required.
kind: Policy
# Don't log events for requests in the RequestReceived stage.
omitStages:
- "RequestReceived"
rules:
# The following requests are high-volume and low-risk, so they are not logged.
- level: None
  users: ["system:kube-proxy"]
  verbs: ["watch"]
  resources:
    - group: "" # core
      resources: ["endpoints", "services"]
- level: None
  users: ["system:unsecured"]
  namespaces: ["kube-system"]
  verbs: ["get"]
  resources:
    - group: "" # core
      resources: ["configmaps"]
- level: None
  users: ["kubelet"] # legacy kubelet identity
  verbs: ["get"]
  resources:
    - group: "" # core
      resources: ["nodes"]
- level: None
  userGroups: ["system:nodes"]
  verbs: ["get"]
  resources:
    - group: "" # core
      resources: ["nodes"]
- level: None
  users:
    - system:kube-controller-manager
    - system:kube-scheduler
    - system:serviceaccount:kube-system:endpoint-controller
  verbs: ["get", "update"]
  namespaces: ["kube-system"]
  resources:
    - group: "" # core
      resources: ["endpoints"]
- level: None
  users: ["system:apiserver"]
  verbs: ["get"]
  resources:
    - group: "" # core
      resources: ["namespaces"]
# Don't log requests to these read-only URLs.
- level: None
  nonResourceURLs:
    - /healthz*
    - /version
    - /swagger*
# Don't log event requests.
- level: None
  resources:
    - group: "" # core
      resources: ["events"]
# Secrets, ConfigMaps, and token reviews can contain sensitive and binary data,
# so only log them at the Metadata level.
- level: Metadata
  resources:
    - group: "" # core
      resources: ["secrets", "configmaps"]
    - group: authentication.k8s.io
      resources: ["tokenreviews"]
- level: Request
  verbs: ["get", "list", "watch"]
  resources:
    - group: "" # core
    - group: "admissionregistration.k8s.io"
    - group: "apps"
    - group: "authentication.k8s.io"
    - group: "authorization.k8s.io"
    - group: "autoscaling"
    - group: "batch"
    - group: "certificates.k8s.io"
    - group: "extensions"
    - group: "networking.k8s.io"
    - group: "policy"
    - group: "rbac.authorization.k8s.io"
    - group: "settings.k8s.io"
    - group: "storage.k8s.io"
# Default level for known APIs.
- level: RequestResponse
  resources:
    - group: "" # core
    - group: "admissionregistration.k8s.io"
    - group: "apps"
    - group: "authentication.k8s.io"
    - group: "authorization.k8s.io"
    - group: "autoscaling"
    - group: "batch"
    - group: "certificates.k8s.io"
    - group: "extensions"
    - group: "networking.k8s.io"
    - group: "policy"
    - group: "rbac.authorization.k8s.io"
    - group: "settings.k8s.io"
    - group: "storage.k8s.io"
    - group: "autoscaling.alibabacloud.com"
# Default level for all other requests.
- level: Metadata

Personalizar regras de log de auditoria do cluster

Adicione regras de auditoria personalizadas no campo auditPolicyRules na página de configuração do kube-apiserver.

# The rules must be defined as a list in YAML format.
- level: RequestResponse
  resources:
  - group: "policy.alibabacloud.com"   
    resources: ["policies"]
- level: None
  userGroups: ["system:nodes"]
  verbs: ["update", "patch"]
  resources:
    - group: ""
      resources: ["nodes/status", "pods/status"]

Essas regras:

  • Ampliam a auditoria: Registram todas as operações em modelos de política do ACK (policies.policy.alibabacloud.com) no nível RequestResponse.

  • Reduzem ruído: Ignoram atualizações de status de nós e Pods provenientes do kubelet (grupo system:nodes), como heartbeats.

A sintaxe das regras de auditoria está documentada em Auditing.

Ao configure regras personalizadas:

  • Formato da regra: Insira uma lista de regras de auditoria (rules), e não um objeto Policy completo.

  • Prioridade da regra: Não é possível alterar o nível de log para solicitações cobertas pelas regras de auditoria padrão do ACK.

  • Validação da regra: O ACK valida as regras conforme a especificação policies.audit.k8s.io. Consulte Kubernetes Audit para obter a sintaxe válida das regras. Importante: Uma regra com formato incorreto pode impedir a inicialização do servidor de API.

Auditoria de atividade exec em contêineres

Atacantes podem usar o comando exec para acessar contêineres e iniciar ataques laterais, mas o log de auditoria padrão do servidor de API não registra comandos executados dentro do contêiner. Para capturar comandos pós-intrusão visando a análise de causa raiz e mitigação de segurança, ative container internal activity auditing.

Usar metadados de auditoria

Duas anotações de log de auditoria, authorization.k8s.io/decision e authorization.k8s.io/reason, indicam se uma solicitação foi autorizada e o motivo. Use-as para rastrear decisões de autorização de chamadas de API.

Monitorar eventos do cluster com NPD e SLS

O node-problem-detector (NPD) converte anomalias de nó, como engines docker travadas, travamentos de kernel, problemas de rede de saída e exaustão de descritores de arquivo, em eventos e funciona em conjunto com o kube-eventer para alertas em ciclo fechado. O Kubernetes Event Center no SLS agrega todos os eventos do cluster em tempo real, incluindo evicções de Pod, falhas ao baixar imagens e acessos exec suspeitos, permitindo consulta, análise, visualização e geração de alertas. Consulte Event monitoring.

Ativar o painel do Ingress

O componente Ingress registra solicitações HTTP na saída padrão e integra-se ao SLS para análise baseada em painéis. O painel do Ingress exibe métricas essenciais, incluindo visualizações de página (PVs), visitantes únicos (UVs), tráfego, latência e principais URLs, facilitando o monitoramento de tráfego em tempo real e a detecção de ataques DoS. Consulte Ingress Dashboard.

Ativar o registro de logs do CoreDNS

Clusters ACK utilizam o CoreDNS como servidor DNS interno. Analise os logs do CoreDNS para solucionar problemas de resolução de DNS ou investigar consultas a domínios de alto risco. O painel do CoreDNS no SLS auxilia na identificação de solicitações suspeitas. Consulte Analyze and monitor CoreDNS logs.