审计日志

APIServer 请求认证流程

认证

鉴权

准入控制

审计

authrization

authtication

admission

audit

审计日志 按照时间顺序记录了每个用户操作记录,并可以将日志存储在文件或 webhook。 【注意】会增加api-server内存消耗

为k8s管理员提供了:

  • 发生了什么?
  • 什么时候发生的?
  • 谁触发的?
  • 活动发生在哪个(些)对象上?
  • 在哪观察到的?
  • 它从哪触发的?
  • 活动的后续处理行为是什么?

每个请求都可被记录其相关的阶段(stage)。已定义的阶段有:

  • RequestReceived - 此阶段对应审计处理器接收到请求后, 并且在委托给其余处理器之前生成的事件。
  • ResponseStarted - 在响应消息的头部发送后,响应消息体发送前生成的事件。 只有长时间运行的请求(例如 watch)才会生成这个阶段。
  • ResponseComplete - 当响应消息体完成并且没有更多数据需要传输的时候。
  • Panic - 当 panic 发生时生成。

第一个匹配规则设置事件的审计级别(Audit Level)。 已定义的审计级别有:

  • None - 符合这条规则的日志将不会记录。
  • Metadata - 记录请求的元数据(请求的用户、时间戳、资源、动词等等), 但是不记录请求或者响应的消息体。
  • Request - 记录事件的元数据和请求的消息体,但是不记录响应的消息体。 这不适用于非资源类型的请求。
  • RequestResponse - 记录事件的元数据,请求和响应的消息体。这不适用于非资源类型的请求。

开始实践

  • 在apiserver中开启配置

    保留最近7天的审计日志,日志达到2048MB 自动轮转一个新的日志文件,日志文件最多保留三份

    --audit-policy-file=/etc/kubernetes/audit-policy.yaml \
    --audit-log-path=/var/log/audit.log \
    --audit-log-maxage=7 \
    --audit-log-maxbackup=3 \
    --audit-log-maxsize=2048
  • 编写policy审计规则

    语法

    cat /etc/kubernetes/audit-policy.yaml
    apiVersion: audit.k8s.io/v1
    kind: Policy
    omitStages: []
    rules:
    - level:
    users: []
    userGroups: []
    verbs: []
    resources: []
    resourceNames: []
    namespaces: []
    nonResourceURLs: []
    omitStages: []

    示例:

    apiVersion: audit.k8s.io/v1
    kind: Policy
    rules:
    #
    - level: Request # 可选 None Metadata Request RequestResponse
    users:
    - "kubernetes-admin"
    userGroups:
    - "system:masters"
    verbs:
    - watch # "get", "list", "watch" "create", "update", "delete","patch","deletecollection 允许批量删除资源","exec","proxy","*"
    resources:
    - group: ""
    resources:
    - pods
    - services
    resourceNames:
    - "test"
    namespaces:
    - "default"
    - level: Metadata
    nonResourceURLs:
    - "api*"
    omitStages:
    - "RequestRecevied"
posted @   mingtian是吧  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示