审计策略

为 minikube 启用审计策略

概述

minikube 默认不启用审计。本教程将展示如何在 minikube API 服务器启动时提供一个审计策略文件。

教程

minikube stop

mkdir -p ~/.minikube/files/etc/ssl/certs

cat <<EOF > ~/.minikube/files/etc/ssl/certs/audit-policy.yaml
# Log all requests at the Metadata level.
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
- level: Metadata
EOF

minikube start \
  --extra-config=apiserver.audit-policy-file=/etc/ssl/certs/audit-policy.yaml \
  --extra-config=apiserver.audit-log-path=-

kubectl logs kube-apiserver-minikube -n kube-system | grep audit.k8s.io/v1

本教程中使用的审计策略非常简单且冗长。下一步,你可能需要对 audit-policy.yaml 文件进行微调。要应用这些更改,你需要停止并启动 minikube。重启 minikube 会触发文件同步机制,该机制将 yaml 文件复制到 minikube 节点上,并使 API 服务器读取更改后的策略文件。

注意:目前在 ~/.minikube/ 中没有专门用于存储 audit-policy.yaml 文件的目录。使用 ~/.minikube/files/etc/ssl/certs 目录是一个权宜之计!这个权宜之计的原理是:通过将文件放入 ~/.minikube/files/ 的子目录中,会触发文件同步机制,将 audit-policy.yaml 文件从主机复制到 minikube 节点。当 kubeadm 启动 API 服务器容器时,它会将 minikube 节点上的 /etc/ssl/certs 目录挂载到容器中。这就是为什么 audit-policy.yaml 文件必须存储在 ssl 证书目录中的原因:它是从 minikube 节点挂载到容器中的目录之一。


最后修改于 2020 年 6 月 16 日:修复了损坏的链接 (74bc93243)