用户与组
认证流程结束后,会得到经过认证的 用户信息 和 组信息(一个或多个组),这些信息会被授权插件使用,验证用户是否被授权执行某个操作。
用户
用户的主体主要有两类:
真实用户:该类用户独立于 Kubernetes 集群外,不由集群管理,通常由系统管理员在集群外部实现,例如单点登录系统 (SSO);
Pod 中的应用:该类用户使用的是
ServiceAccount
资源来代表用户,该类资源可创建,并由 Pod 使用,标识一个或多个 Pod,类似于身份证,只不过可以被多个 Pod 使用。API 服务器认证时,通过ServiceAccount
来标识 Pod,对其进行认证;
组
与 Linux 中的用户和组的概念类似,Kubernetes 集群中同样可以 将多个用户分配为一组,然后对该组赋予相应权限,这样便于管理。授权插件 也会根据组信息判定该用户或 Pod 是否具有相应操作的权限。
在集群中,认证插件 也会为 一个用户分配多个组,意味着该用户具有这几个组的权限。
Kubernetes 集群具有一些内置的组,这些内置组具有特殊含义:
system:unauthenticated
: 当用户没有通过所有的认证插件时,会默认为其分配至该组中;system:authenticated
: 成功通过认证流程的用户,会为其分配该组;system:serviceaccounts
: 系统中所有的ServiceAccount
都属于该组;system:serviceaccounts:<namespace>
: 系统中特定命名空间中的所有ServiceAccount
都属于该组;
Last updated
Was this helpful?