千家信息网

怎么理解Kubernetes认证和授权

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"怎么理解Kubernetes认证和授权",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么理解Kubernetes认证和授权"吧!当
千家信息网最后更新 2026年11月01日怎么理解Kubernetes认证和授权

这篇文章主要讲解了"怎么理解Kubernetes认证和授权",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么理解Kubernetes认证和授权"吧!

当设置产品Kubernetes集群的时候,认证和授权是两个很重要的基本需求。在这篇文章中,让我们来浏览一些细节,这些细节可以帮助Kubernetes环境做好方案。

比如说,你现在已经引发了通过输入yaml文件到kubectl(kubectl create-f pod.yaml)创建POD的命令。这个命令被发送到有安全保障的api-server端口(http://),然后身份验证流就开始生效了。注意,如果你正在为api-server使用不安全的端口(http://),那么验证就无法应用。(http://)理想情况下生产环境设置中应该避免不安全端口(http://)。

以下是这篇文章中会提到的在Kubernetes中可使用的验证途径。

客户证书验证

为了使用这个方案,api-server需要用-client-ca-file=选项来开启。

CA_CERTIFICATE_FILE肯定包括一个或者多个认证中心,可以被用来验证呈现给api-server的客户端证书。客户端证书的/CN将作为用户名。

基于令牌的身份验证

为了使用这个方案,api-server需要用-token-auth-file=选项来开启。TOKEN_FILE是个csv文件,每个用户入口都有下列格式:token,user,userid,group。

Group的名字是随意的。

令牌文件的例子:

生成tokens的一个非常简单的方法就是运行以下命令:

基于令牌的身份验证面临的挑战就是,令牌是无期限的,而且对令牌清单做任何的修改都需要重新启动api-server。

基本认证

为了使用这个方案,api-server需要使用-basic-auth-file=选项来开启。HTTP_AUTH_FILE是个csv文件,每个用户入口都有下列格式:password,user name,userid。目前,对AUTH_FILE的任意修都需要重新启动api-server。

Open ID

Open ID支持也是可用的,但是还在试验阶段。

Keystone

Keystone支持也是可用的,但是还在试验阶段。如果你想要将keystone跟LDAP或者动态目录服务整合到一起,那么就要使用keystone认证方法。为了使用这个方案,api-server需要用-experimental-keystone-url=选项来开启服务。

验证成功之后,下一步就是找出对于验证用户来说,哪些操作是允许的。目前来讲,Kubernetes支持4种验证策略方案。api-server需要使用-authorization-mode=选项来开启。

始终否认

这个策略否认所有的请求。

始终允许

这个策略允许所有的请求。

基于属性的访问控制

ABAC允许灵活的用户特定授权策略。当使用-authorization-policy-file=选项开启api-sever的时候,ABAC的策略文件需要指定。目前,对策略文件有任何的修改都需要重启api-server。

ABAC策略文件样本如下所示:

在以上例子中,策略文件中的每一行都是JSON对象,且指定一个策略。这是从Kubernetes文档页面上对策略对象的简要描述。

版本控制特性--允许多版本和策略的转换格式。

api版本,字符串类型:有效值就是"abac.authorization.kubernetes.io/v1beta1"。

kind,字符串类型:有效值是"policy"。

规格属性--是一个用以下属性的映射:

面向对象匹配属性:

用户,字符串:用户字符串不是从-token-auth-file,就是从证书文件的普通名字(CN)而来。如果你指定用户,那么它就肯定跟经过身份验证的用户匹配。*跟所有请求都匹配。

group,字符串:如果你指定group,那么它肯定跟groups中经过身份验证的用户相匹配。*跟所有请求都匹配。

资源匹配属性

apiGroup,字符串类型:API group,比如拓展版本。*跟所有APIgroup相匹配。

命名空间,字符串类型:命名空间字符串。*跟所有的资源请求相匹配。

资源,字符串类型:资源,比如pods。*匹配所有的资源请求。

非资源匹配属性:

nonResourcePath,字符串类型:跟所有的非资源请求路径相匹配(比如/version,/apis)。*跟匹配所有非资源请求。/foo/*跟/foo/,以及它的子路径。

只读,布尔型:当为真,也就意味着策略只应用于获取,列出和监测操作。

Webhook

调出一个外部RESTful授权服务。

身份验证和授权机制的选择取决于你的要求。然而在我的经验看来,我发现基于证书的身份验证方法,基于身份验证方法的keystone(LDAP),基于身份验证策略的ABAC,这三种方法的灵活结合提供了所需的功能,来培养Kubernetes环境。

感谢各位的阅读,以上就是"怎么理解Kubernetes认证和授权"的内容了,经过本文的学习后,相信大家对怎么理解Kubernetes认证和授权这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

验证 策略 字符 字符串 用户 文件 身份 认证 资源 属性 方案 类型 令牌 就是 方法 证书 版本 安全 命令 客户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 广州大一互联网络科技有限公司 金融科技与互联网金融 互联网金融 金融科技 互联网科技logo 兼蜜互联网科技 佰商互联网科技有限公司 左右互联网络科技 天扬科技互联网广告 成都玖崟互联网科技有限公司乐商圈怎么样 世界互联网科技公司市值排名 互联网科技公司实习生 东莞新华互联网科技学校 佛山市拉法互联网科技有限公司 阿里互联网科技企业 黑科技 体验场景 互联网大会 广州千川互联网科技有限公司 互联网安防科技感 济南小医互联网科技有限公司招聘 河南商务圈互联网科技有限公司 新华互联网科技 互联网科技网 互联网核心科技是什么 科技类的互联网平台 深圳育鹏互联网科技有限公司招聘 特约风豹互联网科技为什么扣费 为客找房互联网科技公司怎么样 长沙易易互联网科技有限公司 如何强化互联网金融科技 广州全民伙伴互联网科技有限公司
0