RBAC介绍

一、前言

     Kubernetes 中的角色基于访问控制(Role-Based Access Control,RBAC)是一种权限管理机制,用于控制用户和应用程序对 Kubernetes 资源的访问。RBAC 通过定义一组角色(Roles)和角色绑定(RoleBindings)来实现对资源的精细访问控制

二、组件

角色(Role)和集群角色(ClusterRole)

Role:在命名空间范围内定义一组权限。每个 Role 包含可以对资源执行的操作列表

ClusterRole:在集群范围内定义一组权限,适用于所有命名空间或集群范围的资源

role示例

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:namespace: default      #指定命名空间name: pod-reader
rules:
- apiGroups: [""] # 空字符串表示核心 API 组resources: ["pods"]      #限定资源,这里限定podverbs: ["get", "list", "watch"]      #配置拥有的权限,这里只拥有只读权限

ClusterRole示例

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: cluster-admin
rules:
- apiGroups: ["*"]resources: ["*"]verbs: ["*"]

角色绑定(RoleBinding)和集群角色绑定(ClusterRoleBinding)

RoleBinding:将 Role 绑定到用户或组,使其在特定命名空间内具有该 Role 定义的权限

ClusterRoleBinding:将 ClusterRole 绑定到用户或组,使其在整个集群范围内具有该 ClusterRole 定义的权限

RoleBinding示例

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: read-podsnamespace: default
subjects:           #定义用户信息
- kind: Username: janeapiGroup: rbac.authorization.k8s.io
roleRef:kind: Rolename: pod-readerapiGroup: rbac.authorization.k8s.io

ClusterRoleBinding示例

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: admin-binding
subjects:
- kind: Username: adminapiGroup: rbac.authorization.k8s.io
roleRef:kind: ClusterRolename: cluster-adminapiGroup: rbac.authorization.k8s.io

三·、RBAC 工作原理

RBAC 通过 RoleClusterRole 定义权限,通过 RoleBindingClusterRoleBinding 将这些权限分配给用户、组或服务账户

1.当用户或服务账户尝试执行某个操作时,Kubernetes API 服务器会检查与该用户相关的 RoleBindings 和 ClusterRoleBindings,以确定是否允许执行该操作

2.RoleBindings 和 ClusterRoleBindings 指定了 Role 或 ClusterRole,并将其与一个或多个主体(subjects)关联

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python爬虫之数据解析操作

python爬虫之scrapy数据解析操作 scrapy数据解析操作:利用scrapy爬取段子标题和内容 终端输入: 1、scrapy startproject qiushiPro创建爬虫文件夹 2、cd qiushiPro进入qiushiPro文件夹 3、scrapy genspider qiushi www.xxx.com创建爬虫代码qiushi.py 4、…

2024/6/30 英语每日一段

Years of economic and political turbulence have brought stagnation.“In a world where there is more risk and uncertainty, people become reluctant to voluntarily move jobs and find better jobs,” says Manning. At the same time, businesses have cut back on i…

企业互联网建站源码系统 附带完整的安装代码包以及搭建部署教程

系统概述 企业互联网建站源码吸系统是一款集众多先进功能于一身的建站工具。它提供了丰富的模板和组件,允许企业根据自身需求和品牌形象进行个性化定制,快速搭建出具有独特风格的网站。 代码示例 系统特色功能一览 1.用户友好界面:系统采用…

Java GUI编程:跨平台应用的设计与开发

Java GUI编程:跨平台应用的设计与开发 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 引言 图形用户界面(GUI)是现代软件应…

大数据生态体系中各组件的区别面试题(更新)

一、MapReduce与Spark有什么区别? 1、处理方式: MapReduce基于磁盘处理数据,将中间结果保存到磁盘中,减少了内存占用,计算速度慢。 基于内存处理数据,将计算的中间结果保存到内存中,计算速度快。2、资源申请方式&…

你还搞不懂串口的格式转换问题吗?

相信大多数人在使用串口传输不同单片机之间的数据时都会运到数据格式怎么对应起来的问题,今天我们就来聊聊! 在开始之前我插一个内容,就是不同的单片机之间的电平可能不相同,是不能直接使用杜邦线连接通信的,需要进行电…

Lfu缓存在Rust中的实现及源码解析

一个 lfu(least frequently used/最不经常使用页置换算法 ) 缓存的实现,其核心思想是淘汰一段时间内被访问次数最少的数据项。与LRU(最近最少使用)算法不同,LFU更侧重于数据的访问频率而非访问的新鲜度。 LFU的原理与实现机制 普通…

