Rancher中的K8S认证和RBAC

来源:互联网 发布:java命令行运行有包名 编辑:程序博客网 时间:2024/06/04 22:14

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认证服务的认证请求示例。

认证请求:

这里写图片描述

Rancher Kubernetes认证服务决定该用户是否通过认证,并向Kubernetes发送响应。

认证响应:

这里写图片描述

如您所见,由于环境所有者发送此请求,用户在系统中被归为system:masters组,该用户组可以访问Kubernetes集群中的所有资源:

这里写图片描述

集群角色“集群管理”资源允许访问所有API组中的所有Kubernetes资源:

这里写图片描述

RBAC授权模块

对API的请求包含请求者的用户名、请求的操作以及操作所影响的对象的信息。在对Kubernetes API的请求成功进行认证之后,必须授权该请求。

RBAC授权模块定义了四个顶级对象,这四个对象控制授权用户的授权决策:

  • 角色
  • 集群角色
  • 角色绑定
  • 集群角色绑定

角色和集群角色都标识了Kubernetes API资源的权限集。它们之间唯一的区别是:角色可以在命名空间中定义,而集群角色绑定则在集群范围内定义。

角色绑定和集群角色绑定将定义的角色分配给用户、组或服务帐户。而它们可以通过在命名空间中进行角色绑定或在集群范围内进行集群角色绑定来获得授予权限。在下一节中我们将讨论相关示例。

如何在Rancher中启用Kubernetes RBAC功能

要在Rancher中全新安装Kubernetes来启用RBAC功能,您可以编辑默认环境或创建新的环境模板。在Kubernetes环境选项中,您可以启用RBAC,如果您已经启动了Kubernetes基础设施服务,则可以单击“更新”以更新Kubernetes的配置选项。

RBAC示例

如前一节所述,这些示例假设您已经启用了RBAC功能的Kubernetes,并假设您已启用Rancher的GitHub身份认证。

作为Kubernetes环境的所有者,如前所述,您可以访问所有Kubernetes API,因为集群管理员角色是默认分配给环境所有者的。管理员用户默认不会访问任何API资源。

若您已将一些GitHub用户和组添加为Kubernetes环境的成员,当你尝试访问Kubernetes API时,则会收到以下消息:

这里写图片描述

要跨所有Kubernetes集群启用GitHub组织的访问权限,请创建以下集群角色:

这里写图片描述

此角色定义了列表并获得了对服务资源的访问权限。此时, 集群角色不与任何用户或组关联, 因此以下步骤为创建集群角色绑定:

这里写图片描述

角色绑定指定了GitHub组织的“github_org:”组。这时您会发现,当您想将角色绑定应用于组时,每种认证类型都有专门的Rancher认证语法。有关更多详细信息,可参阅Rancher文档:

创建角色绑定后,您就可以列出属于此GitHub组织的任何用户的服务了:

这里写图片描述

关注微信公众号(RancherLabs),获取每日Docker&K8S技术干货推送。添加Rancher助手(RancherLabsChina)为好友,加入技术群,获取免费技术支持,年末赢取Apple Watch、Beats耳机、机械键盘等重磅好礼。

原文来源:Rancher Labs

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 圆通快递物流信息一直没更新怎么办 中通快递三天没更新物流信息怎么办 快递已经到了物流信息不更新怎么办 天天快递查询不更新物流信息怎么办 买车下个月分期全部付清怎么办手续 天猫客服介入以后商家不退款怎么办 淘宝上买代购奢侈品买到假货怎么办 淘宝退货卖家收到货拒绝退款怎么办 没收到货但申请了退货退款怎么办 小米商城预约中德手机没货怎么办 电脑用百度网盘下载速度超慢怎么办 ios网盘下载速度太慢怎么办 小米手机4x卡机了怎么办 小米手机4x屏幕点不动了怎么办 苹果手机连接u盘没反应怎么办 苹果官网储蓄卡分期额度不够怎么办 京东买东西发票信息填写错了怎么办 华为v9手机激活密码忘了怎么办 公司报销发票纸质的丢了怎么办 在京东上买的小天才手表坏了怎么办 美亚买东西过几天降价了怎么办 天猫买东西退款后又不想退了怎么办 自己写错了地址快递被签收了怎么办 在天猫购买东西不发货怎么办 在天猫买了东西不给我发货怎么办 天猫退货卖家收到货不退款怎么办 唯品会的账号找不回来了怎么办 从网上买的沙发物流超级慢怎么办 三星c5手机玩王者荣耀卡怎么办 买手机送话费的卡不想用了怎么办 到银行存钱被骗买保险了怎么办 去银行存钱被骗买了保险怎么办 京东申请退款后卖家又发货了怎么办 苹果6s没有4g网怎么办 花呗分期付款买手机额度不够怎么办 手机天猫不支持购买淘宝商品怎么办 天猫国际购买商品狠盾怎么办 在微信上微拍堂买东西被骗了怎么办 京东自营买到返修手机怎么办? 7p弯了怎么办能修复吗 农商银行app登录密码忘了怎么办