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

时间:2017-05-11 09:39:55

标签: kubernetes google-kubernetes-engine rbac abac

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

在具有kubernetes版本v1.6的Google Container Engine(GKE)群集上,默认情况下启用RBAC授权。显然,ABAC也可以作为后备授权启用,以便简化现有集群到新授权方案的转换。这个想法是第一个RBAC尝试授权一个动作。 如果失败,则应将其记录在某处,然后咨询ABAC以允许该操作。这应该使群集管理员能够在最终关闭ABAC之前检查日志中是否缺少RBAC权限。

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

2 个答案:

答案 0 :(得分:8)

使这更加全面。来自Using RBAC Authorization

  

当日志级别为2或更高(--v = 2)运行时,您可以在apiserver日志中看到RBAC拒绝(以RBAC DENY为前缀)。

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

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

答案 1 :(得分:3)

RBAC拒绝记录到主apiserver日志。