在这里插入图片描述

Kubernetes集群的安全框架主要由以下认证、鉴权和准入控制三个阶段组成。这三个阶段的关系如下图所示。
在这里插入图片描述

视频讲解如下

【赵渝强老师】Kubernetes的安全框架

认证(Authentication)

当客户端与Kubernetes集群建立HTTP通信时,首先HTTP请求会进入到认证阶段。由于API Server是操作集群资源的唯一入口,因此可以在API Server上配置一个或者多个认证模块。在这种情况下,API Server将逐个验证每一个认证模块,直到其中一个认证成功。如果认证失败,API Server将返回401的HTTP状态码给客户端,表示Kubernetes拒绝了客户端的连接请求。一般情况下认证模块只会检查HTTP的头部信息,因为这里包含了用户名、密码、客户端证书、令牌等信息,而不会检查整个HTTP请求。

《Docker与Kubernetes容器实战派》

鉴权(Authorization)

当客户端请求完成了认证阶段后,就会进入鉴权阶段。这个阶段会检查请求者是否拥有相应的权限来执行操作。因此,在鉴权阶段需要提供请求者的用户名、请求的权限或者行为以及操作的资源对象。如果请求者无权完成请求的操作,那么Kubernetes将拒绝该请求。

下面是Kubernetes鉴权的一个例子。

{  "apiVersion": "abac.authorization.kubernetes.io/v1beta1","kind": "Policy","spec": {"user": "Jerry","namespace": "project-dev","resource": "pods","readonly": true}
}

通过这里的策略指定了Jerry能够在命名空间“project-dev”中读取Pod。隐藏Jerry执行下面的操作时,就可以正常被鉴权允许他读取 project-dev名称空间中的Pod对象。

{ "apiVersion": "authorization.k8s.io/v1beta1","kind": "SubjectAccessReview","spec": {"resourceAttributes": {"namespace": "project-dev","verb": "get","group": "dev.example.org","resource": "pods"}}
}

提示:如果Jerry在命名空间project-dev中执行写操作,如create和update,则会被鉴权拒绝。另外,Jerry只对命名空间project-dev有读取Pod的权限,对于其他命名空间没有任何权限。

准入控制(Admission Control)

当客户端请求通过了认证阶段和鉴权阶段后,API Server此时还不会立即处理客户端的请求。因为这时候客户端请求还要通过最后一个阶段,即准入控制阶段。该阶段的本质其实是拦截客户端请求的一种方式,这样就可以修改客户端请求中的参数以完成一些特殊的任务。另外,Kubernetes为准入控制阶段维护了一个插件列表,发送给API Server的所有客户端请求都需要通过该列表中的每一个准入控制器插件的检查。如果某个准入控制插件拒绝了客户端请求,那么该请求将立即被拒绝,而不会继续检查后续的插件。

提示:Kubernetes允许用户自己开发每一个阶段的插件,并集成到相应的阶段中来实现用户的访问控制。每个插件都是通过APIServer来启用。

《Docker与Kubernetes容器实战派》

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

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

相关文章

CDN与静态资源优化

CDN与静态资源优化 在现代Web系统和AI应用中,随着用户访问量的不断攀升,静态资源(如HTML、CSS、JavaScript、图片、音视频、模型文件等)带来的负载日益沉重。尤其在大模型推理、前端渲染、广告投放等场景中,静态资源的…

如何填写“appium inspector”内容?