带安全启动—Ubuntu系统—手动安装Nvidia驱动

教程1:在启用安全启动的 Fedora 中安装英伟达驱动 教程2:UEFI安全启动模式下安装Ubuntu的NVIDIA显卡驱动 1. 搜索合适的驱动 Nvidia驱动官网 选择这个 驱动(.run)链接 2. 安装必要的软件依赖 CUDA底层用C写的,因此导入编译器 sudo apt i…

大模型压缩:基于贝叶斯优化的自适应低秩分解

1.方法 1.1 基于特征的高维空间低秩分解 PCA已经是老朋友了,每次一说主成分都会出现PCA。这篇文章1利用预训练数据的子集作为校准数据集 D c a l { x i } i 1 n \mathcal{D}_{cal}\{x_{i}\}_{i1}^{n} Dcal​{xi​}i1n​,首先用校准数据集的样本协方差…

ts语法---数据类型,interface和type的用法

ts的数据类型 ts的数据类型自上而下的分级有 第一层 any-任意类型和unknow类型, 第二层 原型链的Object类型, 第三层 js类的类型 第四层 标准的typescript类型 第五层 对应的实例数据类型 第六层 never类型,never表示不合理&#xff0c…

SHELL脚本学习——自动备份

1、 tar 命令 tar {operation} [options…] [file]… :压缩文件 operation: -c 创建压缩包 -x 提取文件 -t 列出文件 -f 指定文件名 -z 通过gzip指令处理备份文件 tar命令详细介绍见:https://www.runoob.com/linux/linux-comm-tar.html) 例&…

整除分块的题目

链接 思路: 求1到n中的因数个数和等价于求,设x为因子,就是求x在1到n里出现了几次,求1到n里是x的倍数的数有几个,即n/x。需要用整除分块,n/i的值是分块分部的,右端点是n/(n/i)。 代…

Application Studio 学习笔记(3)

一、工具栏按钮 1、panel控件添加工具栏按钮 展开panel控件的Advanced属性并点击Action Data,进入Action Data编辑界面 新增Action Data数据,Sequence设定工具按钮的显示顺序 默认工具按钮会显示在弹出工具栏中 勾选Add to Primary ToolBar后&#xff…

deepin基于apt-mirror同步软件源及构建本地内网源

1.安装apt-mirror sudo apt install -y apt-mirror2.配置apt-mirror(/etc/apt/mirror.list) sudo cp /etc/apt/mirror.list /etc/apt/mirror.list.deepin.bak #备份配置文件 sudo gedit /etc/apt/mirror.list修改如下: deb [trustedyes] https://mirrors.bfsu.ed…

Django学习第一天

Django安装: pip install Django -i https://mirrors.aliyun.com/pypi/simple/ 在需要创建文件的文件目录下写这个命令 django-admin startproject mysite 注意:C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Scripts已加入环境变…

JAVA:Word2Vec的使用

1、简介 Word2Vec是 Google 在 2013 年年中开源的一款将词表征为实数值向量的高效工具, 其利用深度学习的思想,可以通过训练,把对文本内容的处理简化为 K 维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似度。 Wo…

【华为OD机试B卷】查找众数及中位数(C++/Java/Python)

题目 题目描述 众数是指一组数据中出现次数量多的那个数,众数可以是多个。中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以2,所得的结果就是中位数。查找整型数…

windows USB设备驱动开发-双角色驱动

在USB的通讯协议中,规定发起连接的一方为主机(Host),接受连接的一方为设备,这可以用U盘插入电脑举个例子,当U盘插入电脑后,电脑这边主动发起查询和枚举,U盘被动响应查询和数据存取。 USB 双角色驱动程序堆…

使用Qt designer辅助开发pyqt应用,如何将自定义组件添加到designer中

背景: 我想要实现列表项的拖拽功能,于是自定义类 MyListWidget 通过Qt designer生成的代码,使用的是原始类型 QListWidget 我需要手动修改 Ui_xxx.py文件: 1.导入MyListWidget 2.将QListWidget替换为MyListWidget #Ui_xxx.pyf…

Generating Diverse Structure for Image Inpainting With Hierarchical VQ-VAE

Jialun Peng1 Dong Liu1* Songcen Xu2 Houqiang Li1 1 University of Science and Technology of China 2 Noahs Ark Lab, Huawei Technologies Co., Ltd.pjlmail.ustc.edu.cn, {dongeliu, lihq}ustc.edu.cn, xusongcenhuawei.com 原文提供代码链接: GitHub - UST…