【问题标题】:How to identify who edited yaml or property file in Kubernetes?如何识别谁在 Kubernetes 中编辑了 yaml 或属性文件?
【发布时间】:2020-07-28 10:28:24
【问题描述】:

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

kubectl edit deploy ServiceName -n NameSpace

【问题讨论】:

    标签: kubernetes yaml edit kubectl


    【解决方案1】:

    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 Server 的 --audit-policy-file 标志来应用它。

    您也可以像 guide 一样使用 Fluentd 收集审核日志

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

    【讨论】:

    • 感谢您的帮助!!!你能帮忙看看如何以及在哪里应用这个 .yaml 文件吗?申请后从哪里获取有关事件的所有详细信息?
    猜你喜欢
    • 1970-01-01
    • 2018-12-19
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    相关资源
    最近更新 更多