Kubernetes 更改默认ServiceAccount的权限

Kubernetes 更改默认ServiceAccount的权限,kubernetes,Kubernetes,如何更改在每个命名空间中创建的默认serviceaccount的权限?我已经尝试将它绑定到一个权限很少的角色,但是由于权限是联合的,所以它没有改变我可以使用serviceaccount令牌执行的操作。我希望的最终状态是无法访问/api/vi/secrets的默认serviceaccount 有没有一种优雅的方法可以做到这一点,或者我最好在每个命名空间中创建自己的“默认”serviceaccount,并拥有我想要的权限?您在集群中使用的授权模式和策略是什么 RBAC和ABAC本身并不授予服务帐户任

如何更改在每个命名空间中创建的默认serviceaccount的权限?我已经尝试将它绑定到一个权限很少的角色,但是由于权限是联合的,所以它没有改变我可以使用serviceaccount令牌执行的操作。我希望的最终状态是无法访问/api/vi/secrets的默认serviceaccount


有没有一种优雅的方法可以做到这一点,或者我最好在每个命名空间中创建自己的“默认”serviceaccount,并拥有我想要的权限?

您在集群中使用的授权模式和策略是什么

RBAC和ABAC本身并不授予服务帐户任何权限


检查您正在使用的策略并删除任何授予API对所有服务帐户的访问权限的规则,然后授予您想要访问的特定服务帐户或服务帐户组的权限。

您在群集中使用的授权模式和策略是什么

RBAC和ABAC本身并不授予服务帐户任何权限


检查您正在使用的策略,删除任何授予API对所有服务帐户的访问权限的规则,然后授予您想要访问的特定服务帐户或服务帐户组的权限。

我们解决了这个问题,我想我会在这里发布解决方案

问题是,一旦K8S1.6和RBAC来到GKE,他们不想破坏使用serviceaccounts的一切,因为他们会突然发现自己没有任何权限。Google所做的是为用户启用RBAC,但不为serviceaccounts启用RBAC,除非您在集群上启用了--no enable legacy authorization


TL;DR没有授予默认的ServiceeCount权限,而是所有serviceaccounts都具有完全权限,因为没有为serviceaccounts启用RBAC。

我们解决了这个问题,我想我应该在这里发布解决方案

问题是,一旦K8S1.6和RBAC来到GKE,他们不想破坏使用serviceaccounts的一切,因为他们会突然发现自己没有任何权限。Google所做的是为用户启用RBAC,但不为serviceaccounts启用RBAC,除非您在集群上启用了--no enable legacy authorization

TL;DR没有授予默认的ServiceAccount权限,而是所有serviceaccounts都具有完全权限,因为没有为serviceaccounts启用RBAC