[CKS] Audit Log Policy

时间:2024-11-11 08:15:40

最近准备花一周的时间准备CKS考试,在准备考试中发现有一个题目关于audit policy的题目。

What’s the audit policy

使用K8s Audit Policy,管理员可以定义哪些操作需要被审计,包括创建、删除、更新和查看集群中的资源。审计记录包括操作的时间戳、执行操作的用户、操作的命令和参数等信息。

审计记录可以被发送到不同的目标,例如日志文件、集中式日志管理系统或外部审计系统,以供后续分析和调查使用。

通过使用K8s Audit Policy,管理员可以获得对集群中操作的更大可见性和可追踪性,以增强安全性和合规性。

Question 1

The cluster has an audit policy configured. The audit policy file is located at /etc/kubernetes/audit-policy.yaml. Add the following rules to the audit policy:

  • Log the request and response body for changes to configmaps.
  • Log the request body for changes to services and pods in the web namespace.
  • Log metadata for changes to secrets.
  • Create a catch-all rule to log metadata for all remaining requests.

这里要求我们在audit-policy.yaml文件中创建如下的audit log规则

  • 记录对configmaps进行更改的请求和响应体。
  • 记录对web命名空间中服务和pod进行更改的请求体。
  • 记录对secrets进行更改的元数据。
  • 创建一个捕获所有其他请求的规则,并记录其元数据。

Practice

更改audit-policy.yaml文件内容如下
在这里插入图片描述

Question 2

Configure audit logging for the cluster.

  • Direct audit log output to a file located at /var/log/kubernetes/audit.log.
  • Maintain old log files for a maximum of 10 days.
  • Keep a maximum of 1 old log files.

这里要求配置审计日志记录如下:

  • 将审计日志输出到位于/var/log/kubernetes/audit.log的文件中。
  • 保留旧日志文件的最长时间为10天。
  • 保留最多1个旧日志文件。

Practice

修改kube-apiserver的配置文件如下:

sudo vi /etc/kubernetes/manifests/kube-apiserver.yaml

在这里插入图片描述

如何进行验证

sudo tail -f /var/log/kubernetes/audit.log

相关文章