Rancher Kubernetes拥有RBAC(基于角色的访问控制)功能,此功能可以让管理员配置不同的策略,允许或拒绝用户和服务帐户访问Kubernetes API资源。
为了更好地理解RBAC功能是如何工作的,本文将阐明如何使用Kubernetes API进行身份认证,以及RBAC授权模块如何与认证用户协同工作。
在Rancher中使用KUBERNETES验证
Rancher使用Webhook Token身份验证策略来认证用户的bearer token。首先,用户使用Rancher验证通过Kubernetes > CLI选项卡获得kube配置文件,这其中就包含bearer token。然后,kubectl借助此token和web hook远程认证服务,用Kubernetes API对用户进行身份认证:
当用户尝试使用bearer token对Kubernetes API进行认证时,认证webhook会与Rancher Kubernetes认证服务进行通信,并发送包含该token的身份认证审查对象。然后,Rancher Kubernetes认证服务将会发送一个检查状态,该状态指定用户是否经过身份认证。
审阅状态包含名称、uid和组等用户信息。Kubernetes API中的授权模块稍后将以此确定该用户的访问级别。
以下是Kubernetes发送给Rancher Kubernetes认证服务的认证请求示例。
认证请求: