k8s集群基于角色的权限访问——RBAC的使用

Kubernetes RBAC 鉴权:构建安全的集群访问控制体系 本文深入解析Kubernetes RBAC访问控制机制,介绍其核心原理和三大基本原则(最小权限、角色分离、动态调整)。详细阐述RBAC四大组件(Role、ClusterRole、RoleBinding、ClusterRoleBinding)的功能与关系,提供从需求分析到角色定义、绑定创建的完整配置流程。强调遵循最小权限原则、使用专用服务账号、权限复用和定期审计等最佳实践,帮助管理员构建安全高效的Kubernetes权限管理体系,实现精准的访问控制同时防范安全风险。 阅读详情

      RBAC(Role-Based Access Control,基于角色的访问控制)在Kubernetes v1.5中引入,是kubeadm安装方式下的默认选项。要使用RBAC授权模式,需要在API Server启动参数中加上--authorization-mode=RBAC。

RBAC授权规则是通过四种资源进行配置的,它们可以分成两个组:

     Role(角色)和ClusterRole(集群角色),它们指定了在资源上可以执行哪些操作。

     RoleBinding(角色绑定)和ClusterRoleBinding(集群角色绑定),它们将上述角色绑定到特定的用户、组或ServiceAccounts上。

     可以简单理解:角色定义了可以做什么操作,而绑定定义了谁可以做这些操作。

     Role和RoleBinding 是命名空间的资源,而ClusterRole和ClusterRoleBinding是集群级别的资源。

通过实战来了解以上四种资源

一、Role和RoleBinding

 

1.创建foo和bar命名空间

#创建foo命名空间
$ kubectl create ns foo

#在foo命名空间中创建一个pod
kubectl run test --image=luksa/kubectl-proxy -n foo

#创建bar命名空间
kubectl create ns bar
kubectl run test --image=luksa/kubectl-proxy -n bar

注:kubectl-proxy启动一个代理进行监听localhost:8001,用于获取API资源信息。

 

$  kubectl exec -it test -n foo -- sh

   进入pod中的容器

 

$ curl localhost:8001/api/v1/namespaces/foo/pods

       无法访问该命名空间下的Pods资源

 

Role的常用模板说明

 

定义 pod-reader.yaml

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
 namespace: foo
 name: pod-reader
rules:
- apiGroups: [""]
  verbs: ["get", "list"]
  resources: ["pods"]  


$ kubectl create -f pod-reader.yaml

创建role资源  pod-reader

 

创建一个RoleBinding资源来实现将角色绑定到主体

$ kubectl create rolebinding test --role=pod-reader --serviceaccount=foo:default -n foo

将pod-reader角色绑定到命名空间foo中的default ServiceAccount上。

通过命令行创建rolebinding资源的使用说明

 

资源绑定后我们再次进行访问

$ curl localhost:8001/api/v1/namespaces/foo/pods

绑定role之后我们发现可以访问foo命名空间下的pods资源列表

 

注:我们也可以通过yaml文件创建rolebinding资源

 

二、ClusterRole和ClusterRoleBinding

        ClusterRole是一种集群级资源,它允许访问没有命名空间的资源和非资源的URL,或者作为单个命名空间内部绑定的公共角色。

创建一个ClusterRole

该ClusterRole用于读取(get和list)pv资源

$ kubectl create clusterrole pv-reader --verb=get,list --resource=persistentvolumes

(kubectl exec -it test -n foo -- sh 在test容器中)
$ curl localhost:8001/api/v1/persistentvolumes

 

我们发现资源绑定之前,在foo命名空间的容器中因为权限问题无法正常访问pv资源

 

创建clusterrolebinding资源

$ kubectl create clusterrolebinding pv-test --clusterrole=pv-reader --serviceaccount=foo:default

绑定foo命名空间中的serviceaccount

我们再次访问pv资源

$ curl localhost:8001/api/v1/persistentvolumes

 

资源绑定之后就可以正常访问pv资源了。

 

注:一个RoleBinding也可以绑定ClusterRole,但是RoleBinding属于命名空间内资源,即使绑定了一个ClusterRoleBinding也无法访问集群级别的资源。

k8s最佳实践之gitlab是否需要配置rabc? 在 Kubernetes(K8s)中部署 GitLab 时,GitLab 自身已经内置了完整的用户认证与授权系统(即 RBAC-like 的角色权限模型),因此通常 不需要也不建议 使用 Kubernetes 原生的 RBAC(Role-Based Access Control)来管理 GitLab 应用内部的用户角色和权限。我们看到很多的做法是不配置,为什么是这样的?Kubernetes RBAC 是用来管理“谁可以操作集群”,而 GitLab 的权限系统是用来管理“谁可以操作代码和项目”。 阅读详情

相关推荐

2025海外代理IP深度横评:Bright Data、IPFoxy、SmartProxy等六大服务商实战对比

本文深度横评2025年六大海外代理IP服务商(Bright Data、IPFoxy、SmartProxy、IPIPGO、Kookeey及青果网络),基于实战测试数据,从IP池质量、速度稳定性、性价比等维度进行对比。针对跨境电商、数据爬虫、社交媒体管理等不同业务场景,提供精准的选购指南与避坑建议,帮助企业用户根据自身需求选择最合适的代理IP解决方案。

weixin_29196891的博客 435

kubernetes--RBAC权限管理

calico/coredns/dashboard >>都需要访问apiserver简称SA,是一种用于让程序访问K8sAPI的服务账号1.当创建namespace时,会自动创建一个名为default的SA,这个SA没有绑定任何权限2.当default SA创建时,会自动创建一个default-token-xxx的secret,并自动关联到SA。

m0_57911290的博客 9775

matlab电偶极子源码,电偶极子的MATLAB场模拟

电偶极子周围电场电势分布的MATLAB三维模拟Matlab可以用于模拟四维场的效果,本文以电偶极子的电场和电势场为例展示MATLAB在该方面领域的应用。摘要电偶极子由一个正电荷和一个负电荷组成,其电场和空间电势分布与单电荷相比具有一些重要的特性。本文将给出电场和电势场的近似表达式。这两个量的精确表达式是复杂的,不太常用,因此 MATLAB 被采用来操作精确值和绘制三维分布的远区域, 近区域和一侧区...

weixin_35135480的博客 3150

Kubernetes(k8s)权限管理RBAC详解

文章目录一、简介二、K8s三种认证方式三、用户分类四、K8s权限控制(以ServiceAccount展开讲解)1)介绍2)Role和ClusterRole3)RoleBinding和ClusterRoleBinding1、Role角色绑定ServiceAccount2、ClusterRole角色绑定ServiceAccount五、实战1)User1、创建K8S 用户2、对用户授权2)Group1、创建K8S 用户和用户组2、对组授权3)ServiceAccount4)为ServiceAccount生成Tok

匠人精神,持之以恒! 9097

【Kingbase人大金仓】授权文件更换

本文介绍了金仓数据库授权文件更换的步骤:1.通过ksql或客户端工具查询数据库版本;2.在官网下载对应版本的license.bat文件;3.替换前先备份原授权文件(使用tar命令压缩),再用新文件覆盖原文件。注意事项包括:版本号需严格对应,授权文件通常位于安装目录下,可使用find命令查找具体位置。操作需谨慎,建议先备份原文件以便恢复。

qq_34463511的博客 3469

Cesium中GLB模型加载

Cesium中GLB模型加载全解析:Primitive与Entities方法详解

m0_72030584的博客 3473

k8s基础11——安全控制之RBAC用户授权、RBAC用户组授权、SA程序授权

1、K8s安全框架和基本概念。 2、RBAC用户授权、用户组授权、sa程序授权。

百慕卿君博客 2458

COMSOL相场法模拟枝晶生长:溶质偏析模型搭建全流程

凝固过程中枝晶形貌与溶质偏析直接决定铸件微观组织与力学性能,是材料加工领域长期关注的核心问题。相场法凭借弥散界面描述天然处理拓扑演化,成为模拟枝晶生长的主流数值方法,而通用有限元平台COMSOL为自定义偏微分方程求解提供了高度灵活的实现路径。从热力学驱动、界面各向异性到溶质再分配,模型需准确耦合相场方程与浓度扩散方程,才能在二元合金凝固模拟中还原真实枝晶尖端速度、二次臂形貌及界面富集行为。围绕溶质偏析这一关键变量,建模过程涉及无量纲化参数标定、反溶质截留项配置、分离式求解器与网格各向异性控制等核心细节。该方

weixin_30402231的博客 308

k8s学习-基于角色的权限控制RBAC(概念,模版,创建,删除等)

