千家信息网

Rancher中的K8S认证和RBAC该如何理解

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,Rancher中的K8S认证和RBAC该如何理解,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Rancher Kuber
千家信息网最后更新 2025年02月05日Rancher中的K8S认证和RBAC该如何理解

Rancher中的K8S认证和RBAC该如何理解,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

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组织的任何用户的服务了:

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

角色 认证 用户 集群 服务 环境 资源 功能 身份 认证服务 身份认证 对象 权限 模块 示例 管理 信息 所有者 状态 管理员 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库技术的应用及其特点 揭阳专业软件开发商家 云服务器快照能导出吗 云服务器开发的程序 数据库中性别用什么数据类型存储 网络安全法二十七银行卡 金蝶eas进入后台数据库 监控数据库 内网服务器搭建测速网站 express数据库 达梦数据库登录次数限制 数据库取值范围0-100怎么写 软件开发方向的主要开发语言 创建和管理数据库的实验分析 广播稿网络安全150字 网络安全信息实施意见 美国市值最高网络安全公司 网络安全健康教育ppt 图像识别数据库建立 物联网网络安全风险应对 vb数据库导入电子表 如何购买服务器 嵌入式软件开发需要什么基础 服务器系统错误能修复吗 山东系统软件开发价格表 高中考试有软件开发 大华7016平台服务器干嘛的 巢湖专业的财务管理软件开发费用 晋中信息学院毕业论文数据库 江苏体感多媒体软件开发
0