千家信息网

kubernetes中安全机制API Server认证之Service Account Token的示例分析

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍了kubernetes中安全机制API Server认证之Service Account Token的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有
千家信息网最后更新 2026年11月04日kubernetes中安全机制API Server认证之Service Account Token的示例分析

这篇文章主要介绍了kubernetes中安全机制API Server认证之Service Account Token的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一:前言
Kubernetes有User Account和Service Account两套独立的账号系统。
1.User Account是给人用的,Service Account 是给Pod 里的进程使用的,面向的对象不同。
2.User Account是全局性的,Service Account 是属于某个具体的Namespace
3.User Account是与后端的用户数据库同步的。

二:Kubernetes API Server简介

Kubernetes API Server通过一个名为kube-apiserver的进程提供服务,该进程运行在Master节点上。在默认情况下,kube-apiserver进程在本机的8080端口(--insecure-port)提供REST服务。我们可以同时启动HTTPS安全端口(--secure=6443)来启动安全机制,加强REST API访问的安全性。

通常我们使用kubectl来与Kubernetes API Server交互,它们之间的接口是REST调用。也可以使用curl命令行工具进行快速验证。




另外是通过编程的方式调用Kubernetes API Server 具体又细分为以下两种场景:

1. 运行在POD里的进程调用Server API. Pod中的进程如何指定API Server的访问地址呢?答案很简单,因为Kubernetes API Server本身也是一个Service,它的名字是"kubernetes",IP地址是ClusterIP地址池里面的第一个地址。服务端口是HTTPS端口443.



2. 开发基于Kubernetes的管理平台,比如调用Kubernetes API来完成Pod,Service,RC等资源对象的图形化创建和管理界面。可采用社区中相关的Client Library.

正常情况下,为了确保Kubernetes集群的安全,API Server都会对客户端进行身份认证,认证失败则无法调用API。此外,Pod中访问Kubernetes API Server服务的时候,是以Service方式访问服务名为kubernetes的这个服务,而kubernetes服务又只在HTTPS 443上提供服务,那么如何进行身份认证呢? 答案是 Service Account Token.


三: Service Account

公钥证书,用于Pod中的Process对API Server的服务端数字证书进行校验时使用的),namespace和token被放到了容器内,这样容器就可以通过https的请求访问apiserver了。

四:

API Server的service account验证过程

以kube-system namespace下的"default" service account为例,Pod的usrname全称为:system:serviceaccount:kube-system:default。有了username,那么credentials呢?就是上面提到的service-account-token中的token。API Server的验证环节支持多种身份校验方式:CA 证书认证、Token 认证、Base 认证。一旦API Server发现client发起的request使用的是service account token的方式,API Server就会自动采用signed bearer token方式进行身份校验。而request就会使用携带的service account token参与验证。该token是API Server在创建service account时用API server启动参数:-service-account-key-file的值签署(sign)生成的。如果-service-account-key-file未传入任何值,那么将默认使用-tls-private-key-file的值,即API Server的私钥。



五:

Secret

Kubernetes提供了Secret来处理敏感信息,目前Secret的类型有3种:

1.Opaque(default): 任意字符串
2.kubernetes.io/service-account-token: 作用于ServiceAccount,就是上面说的。
3.kubernetes.io/dockercfg: 作用于Docker registry,用户下载docker镜像认证使用。

每个Namespace下有一个名为default的默认的Service Account对象,这个Service Account里面有一个名为Tokens的可以当作Volume一样被Mount到Podcast里的Secret,当Pod 启动时,这个Secret会自动被Mount到Pod的指定目录下,用来协助完成Pod中的进程访问API Server时的身份鉴权过程。

感谢你能够认真阅读完这篇文章,希望小编分享的"kubernetes中安全机制API Server认证之Service Account Token的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

认证 服务 进程 安全 方式 身份 地址 端口 篇文章 验证 机制 对象 证书 示例 分析 作用 同时 容器 就是 情况 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司怎么样 天津市摩尔互联网科技 伟宏互联网科技 广州紫鲸互联网科技有限公司 中国互联网科技股 互联网科技财经 深圳互联网络科技有限公司 互联网科技视频素材 四个字互联网科技公司取名 互联网科技产品 茂名市互联网科技产业园 广州市恰铎互联网科技有限公司 本届互联网博览会上的黑科技 中国互联网公司排名锤子科技 朱啸虎曾投资哪些互联网科技企业 互联网科技如何创业 互联网相关科技技术 上海创道互联网络科技有限公司 数字互联网科技有限公司 绵阳真晨互联网科技有限公司 互联网 卓越科技 善班互联网科技有限公司 重庆互联网医院沙龙医盟信息科技 阿里互联网科技企业 互联网科技如何创业 互联网科技年终奖 杭州融税互联网科技有限公司 安徽九吞吴互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司 互联网科技创新方面的资料
0