Service Account:服务帐号,通过Kubernetes API 来管理的一些用户帐号,和 namespace 进行关联的,适用于集群内部运行的应用程序,需要通过 API 来完成权限认证,所以在集群内部进行权限操作,都需要使用到 ServiceAccount,这也是本文的重点。User Account:用户,这是有外部独立服务进行管理的,管理员进行私钥的分配,用户可以使用 KeyStone或者 Goolge 帐号,甚至一个用户名和密码的文件列表也可以。例如,查看pod的资源。

关注网络安全、云原生安全 2549

电驱系统功率级“多合一”解决方案

如何提升电驱动系统的产品性能、减小能耗和进一步轻量化,以加强整车市场竞争力,是摆在国内外新能源车企面前的共同课题。为此,具有多年动力总成电子系统开发经验的美国著名半导体及电子解决方案专家——德州仪器(Texas Instrument)提出了多种功率级别“多合一”整合方案和设计思路,助力新能源车企提升技术优势。

yessunday的专栏 1372

把 sy-* 带进 ABAP CDS:ABAP 7.50 里的环境信息新姿势($session 与 @Environment.systemField 实战)

摘要:ABAP 7.50在CDS视图中引入两种获取环境信息的方式:1)直接使用$session会话变量读取用户、客户端和系统语言;2)通过@Environment.systemField注解参数,由Open SQL自动注入系统字段。$session方式简单但依赖Open SQL访问路径,非ABAP环境下可能失效;注解参数方案更工程化,依赖关系明确且支持测试。建议ABAP体系内优先使用$session,对外接口采用参数化方案。两种方式各有适用场景,正确选择可避免潜在风险。(148字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 155

kubernetes集群中-RBAC用户角色资源权限详解

我们通过k8s各组件架构,知道各个组件之间是使用https进行数据加密及交互的,那么同理,我们作为“使用”k8s的各种资源的使用者,也是通过https进行数据加密的;k8s通过我们家目录下的证书来判断我们是谁?通过证书内容来认定我们的权限;用户证书的位置-rw------- 1 root root 5643 3月 29 16:04 /root/.kube/config1,User3,Group本质上讲,在k8s系统中,用户,就是一个文件,这个文件在当前登录用户的家目录下;

weixin_39941298的博客 1288

手把手教你学SOC芯片架构--NoC(片上网络,Network on Chip)全方位解析

​、​。

MHD0815的博客 871

终极指南:Headlamp RBAC权限控制 - 简单高效的Kubernetes集群访问管理

Headlamp是一个开源的Kubernetes仪表板,用于管理Kubernetes集群和应用程序。它具有易于使用、支持多种仪表板视图和插件等特点,是云原生应用程序开发和管理的理想工具。本文将详细介绍如何在Headlamp中使用RBAC(基于角色的访问控制)来管理Kubernetes集群的访问权限,帮助你实现安全、精细的权限管理。 ## 什么是RBAC?为什么它对Kubernetes集群至关重要

gitblog_00893的博客 1072

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Headlamp RBAC权限管理:5个步骤打造安全的Kubernetes访问控制体系

想象一下,你的Kubernetes集群就像一个现代化的办公大楼🏢,每个团队都有不同的权限需求——开发团队需要访问测试环境,运维团队需要管理整个基础设施,而财务团队可能只需要查看资源使用报告。如果没有合适的权限管理系统,这就好比给所有人一把万能钥匙🔑,安全风险不言而喻! Headlamp作为一款功能强大的Kubernetes Web UI,不仅提供了直观的集群管理界面,更重要的是它内置了完善的

gitblog_01091的博客 370

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

AWS EKS使用RBAC授权IAM实体访问集群

目录一、RBAC是什么?二、将IAM实体映射到K8S集群三、创建Role和RoleBinding四、测试五、总结参考 一、RBAC是什么? 基于角色(Role)的访问控制(RBAC)是一种基于组织中用户的角色来调节控制对 计算机或网络资源的访问的方法。 RBAC 鉴权机制使用 rbac.authorization.k8s.io API 组 来驱动鉴权决定,允许你通过 Kubernetes API 动态配置策略。 RBAC 的核心逻辑组件是: 实体 组、用户或服务帐户(代表想要执行某些操作(动作)并需要权限的

weixin_41335923的博客 964

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【kubernetes系列】Kubernetes之RBAC

k8s的权限控制在实际工作中不那么经常使用,但是却是很重要的,我们需要深入理解才能很好的解决某些问题。在我们现目前的了解中,常用的授权插件有以下几种: Node(节点认证) ABAC(基于属性的访问控制) RBAC(基于角色的访问控制) Webhook(基于http回调机制的访问控制)kubernetes 集群相关所有的交互都需要通过apiserver来完成,对于这样集中式管理的系统来说,权限管理尤其重要,Kubernetes的授权是基于插件形式的,在1.5版的时候引入了基于角色的访问控制(Role-Bas

margu_168的博客 1597

k8s安全框架

k8s安全框架 K8S安全控制框架主要由下面3个阶段进行控制,通过API Server配置来启用插件: 1. Authentication(鉴权) 2. Authorization(授权) 3. Admission Control(准入控制) 整个k8s的操作流程如下 K8s Apiserver提供三种客户端身份认证: • HTTPS 证书认证:基于CA证书签名的数字证书认证(kubeconfig) • HTTP Token认证:通过一个Token来识别用户(serviceaccou

huahua1999的博客 1155

Kubernetes RBAC权限控制:保障集群安全的终极指南

Kubernetes RBAC(基于角色的访问控制)是保障集群安全的核心机制,通过细粒度的权限管理,确保不同用户和服务只能访问其工作所需的资源。本文将详细介绍RBAC的实现原理、配置方法及最佳实践,帮助你构建安全可靠的Kubernetes集群访问控制体系。 ## 什么是Kubernetes RBAC? RBAC(Role-Based Access Control)是Kubernetes默认的授

gitblog_00530的博客 710

【Kubernetes专项】K8s 安全实战 RBAC 认证授权

本文摘要:Kubernetes安全机制主要包含认证、授权和准入控制三部分。认证方式包括客户端证书、Bearer Token和服务账号认证,确保合法用户访问API Server。授权采用RBAC机制,通过Role/RoleBinding(命名空间级别)和ClusterRole/ClusterRoleBinding(集群级别)实现权限管理,遵循最小权限原则。

Mine:19829102887@163.com 可以一起学习! 1965

K8s 存储安全:权限管理、加密及访问控制详解

在 Kubernetes(K8s)生态系统中,存储安全是保障数据完整性、保密性和可用性的核心要素。随着企业越来越多地将关键业务应用迁移至 K8s 集群,确保存储层面的安全至关重要。本文将深入探讨 K8s 存储安全中的权限管理、加密及访问控制等关键机制。

wdfdgygg77的博客 527

Kubernetes12:k8s集群安全机制 ***与证书生成***

安全机制与证书生成

tianyi520jx的博客 266

Kubernetes-基于RBAC的授权

转自:https://juejin.im/entry/5b23280ce51d4558cd2acdea 1、RBAC介绍 在Kubernetes中,授权有ABAC(基于属性的访问控制)、RBAC(基于角色的访问控制)、Webhook、Node、AlwaysDeny(一直拒绝)和AlwaysAllow(一直允许)这6种模式。从1.6版本起,Kubernetes默认启用RBAC访问控制策略。从1...

cbmljs的博客 332

KubePi权限控制深度解析:构建安全的K8s访问体系

KubePi 是一个现代化的 K8s 面板,允许管理员导入多个 Kubernetes 集群,并通过权限控制将不同 cluster、namespace 的权限分配给指定用户,帮助开发人员安全管理和排查 Kubernetes 集群中的应用程序。 ## 为什么K8s权限控制至关重要? 在 Kubernetes 集群管理中,权限控制是保障系统安全的核心环节。缺乏有效的权限管理可能导致敏感操作被误执行、

gitblog_00914的博客 995

K8s RBAC认证授权深度解析

随着Kubernetes在云原生领域的广泛应用,如何有效地管理和控制用户对集群资源的访问权限成为了一个重要的问题。基于角色的访问控制(RBAC)作为一种灵活的权限管理机制,在Kubernetes中发挥着至关重要的作用。本文深入探讨了Kubernetes RBAC认证授权的核心概念、实现方式以及实践应用,旨在帮助读者更好地理解和管理Kubernetes集群中的权限问题。

博客虽小,世界尽在其中 3055
上一篇: k8s资源限制——资源的配额管理(Resource Quotas)
下一篇: 云计算与云原生浅析
思维的深度
博客等级 码龄11年 2万+粉丝 391原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值