如何从 azure kubernetes 集群中获取审计日志?稍后我想用它来定义使用 audit2rbac 工具

how to fetch audit log from a azure kubernetes cluster? later i want to use it to define using audit2rbac tool

需要根据审计日志定义RBAC。这可以是加入团队并提供访问权限的常规流程。

我发现 audit2rbac 工具简单易用。

需要关于 Azure 上的 kubernetes 服务的指导。

控制平面日志流(包括审核日志)可通过 Azure 诊断日志获得。看这里:

https://docs.microsoft.com/azure/aks/view-master-logs

这是从 Azure Log Analytics 获取审核日志的示例查询。

它消除了一些噪音以尝试仅提供用户在 Kubernetes 中修改资源时的日志。 requestURI 和 requestObject 字段将为您提供有关用户正在做什么的最多信息。

AzureDiagnostics
| where Category == "kube-audit"
| extend log_j=parse_json(log_s) 
| extend requestURI=log_j.requestURI 
| extend verb=log_j.verb 
| extend username=log_j.user.username
| extend requestObject = parse_json(log_j.requestObject)
| where verb !in ("get", "list", "watch", "")
| where username !in ("aksService", "masterclient", "nodeclient")
| where username !startswith "system:serviceaccount:kube-system"
| where requestURI startswith "/api/"
| where requestURI !startswith "/api/v1/nodes/"
| where requestURI !startswith "/api/v1/namespaces/kube-system/"
| where requestURI !startswith "/api/v1/namespaces/ingress-basic/"