Context

绑定到 Pod 的 ServiceAccount 的 Role 授予过度宽松的权限,完成以下项目以减少权限集。

Task

一个名为 web-pod 的现有 Pod 已在 namespace db 中运行。

编辑绑定到 Pod 的 ServiceAccount service-account-web 的现有 Role,仅允许只对 service 类型的资源执行 get 操作。

在 namespace db 中创建一个名为 role-2,并仅允许只对 namespace 类型的资源执行 delete 操作的新 Role。

创建一个名为 role-2-binding 的新 RoleBinding,将新创建的 Role 绑定到 Pod 的ServiceAccount。

注意:请勿删除现有的 RoleBinding

参考资料

https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/rbac/

答题

考试时,注意切换集群

kubectl config use-context KSCH00201

查看 ServiceAccount service-account-web 对应的 rolebindings role-1-binding

查看 rolebindings role-1-binding 对应的 role 为 role-1

kubectl describe rolebinding -n db

编辑 role-1 权限:

kubectl edit role role-1 -n db

修改内容如下:

......

resourceVersion: "30876"

uid:21e1a241-a2f3-1241-d09l-2saf25kl2j45

rules:

- apiGroups: [""] # "" 标明 core API 组

resources: ["services"] # 对 service 资源 get 操作权限

verbs: ["get"]

检查

kubectl describe role role-1 -n db

在 db 命名空间,创建名为 role-2 的 role, 并且通过 rolebinding 绑定 service-account-web, 只允许对 namespace 做delete 操作。

kubectl create role role-2 --verb=delete --resource=namespace -n db

kubectl create rolebinding role-2-binding --role=role-2 --serviceaccount=db:service-account-web -n db

检查

kubectl describe rolebinding -n db

CKS 考试题整理 (07)-RBAC - RoleBinding的更多相关文章

  1. linux基础:第三关课前考试题整理

    1.如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r-- 为 644, 要求使用命令取得644 这样的数字. [root@server ~]# stat /etc/hosts ...

  2. 【web前端面试题整理07】我不理解表现与数据分离。。。

    拜师传说 今天老夫拜师了,老夫有幸认识一个JS高手,在此推荐其博客,悄悄告诉你,我拜他为师了,他承诺我只收我一个男弟子..... 师尊刚注册的账号,现在博客数量还不多,但是后面点会有干货哦,值得期待. ...

  3. node.js整理 07例子

    需求 一个简单的静态文件合并服务器,该服务器需要支持类似以下格式的JS或CSS文件合并请求. http://assets.example.com/foo/??bar.js,baz.js 在以上URL中 ...

  4. rbac权限控制组件实现控制的基本原理图

    今天先整理一个rbac的权限控制的原理图上来 代码 后面就不透漏了,但是实现的方法有很多种,我这个只是其中一种的一部分!

  5. Kubernetes 的层级命名空间介绍

    原文链接:https://fuckcloudnative.io/posts/introducing-hierarchical-namespaces/ 在单个 Kubernetes 集群上安全托管大量用 ...

  6. kubernetes存储类与PV与PVC关系及实践

    StorageClass & PV & PVC关系图 Volumes是最基础的存储抽象,其支持多种类型,包括本地存储.NFS.FC以及众多的云存储,我们也可以编写自己的存储插件来支持特 ...

  7. 第27 章 : Kubernetes 安全之访问控制

    Kubernetes 安全之访问控制 本文将主要分享以下三方面的内容: Kubernetes API 请求访问控制 Kubernetes 认证 Kubernetes RBAC Security Con ...

  8. Java知识系统回顾整理01基础05控制流程07结束外部循环

    一.break是结束当前循环 二.结束当前循环实例 break; 只能结束当前循环 public class HelloWorld { public static void main(String[] ...

  9. OCP考试题库更新,052最新考题及答案整理-第8题

    8.Which two are true about the Fast Recovery Area (FRA)? A) It should be larger than the database. B ...

  10. 【OCP-052】052最新考试题库分析整理-第7题

    7.Which is true about external tables? A) The ORACLE_DATAPUMP access driver can be used to write dat ...

随机推荐

  1. 有执行语句:console.log(fn2(2)[3]),补充函数,使执行结果为"hello"

    function fn2(a){ return [1,2,3,"hello"];}console.log(fn2(2)[3])//hello 这个2是混淆视线的,即使没有这个2.函 ...

  2. sort和sorted区别----引子:多维列表,如何实现第一个元素升序,第二个元素降序

    一.列表内建方法--sort() 作用:就地对列表排序(直接在原列表上做排序) 语法: list.sort(func=None, key=None, reverse=False) 当reverse=F ...

  3. PVE虚拟系统的安装

        上期有说到,会出一些具体的安装过程以及掉进去的坑.这集我就说一说PVE系统的安装. As mentioned in the previous issue, there will be some ...

  4. Linux文件系统故障,Input/output error

    事情是这样的,在启动某一个应用程序的时候,出现 Input/output error 的报错,磁盘以及目录无法使用的情况下,进行了重启,重启完成后是可以正常使用的,过一段时间后就会再次出现这个问题,一 ...

  5. CentOS安装时钟同步服务

    使用chrony用于时间同步 yum install chrony -y vim /etc/chrony.conf cat /etc/chrony.conf | grep -v "^#&qu ...

  6. [Linux]监控外部用户登录及外部主机连接情况

    1 外部用户/外部主机 /var/log 在CentOS系统上,用户登录历史存储在以下这些文件中: /var/log/wtmp 用于存储系统连接历史记录被last工具用来记录最后登录的用户的列表 /v ...

  7. XmlSerializer 反射类型xxx时出错,反射属性xxx时出错。

    在使用XmlSerializer将类序列化成XML时出错,看到InnerException的message可以知道是这个receiver里有错误,进入这个类查看一下代码发现有重名的类 NodeId类修 ...

  8. python从shp文件中读取经纬度数据

    python从shp文件中读取经纬度数据 没有接触过GIS的人来说shp文件很陌生而且很难打开查看,好在python可以从中提取出自己想要的数据 pyshp库的安装 python的pyshp库可以实现 ...

  9. Docker Compose 部署 Jenkins

    Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具 Jenkins应用广泛,大多数互联网公司都采用Jenkins配合GitLab.Docker.K8s作为实现D ...

  10. Sentinel实战

    一.Sentinel简介 Sentinel是阿里开源的面向服务流量治理的框架,官方原文是Sentinel 是面向分布式.多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由.流量控制.流 ...