带你读《云原生应用开发 Operator原理与实践》第二章 Operator 原理2.3 Kube-APIServer 介绍(四)-阿里云开发者社区

开发者社区> 人民邮电出版社> 正文

带你读《云原生应用开发 Operator原理与实践》第二章 Operator 原理2.3 Kube-APIServer 介绍(四)

简介: 带你读《云原生应用开发 Operator原理与实践》第二章 Operator 原理2.3 Kube-APIServer 介绍
+关注继续查看

2.3.3      鉴权

在 Kubernetes 中,请求在到达鉴权步骤之前要经过认证。鉴权功能模块决定是接受还是拒绝请求。一个请求必须满足一些策略要求才能进入下一步,默认情况下请求是被禁 止的。APIServer    支持多种授权机制,如果开启了多个功能,就按照顺序执行。如果执行过程中有任何一个鉴权模块拒绝或接受请求,那么会立即返回,并且不会与其他模块协商; 如果所有的模块都对请求没有意见,那么请求会被拒绝。如果请求被拒绝,会返回一个403的状态码。

Kubernetes 提供了以下几种常见的鉴权方式。

(1)      Node:一个专用的鉴权组件,为Kubelet 发出的请求提供鉴权操作。

(2)       ABAC基于属性的访问控制(ABAC,定义了一种访问控制范例,通过使用组合属性的策略,将访问权限授予用户。   这些策略可以使用任何类型的属性(用户属性、资源属性、对象、环境属性等)。

(3)      RBAC:基于角色的访问控制(RBAC),是一种基于企业内各个用户的角色来调整访问计算机或网络资源的方法。 在这种情况下,访问权限是指单个用户执行特定任务(如查看、创建或修改文件)的能力。

(4)      WebHook:WebHook是 HTTP回调模式,它会向远程服务器发送POST请求进行鉴权。

在 APIServer 的启动参数中,可以配置要使用的鉴权模块,可以选择一个或多个,运行时按照顺序检查,越靠前的模块优先级越高。

(1)--authorization-mode=ABAC:基于属性的访问控制(ABAC)模式允许使用本   地文件配置策略。

(2)--authorization-mode=RBAC:基于角色的访问控制(RBAC)模式允许使用KubernetesAPI创建和存储策略。

(3)--authorization-mode=WebHook:WebHook是一种 HTTP 回调模式,允许使用远程 REST端点管理鉴权。

(4)--authorization-mode=Node:节点鉴权是一种特殊用途的鉴权模式,专门对Kubelet发出的 API 请求执行鉴权。

(5)--authorization-mode=AlwaysDeny:此标识阻止所有请求,仅将此标识用于测试。

(6)--authorization-mode=AlwaysAllow:此标识允许所有请求,仅在不需要      API请求 的鉴权时才使用此标识。

1. RBAC鉴权

 

RBAC 鉴权器是一种根据企业内各个用户的角色来调整访问计算机或网络资源的方法。用户可以通过 APIServer使用rbac.authorization.k8s.ioAPI 组下的资源对象动态地配置规则。API对象:RBAC的 API声明了4种对象,可以使用 Kubectl像创建Pod 一样创建规则。

(1)      Role和 ClusterRole

RBAC中的 Role和 ClusterRole包含了一组权限规则, 规则内容定义了允许用户进行的操作权限,用户可以设置多条规则,规则定义的内容取并集。Role 在一个特定的Namespace 中设置规则,Role 属于某个特定的Namespace。相反,ClusterRole 不是一个Namespace范围的资源。为什么会有Role和 ClusterRole,是因为 Kubernetes的资源对象可能是 Namespace范围内的也可能是非Namespace范围内的。

代码清单2-69是 Role示例。


apiVersion:rbac.authorization.k8s.io/v1kind:Role

metadata:

name:ns-adminnamespace:myspace

rules:

-  apiGroups:

-[""]

resources:

-  pods


 

-  pods/log# 对⼦资源的引⽤

verbs:

-  

["get","watch","list"]

ClusterRole是集群范围的,它可以是集群范围的资源、非资源端点或是跨Namespace 访问的 Namespace 作用域的资源,代码清单 2-70是 Coredns的 ClusterRole 示例。

apiVersion:rbac.authorization.k8s.io/v1kind:ClusterRole

metadata:

name:system:corednsrules:

-  apiGroups:

-""

resources:

-  endpoints

-  services

-  pods

-  namespacesverbs:

-  list

-  watch

-  apiGroups:

-""

resources:

-  nodesverbs:

-  


get

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【译】Databricks使用Spark Streaming和Delta Lake对流式数据进行数据质量监控介绍
本文主要对Databricks如何使用Spark Streaming和Delta Lake对流式数据进行数据质量监控的方法和架构进行了介绍,本文探讨了一种数据管理架构,该架构可以在数据到达时,通过主动监控和分析来检测流式数据中损坏或不良的数据,并且不会造成瓶颈。
1094 0
VisualSvn Server介绍
1 、VisualSvn Server  VisualSvn Server是免费的,而VisualSvn是收费的。VisualSvn是Svn的客户端,和Visual Studio集成在一起,但是不免费,使用AnkhSvn(VS2008插件)来代替VisualSvn。
711 0
单片机复位电路原理介绍
复位电路的工作原理在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。
1586 0
【云开发小课】云原生体系下Serverless弹性探索与实践
篇内容分享了云开发小课的云原生体系下serverless弹性探索与实践。
110 0
472
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载