K8S RBAC详解
admin
2023-02-21 08:40:05
0

一.RBAC介绍

  RBAC是kubernetes的一种认证访问授权机制,通过设置–authorization-mode=RBAC开启RBAC。RBAC的授权步骤分为两步:

1)定义角色:在定义角色时会指定此角色对于资源的访问控制的规则;

2)绑定角色:将主体与角色进行绑定,对用户进行访问授权。

如下是官网的图解:
K8S RBAC详解

二. role和clusterrole

role是权限的定义,在kubernetes中角色分为两种一种是role针对特定的命名空间,一种是clusterrole在整个集群范围内都生效。

例子如下:

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: default
  name: pod-reader
rules:
- apiGroups: [""] # "" indicates the core API group
  resources: ["pods"]
  verbs: ["get", "watch", "list"]

clusterrole 例子如下:

kind:ClusterRole
apiVersion:rbac.authorization.k8s.io/v1
metadata:
  name:secret-reader
rules:
- apiGroups:[""]
  resources:["secrets"] #明确资源类型
  verbs:["get","watch","list"]

三. serviceaccount
    Service account是为了方便Pod里面的进程调用Kubernetes API或其他外部服务而设计的,可以简单的理解为服务账户,一般RBAC的最普遍的使用都是使用serviceaccount,因为k8s默认的user资源是不在集群管理内的,而且使用方式过于繁琐。serviceaccount可以简单方便的实现认证和授权。
四. RoleBinding和clusterrolebinging
    定义好了角色也就是一个权限的集合,然后创建了一个serviceaccount也就是一个服务账号,然后将这两个东西绑定起来,就是授权的过程了。
例子如下:

kind:RoleBinding
apiVersion:rbac.authorization.k8s.io/v1
metadata:
  name:read-pods
  namespace:default
subjects: #主体
- kind:ServiceAccount
  name:jane
  apiGroup:rbac.authorization.k8s.io
roleRef: #引用的角色
  kind:Role
  name:pod-reader
  apiGroup:rbac.authorization.k8s.io

集群角色绑定同上

kind:ClusterRoleBinding
apiVersion:rbac.authorization.k8s.io/v1
metadata:
  name:read-secrets-global
subjects:
- kind:ServiceAccount
  name:manager
  apiGroup:rbac.authorization.k8s.io
roleRef:
  kind:ClusterRole
  name:secret-reader
  apiGroup:rbac.authorization.k8s.io

这样就完成了一个完整的授权!!!

相关内容

热门资讯

刚刚,Claude Opus ... 昨晚,科技圈刚上演了一场开源 AI 大团建。英伟达创始人黄仁勋在社交媒体发表公开信,拉上 Meta、...
瑞松科技获得发明专利授权:“一... 证券之星消息,根据天眼查APP数据显示瑞松科技(688090)新获得一项发明专利授权,专利名为“一种...
中信科智联申请数据关联方法专利... 国家知识产权局信息显示,中信科智联科技有限公司申请一项名为“一种数据关联方法及相关装置”的专利,公开...
福州AI产业发展跑出“加速度” 7月17日至20日,2026世界人工智能大会暨人工智能全球治理高级别会议在上海举行,吸引了全球目光。...
乌民众再度走上街头:不恢复他防... 虽然乌军总司令瑟尔斯基被解除了职位,但是被解职的费多罗夫并未恢复防长职务,乌克兰民众7月24日再度走...
姗姗来迟!万斯晒新生儿照片 美国副总统万斯夫妇日前迎来第4个孩子,他们7月24日终于晒出了新生儿的照片。据美国有线电视新闻网(C...
洗衣机正常洗,水出不出去什么原... 这种情况原因有很多种,1、电机故障造成洗衣机不能脱水,洗衣机电动机有嗡嗡声响而不转动,多数是电动机匝...
半自动洗衣机排不出水是什么原因 1、排水管扭曲,保持排水管的畅通才能让洗衣机正常排水。2、排水缓慢时,有可能是因排水口过高,排水阀拉...
西门子洗衣机经常故障 西门子是全球著名的家电品牌,其洗衣机在国内市场也拥有广泛的用户群体。然而,近年来,一些西门子洗衣机用...
西门子洗衣机平衡自检故障 西门子洗衣机平衡自检故障是一种非常常见的问题,它通常是由于洗衣机内部出现平衡不良的问题导致的。当洗衣...