授予用户/用户组访问 Kubernetes 的一个名称空间
转载地址:https://www.kuboard.cn/learning/k8s-advanced/sec/rbac/auth-namespace.html
前提条件
- 已安装 Kuboard v3,版本不低于 v3.1.1.0
两阶段授权
Kuboard v3 中,采用两阶段授权的方式控制用户/用户组在 Kuboard / Kubernetes 中的权限。
第一阶段授权,控制当前用户:
- 可以操作哪个集群
- 以什么样的身份操作该集群
第二阶段授权,控制用户:
- 在集群内具备什么样的权限
本文描述了如何在 Kuboard 界面中为用户组 mygroup 授权,允许该用户组中的用户以 admin 角色访问集群 k8s-21 中的 default 名称空间。使用该用户组下 test 用户登录 Kuboard 后,首页界面如下所示:
假设用户 test 以及用户组 mygroup 已经实现创建好
- test 用户所查询到的集群列表结果为空;
- 点击右上角的用户名,可以显示当前登录用户的基本信息以及其所属的用户组;
第一阶段授权
- 使用管理员账号登录 Kuboard 首页,并导航到 用户与权限 -> 角色 -> sso-user,如下图所示:
sso-user 为安装 Kuboard 时默认创建的第一阶段授权的角色,该角色具备 KubernetesCluster.act-as-impersonate-user 的 GET 权限,允许与此角色关联的用户/用户组以 使用 ServiceAccount kuboard-admin 扮演 的身份操作 Kubernetes 集群。
切换到 关联用户/用户组(集群级别) 标签页,并点击 创建角色绑定(集群级别)
此时,用 test 账号登录 Kuboard 首页,此时用户已经可以在 Kubernetes 集群列表中查看到被授权的 k8s-21 这个集群,如下图所示:
点击该集群,弹出对话框中:
-- 可以激活 使用 ServiceAccount kuboard-admin 扮演 test 这个选项
-- 名称空间列表中的所有名称空间都为不可访问的状态
第二阶段授权
- 以管理员用户登录到 Kuboard 首页,点击集群列表中的集群 k8s-21,进入集群页面,并切换到 访问控制 -> 第一阶段授权 页面,如下图所示:
在此页面中,可以查看到该集群已经授权给 mygroup 用户组(操作步骤参考前文)
- 切换到 访问控制 -> 第二阶段授权 -> 用户组,如下图所示:
点击图中 为新 Group 授权 按钮,并填入 mygroup 作为被授权的用户组名称,然后点击确定按钮,如下图所示:
- 在 Group 详情页面,切换到 default 名称空间,并点击 RoleBinding 后面的 添加 按钮,如下图所示:
在弹出对话框中,关联的 ClusterRole/Role 字段选择 ClusterRole 、admin,并点击保存按钮,如下图所示:
点击保存后,可以看到该用户组在 default 名称空间中的权限,如下图所示:
进入名称空间
完成前述 第一阶段授权、第二阶段 两个步骤后,以 test 用户登录 Kuboard 界面,并点击首页的 k8s-21 集群,在弹出框中可以看到 default 名称空间已经变成了已授权的状态,点击 default 可以进入该名称空间,如下图所示:
授予用户/用户组访问 Kubernetes 的一个名称空间的更多相关文章
- kubernetes之创建基于名称空间的内存和cpu限额示例
系列目录 首先我们创建一个名称空间 kubectl create namespace quota-mem-cpu-example 创建资源配额 apiVersion: v1 kind: Resourc ...
- django路由匹配、反向解析、无名有名反向解析、路由分发、名称空间
目录 django请求生命周期流程图 1.Django请求的生命周期的含义 2.Django请求的生命周期图解及流程 3.Django的请求生命周期(分布解析) 路由层 1.路由匹配 2.path转换 ...
- Python 的名称空间和作用域
最开始对名称空间的了解是在学习函数的时候,那时候知道了作用域的查找顺序,以及全局名称空间和局部名称空间,产生疑惑的时候为学递归的时候,那时候还没有名称空间这个概念,只知道递归有个最大深度,那时候以后递 ...
- Python名称空间与作用域
什么是名称空间? 比如下图的长方形代表内存,在这个内存里我要设置一个变量100,那么这个变量得有个门牌号,就叫他a吧,但其实变量不是这么存储的,他其实的存储方式是这样的,他会有一个名称空间,这个名称空 ...
- C++ primer plus读书笔记——第9章 内存模型和名称空间
第9章 内存模型和名称空间 1. 头文件常包含的内容: 函数原型. 使用#define或const定义的符号常量. 结构声明. 类声明. 模板声明. 内联函数. 2. 如果文件名被包含在尖括号中,则C ...
- Django框架路由分发-名称空间
目录 一:路由分发 1.路由分发简介 2.总路由分发配置 3.总路由终极配置(不需要导应用路由,直接点应用即可) 4.子路由配置 二:名称空间 1.名称空间应用场景 3.解决方式二>>&g ...
- Kubernetes K8S之Pod跨namespace名称空间访问Service服务
Kubernetes的两个Service(ServiceA.ServiceB)和对应的Pod(PodA.PodB)分别属于不同的namespace名称空间,现需要PodA和PodB跨namespace ...
- 利用 awk 统计nginx 中某一个用户的访问次数
线上总是会遇到攻击,所以就需要分析 access.log 看看那些用户的访问次数不正常,针对这些不正常的用户,要做处理,以 access.log为例说明下怎么统计. 通过 access.log 日志来 ...
- 创建一个欢迎 cookie 利用用户在提示框中输入的数据创建一个 JavaScript Cookie,当该用户再次访问该页面时,根据 cookie 中的信息发出欢迎信息。
创建一个欢迎 cookie 利用用户在提示框中输入的数据创建一个 JavaScript Cookie,当该用户再次访问该页面时,根据 cookie 中的信息发出欢迎信息. <html> & ...
随机推荐
- springboot配置logback.xml
由于springboot框架自带log4j,因此我们只需配置下logback文件,即可, 在main/resources根目录下,新建logback-spring.xml文件,copy下述代码: &l ...
- Trie树模板2
Trie数模板2 problem 这道题然后我们求最大异或对,我们很容易想出来 \(O(n^2)\) 的做法,两层循环遍历搞定 然后我们知道这样是肯定是肯定过不了的,我们考虑用字典树解决,然后我们来看 ...
- 第十五天python3 文件IO(一)
一.文件打开 open(path,flag[,encoding][,errors]) 参数说明: path:要打开文件的路径 flag:打开方式( r:以只读的方式打开文件,文件的描述符放在文件开头 ...
- 搞懂前端二进制系列(一):🍇 认识Blob对象
参考资料: https://juejin.cn/post/6844904183661854727 [你不知道的Blob] https://juejin.cn/post/6844904144453517 ...
- WPF 截图控件之文字(七)「仿微信」
前言 接着上周写的截图控件继续更新添加 文字. 1.WPF实现截屏「仿微信」 2.WPF 实现截屏控件之移动(二)「仿微信」 3.WPF 截图控件之伸缩(三) 「仿微信」 4.WPF 截图控件之绘制方 ...
- Vue路由器的hash和history两种工作模式 && Vue项目编译部署
1 # 一.Vue路由器的两种工作模式 2 # 1.对于一个uri来说,什么是hash值? 井号及其后面的内容就是hash值. 3 # 2.hash值不会包括含在HTTP请求中,即:hash值不会带给 ...
- 关于奉加微PHY62xx系列如何选型?PHY6222/PHY6212/PHY6252
PHY6252是一款支持BLE 5.2功能的系统级芯片(SOC),集成了低功耗的高性能多模射频收发机,搭载32位高性能低功耗处理器,提供64K retention SRAM.可选512/256K Fl ...
- 大数据工作流任务调度--有向无环图(DAG)之拓扑排序
点击上方蓝字关注DolphinScheduler(海豚调度) |作者:代立冬 |编辑:闫利帅 回顾基础知识: 图的遍历 图的遍历是指从图中的某一个顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点 ...
- 使用Fiddler劫持网络资源为前端开发助力(示例:Dynamic CRM 表单开发 也能热更新? )
背景: 使用过vue开发的童鞋应该都知道,在开发vue项目的过程中,有个叫"热更新"的功能特别爽,在传统html开发到初次接触vue时,才发现原来前端开发可以这么香.热更新的表现形 ...
- virtio_net设备的校验和问题
我们来看一个virtio_net设备的校验和配置: [root@10 ~]# ethtool -K eth0 tx-checksumming on //caq:大写的K用来调整feature [roo ...