1. 确认已经开启appium的服务,运行appium 参考内容:{"appium:platformName": "Android", # 系统名称"appium:platformVersion": "9", # 安卓版本,看设备"appium:deviceName": "3d…

mysql server层做了什么

服务器处理客户端请求 服务器程序在处理来自客户端的查询请求时,大致需要分为3部分:连接管理、解析与优化、存储引擎。 连接管理 每当有一个客户端进程连接到服务器进程时,服务器进程都会创建一个线程专门处理与这个客户端的交互&#xff…

APISIX 简介:云原生 API 网关的架构与实践

文章目录 引言:APISIX 概述基于Nginx构建的原因基于etcd构建的原因 架构图示架构分层解析管理层:人机交互与配置入口控制层:配置管理与集群协调数据面:请求处理与流量转发说明:关于OpenRestry 引言:APISIX …

【AI作画】第3章 LORA加载器

目录 LORA加载器 管道信息 ​编辑 ​编辑 ​编辑 lora模型的串接 作品集 LORA加载器 前面我们已经分析过节点目录了,现在我们来看一下LORA加载器。我们进行图片渲染,一般都需要LORA模型的。 首先,我们“鼠标右键——添加节点——…

Xilinx XC7A12T‑1CPG238I Artix‑7 FPGA

XC7A12T‑1CPG238I 以其独特的性能与封装组合,成为诸多工程师的首选方案。下面,我们从多个维度对这款芯片做深入剖析。 一、产品定位与封装特点 XC7A12T‑1CPG238I 属于赛灵思(Xilinx)28 nm Artix‑7 系列中的入门级型号&#x…

如何利用 Java 爬虫获得微店商品详情:实战指南

在电商领域,微店作为众多商家的线上销售渠道之一,其商品详情数据对于市场分析、竞品研究和商业决策具有重要价值。Java 爬虫技术可以帮助我们高效地获取这些数据。本文将详细介绍如何使用 Java 编写爬虫,获取微店商品详情。 一、准备工作 &…

【Bug】MAUI自定义弹窗在IOS有异常背景

文章目录 问题问题代码原因解决处理Bug的具体步骤 问题 自定义弹窗有异常背景 问题代码 <mct:Popup xmlns"http://schemas.microsoft.com/dotnet/2021/maui"xmlns:x"http://schemas.microsoft.com/winfx/2009/xaml"xmlns:converters"clr-names…

C语言酒店管理系统:完整源码与深度解析

酒店管理系统通过自动化流程提升酒店运营效率。本系统采用C语言开发&#xff0c;基于模块化设计思想&#xff0c;包含以下核心功能&#xff1a; ​房间管理​&#xff1a;初始化房间信息、查看房间状态​预订管理​&#xff1a;按时间段预订房间、查询预订记录​入住管理​&am…

基于Gold-YOLO的聚合-分发机制改进YOLOv8教程

1. 引言 本文将详细介绍如何将Gold-YOLO的核心创新——聚合-分发(Gather-and-Distribute, GD)机制集成到YOLOv8架构中。Gold-YOLO是一种创新的目标检测架构,通过独特的信息融合策略实现了低延迟和高准确性的理想平衡。 1.1 Gold-YOLO核心特性 Gold-YOLO的主要创新点包括…

blob 的使用 文件下载 图片预览 大文件分片上传

1. 文件下载 function downloadFile(content, filename, type) {const blob new Blob([content], { type });const url URL.createObjectURL(blob);const a document.createElement(a);a.href url;a.download filename;a.click();URL.revokeObjectURL(url); }// 使用示例…

FlinkCDC-Hudi数据实时入湖原理篇

1.Hudi应用场景 面对海量数据开发场景&#xff0c;一种支持存储多种原始数据格式、多种计算引擎、高效的元数据统一管理的存储方式能极大的提高开发效率。所以在选择技术选型的时候&#xff0c;这种存储方式有以下几个特点&#xff1a; 存储原始数据&#xff0c;这些原始数据来…

sqldeveloper 创建新用户并访问其他空间特定表和视图

创建用户 右键选择创建用户 1.给用户取一个名字 VIEW_TEST 2.设置密码 123456&#xff08;建议用其他&#xff09; 3.选择表空间和临时空间 选择角色 CONNECT 连接角色 选择系统权限 然后点击应用就可以了 然后在用户哪里就能看到这个用户了 登录用户 出现成功就说明可以…

家用电器3d扫描逆向建模中科米堆手持式蓝光三维扫描仪数字建模

从厨房里的冰箱、微波炉&#xff0c;到客厅中的电视、空调&#xff0c;再到卧室的加湿器、空气净化器等&#xff0c;家用电器极大地提升了我们的生活品质。 家电市场的竞争日益激烈&#xff0c;产品更新换代速度加快&#xff0c;如何快速、精准地获取现有家电产品的三维数据&a…

从“数据困境”到“数据生态”:DaaS重塑三甲医院医疗数据治理

从“数据困境”到“数据生态”&#xff1a;DaaS如何重塑三甲医院医疗数据治理 医疗数据治理的现状剖析 在智慧医疗蓬勃发展的当下&#xff0c;三甲医院凭借其丰富的临床资源&#xff0c;积累了海量、多维度的医疗数据。这些数据犹如一座蕴藏着巨大价值的富矿&#xff0c;涵盖了…

LVS +Keepalived 高可用群集

目录 前言一. Keepalived 双机热备基础知识1. Keepalived 概述及安装&#xff08;1&#xff09;Keepalived 的热备方式&#xff08;2&#xff09;Keepalived 的安装与服务控制 2. 使用Keepalived 实现双机热备&#xff08;1&#xff09;主服务器的配置&#xff08;2&#xff09…

【Go语言基础】对齐边界与内存填充

文章目录 一、内存对齐的核心概念二、Go语言的内存对齐规则三、内存对齐示例示例1&#xff1a;字段顺序影响对齐示例2&#xff1a;指针与切片的对齐 四、如何查看内存对齐&#xff1f;五、内存对齐的优化建议六、总结&#xff1a;内存对齐的核心要点 在计算机科学中&#xff0c…

网络核心 - CNI、Service 与 Ingress/Gateway API 解析

网络核心 - CNI、Service 与 Ingress/Gateway API 解析 Kubernetes 的强大之处在于它极大地简化了容器化应用的部署和管理,但其网络模型的灵活性和复杂性也常常让初学者感到困惑。作为 SRE,我们需要拨开迷雾,理解流量在 K8s 集群内部以及进出集群时,到底是如何流转的。 Po…

20.jsBridge多页面交互与原生事件监听冲突问题

一、问题描述 • 安卓原生页面调起 H5A 页面&#xff1b; • H5A 页面跳转到 H5B 页面&#xff1b; • 在 H5B 页面点击“附件上传”&#xff0c;通过 JS Bridge 调用安卓的附件上传功能&#xff0c;弹出附件弹窗&#xff1b; • 然后 返回 到 H5A 页面&#xff0c;附件上传弹窗…

产品经理的自我救赎

思考自己的商业模式 很多人可能会奇怪&#xff0c;作为一个产品经理&#xff0c;为什么要思考商业模式呢&#xff1f;这个问题有点绕&#xff0c;但看完这一小节肯定大家就明白了。 首先&#xff0c;我们做产品经理&#xff0c;一般来说是为了挣钱&#xff0c;从挣一个月的钱…