【云原生 • Kubernetes】kubernetes 核心技术 - 集群安全机制

举报
敬 之 发表于 2022/09/24 23:33:11 2022/09/24
【摘要】 本文导读 一、集群安全机制概述1.认证2. 鉴权(授权)3. 准入控制 二、RBAC 概述三、RBAC 角色绑定操作演示 一、集群安全机制概述 要知道,访问 Kuber...

在这里插入图片描述


一、集群安全机制概述

要知道,访问 Kubernetes 集群必需要进行三个步骤,即:

  • 认证
  • 鉴权(授权)
  • 准入控制

而这个访问过程均需经过 apiserver,apiserver 主要作用就是统一协调。除此之外在访问过程中还需要证书、token、用户名/密码等等“手续”。

1.认证

通常的客户端身份认证有这么几种方式:

  • HTTPS 证书认证:基于 CA 证书的认证。
  • HTTP Token 认证:通过 token 识别用户。
  • HTTP 基本认证:通过用户名+密码进行认证,安全性较低。

此外,在认证过程中还有一个概念为 传输安全,意思就是对外不暴露 8080 端口,只能在内部访问。对外则统一使用端口 6443。

2. 鉴权(授权)

目前鉴权是基于 RBAC 进行操作的。

RBAC:基于角色的访问控制。

3. 准入控制

这其实就是一个记录准入控制器的列表,如果该列表中包含你要请求的内容,则通过,反之则拒绝。

二、RBAC 概述

RBAC(基于角色的访问控制)。在 Kubernetes 集群的访问过程中,允许经过控制之后访问的某些资源,当为某一个角色设置访问内容后,将用户和角色进行绑定,那么角色可以访问的内容用户也可以访问

在这里插入图片描述
不仅仅是在 k8s中,其实在很多领域都在用 RBAC 机制。

三、RBAC 角色绑定操作演示

第一步:创建一个命名空间;

#创建命名空间
kubectl create ns xiaoma

  
 
  • 1
  • 2

第二步:在新建的命名空间下创建一个 Pod;

#新建Pod
kubectl run nginx --image=nginx -n xiaoma

  
 
  • 1
  • 2

第三步:创建角色,vim 一个 yaml 文件 rbac-xiaoma.yaml,并在其中设定角色的相关属性;

apiVersion: rbac.authorization.k8s.io/v1
kind: xiaoma
metadata:
  namespace: xiaoma
  name: pod-reader
rules: 
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "watch", "list"]

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

代码含义:创建角色 xiaoma,该角色对 pod 拥有 get、watch、list 权限。

第四步:执行文件,角色创建成功之后也可以查看角色

#执行文件,即创建角色
kubectl apply -f rbac-xiaoma.yaml
#查看角色
kubectl get xiaoma -n xiaoma 

  
 
  • 1
  • 2
  • 3
  • 4

第五步:创建角色绑定,vim 一个 yaml 文件 rbac-xiaomabinding.yaml

apiVersion: rbac.authorization.k8s.io/v1
kind: xiaomabinding
metadata:
  namespace: xiaomatest
  name: read-pods
subjects: 
- kind: user
  name: majinjian
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: xiaoma
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

代码含义:将用户 majinjian 与角色 xiaoma 进行绑定。

第六步:执行文件并查看角色绑定用户;

#执行绑定文件
kubectl apply -f rbac-xiaomabinding.yaml
#查看绑定情况
kubectl get xiaoma,xiaomabinding -n xiaomatest

  
 
  • 1
  • 2
  • 3
  • 4

文章来源: majinjian.blog.csdn.net,作者:Developer 小马,版权归原作者所有,如需转载,请联系作者。

原文链接:majinjian.blog.csdn.net/article/details/126612968

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。