如何在 GKE kubernetes 集群中调试 ABAC 到 RBAC 的转换?

How to debug ABAC to RBAC transition in a GKE kubernetes cluster?

GKE 在哪里记录 RBAC 权限事件?

在 Google 上,使用 kubernetes v1.6 版的容器引擎 (GKE) 集群默认启用 RBAC 授权。显然,ABAC 也作为后备授权启用,以便简化现有集群向新授权方案的过渡。这个想法是首先尝试 RBAC 授权一个动作。 如果失败,应将其记录在某处,然后咨询 ABAC 以允许该操作。这应该使集群管理员能够在最终关闭 ABAC 之前检查日志中是否有遗漏的 RBAC 权限。

我们有一些集群禁用了 GCP logging/monitoring,而是使用自己的 ELK 堆栈。只是为了确保我已经使用 GCP 的云日志记录和监控创建了一个测试集群,但仍然无法在任何地方找到任何 RBAC 事件。 test pod 是一个 prometheus 服务器,用于发现和抓取其他 pods 和节点。

RBAC 拒绝记录到主 apiserver 日志。

为了让这个更全面。来自 Using RBAC Authorization:

When run with a log level of 2 or higher (--v=2), you can see RBAC denials in the apiserver log (prefixed with RBAC DENY:).

在 GKE 中,可以通过 HTTP 访问 apiservers 日志,例如:

kubectl proxy &
curl -s http://localhost:8001/logs/kube-apiserver.log