Kubernetes 访问控制全解析:认证、RBAC 与准入控制一次搞懂 实战指南
Kubernetes 访问控制全解析:认证、RBAC 与准入控制一次搞懂 实战指南Kubernetes 访问控制是保障集群安全的核心防线。无论是普通用户、ServiceAccount,还是 Pod 自身与 API Server 的交互,都会经过认证 → 授权 → 准入控制三层检查。本文将深入每一层的原理与配置,并通过大量实战示例,让你彻底掌握 Kubernetes 访问控制。1. 访问控制三层架构一个请求到达 API Server 后,会经历以下流程:客户端请求 → 认证(Authentication) → 授权(Authorization) → 准入控制(Admission Control) → etcd认证:确认“你是谁”(身份)。授权:确认“你能做什么”(权限)。准入控制:在对象持久化之前,对其进行校验或修改(策略增强)。注意:匿名请求和 ServiceAccount 也经过相同流程,只是身份来源不同。2. 认证(Authentication)K8s 没有内部用户存储,用户由外部系统管理(如证书、OIDC、Webhook)。API Server 支持多种认证方式,按顺序尝试,直到有一个成功。2.1 认证方式概览认证方式典型用途说明X509 客户端证书管理员、kubelet最常用,CN 为用户名,O 为组静态 Token 文件测试、遗留系统用 CSV 文件存储 token,不推荐生产引导令牌(Bootstrap Token)节点加入集群用于 kubeadm 自动颁发证书ServiceAccount 令牌Pod 内访问 APIJWT 令牌,自动挂载OIDC企业 SSO与 Dex、Keycloak 等集成Webhook Token自定义认证请求外部服务验证 token匿名请求允许未认证访问需显式启用并授权2.2 核心概念:用户与组普通用户:由外部管理,无法通过 K8s API 增删改。ServiceAccount:由 K8s 管理,存在 Namespace 中,用于 Pod 内进程。组:可以是证书中的 O 字段、OIDC 中的 group 声明或静态 token 中的组。2.3 实战:创建客户端证书用户目标:生成一个名为john的用户证书,并为其配置 kubeconfig,使其能够访问集群。# 1. 生成私钥 openssl genrsa -out john.key 2048 # 2. 生成证书签名请求(CN=用户名,O=组,O 可选) openssl req -new -key john.key -out john.csr -subj "/CN=john/O=dev-team" # 3. 使用集群 CA 签发证书 openssl x509 -req -in john.csr -CA /etc/kubernetes/pki/ca.crt -CAkey /etc/kubernetes/pki/ca.key -CAcreateserial -out john.crt -days 365 # 4. 设置 kubeconfig 条目 kubectl config set-credentials john --client-certificate=john.crt --client-key=john.key kubectl config set-context john@kubernetes --cluster=kubernetes --user=john生产环境应使用更安全的证书管理方案,如cfssl或cert-manager。3. 授权(Authorization)认证通过后,请求进入授权层。K8s 支持多种授权模块,RBAC是生产标准。3.1 RBAC 对象对象作用域用途RoleNamespace授予某命名空间内的资源权限ClusterRole集群授予集群级资源权限,或跨 Namespace 复用RoleBindingNamespace将 Role/ClusterRole 绑定到 Subjects,仅影响该命名空间ClusterRoleBinding集群将 ClusterRole 绑定到 Subjects,影响整个集群Subjects:可以是 User、Group、ServiceAccount。3.2 RBAC 核心规则:资源与动词apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: namespace: default na

相关新闻

MuJoCo无头渲染高效部署指南:从问题定位到性能调优

MuJoCo无头渲染高效部署指南:从问题定位到性能调优

MuJoCo无头渲染高效部署指南:从问题定位到性能调优 【免费下载链接】mujoco Multi-Joint dynamics with Contact. A general purpose physics simulator. 项目地址: https://gitcode.com/GitHub_Trending/mu/mujoco MuJoCo无头渲染是服务器环境下进行物理仿真…

2026/7/4 22:49:25 阅读更多 →
4个系统级防护方案:Windows防火墙强化与网络安全策略优化指南

4个系统级防护方案:Windows防火墙强化与网络安全策略优化指南

4个系统级防护方案:Windows防火墙强化与网络安全策略优化指南 【免费下载链接】fort Fort Firewall for Windows 项目地址: https://gitcode.com/GitHub_Trending/fo/fort 作为安全防护工程师,我深知传统Windows防火墙在面对高级威胁时的局限性。…

2026/5/17 4:16:54 阅读更多 →
3个让浏览器提速200%的核心技术揭秘

3个让浏览器提速200%的核心技术揭秘

3个让浏览器提速200%的核心技术揭秘 【免费下载链接】min A fast, minimal browser that protects your privacy 项目地址: https://gitcode.com/gh_mirrors/mi/min 痛点场景:当浏览器成为工作效率瓶颈 你是否经历过这样的场景:清晨打开电脑准备…

2026/5/17 4:16:54 阅读更多 →

最新新闻

SRWE窗口分辨率编辑器:终极游戏截图与多屏适配解决方案

SRWE窗口分辨率编辑器:终极游戏截图与多屏适配解决方案

SRWE窗口分辨率编辑器:终极游戏截图与多屏适配解决方案 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE SRWE(Simple Runtime Window Editor)是一款功能强大的开源窗口分辨率自…

2026/7/5 2:10:33 阅读更多 →
qt的元对象系统有哪些组成,为什么要有元对象系统

qt的元对象系统有哪些组成,为什么要有元对象系统

豆包生成

2026/7/5 2:08:32 阅读更多 →
【Java毕业设计】基于 JavaWeb 的公司人事档案运维管理系统的设计与实现 企业员工信息录入与人事台账管理系统(源码+文档+远程调试,全bao定制等)

【Java毕业设计】基于 JavaWeb 的公司人事档案运维管理系统的设计与实现 企业员工信息录入与人事台账管理系统(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/5 2:06:32 阅读更多 →
云原生 AI 模型灰度:别把新模型一次性推给所有流量

云原生 AI 模型灰度:别把新模型一次性推给所有流量

云原生 AI 模型灰度:别把新模型一次性推给所有流量 一、模型灰度比普通服务更需要谨慎 普通服务灰度主要关注错误率、延迟和资源。AI 模型灰度还要关注答案质量、引用准确性、成本变化和用户反馈。新模型接口兼容,不代表业务效果一定更好。 模型上线如…

2026/7/5 2:06:32 阅读更多 →
2026 优质 AI 写小说软件盘点,长篇连载 AI 创作工具完整推荐

2026 优质 AI 写小说软件盘点,长篇连载 AI 创作工具完整推荐

随着人工智能技术持续落地文创领域,AI 辅助写作逐步成为网文作者、传统文学创作者、编剧以及非虚构书籍撰稿人的日常创作方式。当下市场涌现出多款主打 AI 智能写作的工具产品,各类产品在功能侧重、技术架构、服务定价、适配创作题材上分化明显&#xff…

2026/7/5 2:04:31 阅读更多 →
Python async 超时树:每个 await 都要知道自己的时间预算

Python async 超时树:每个 await 都要知道自己的时间预算

Python async 超时树:每个 await 都要知道自己的时间预算 一、深度引言与场景痛点 异步 RAG 或 Agent 服务里,一个请求会经过鉴权、检索、重排、工具调用、模型生成、日志写入。很多代码只在最外层设置总超时,例如 30 秒。问题是,…

2026/7/5 2:02:31 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