如何识别谁在Kubernetes中编辑了yaml或属性文件



如果有人编辑了任何正在运行的服务的yaml或属性文件,那么我应该如何知道在该特定服务上使用编辑命令的人和时间。

kubectl编辑部署ServiceName-n名称空间

Kubernetes审核日志应该会告诉您这一点。Kubernetes审计提供了一组与安全相关的按时间顺序排列的记录,记录了单个用户、管理员或系统其他组件影响系统的活动顺序。

已知的审计级别为:

  1. 无-不记录符合此规则的事件。

  2. 元数据-记录请求元数据(请求用户、时间戳、资源、谓词等(,但不记录请求或响应主体。

  3. 请求-记录事件元数据和请求正文,但不记录响应正文。这不适用于非资源请求。

  4. RequestResponse-记录事件元数据、请求和响应主体。这不适用于非资源请求。

你可以写一个审计策略,如下

apiVersion: audit.k8s.io/v1 # This is required.
kind: Policy
# Don't generate audit events for all requests in RequestReceived stage.
omitStages:
- "RequestReceived"
rules:
# Log deployment changes at RequestResponse level
- level: RequestResponse
resources:
- group: "apps/v1"
resources: ["deployments"]

您需要通过kube API服务器的--audit-policy-file标志来应用它。

此外,您还可以像本指南中那样Fluentd收集审计日志

https://kubernetes.io/docs/tasks/debug-application-cluster/audit/

相关内容

  • 没有找到相关文章

最新更新