用户与组

认证流程结束后,会得到经过认证的 用户信息组信息(一个或多个组),这些信息会被授权插件使用,验证用户是否被授权执行某个操作。

用户

用户的主体主要有两类:

  • 真实用户:该类用户独立于 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?