k8s-认证授权 14

Kubernetes的认证授权分为认证(鉴定用户身份)、授权(操作权限许可鉴别)、准入控制(资源对象操作时实现更精细的许可检查)三个阶段。

Authentication(认证)

认证方式现共有8种,可以启用一种或多种认证方式,只要有一种认证方式通过,就不再 进行其它方式的认证。通常启用X509 Client Certs和Service Accout Tokens两种认证方式 。

Kubernetes集群有两类用户:由Kubernetes管理的Service Accounts (服务账户)和( Users Accounts) 普通账户。k8s中账号的概念不是我们理解的账号,它并不真的存在, 它只是形式上存在。

Authorization(授权)

必须经过认证阶段,才到授权请求,根据所有授权策略匹配请求资源属性,决定允许或拒

绝请求。授权方式现共有6种,AlwaysDeny、AlwaysAllow、ABAC、RBAC、Webhook、 Node。默认集群强制开启RBAC。

Admission Control(准入控制)

用于拦截请求的一种方式,运行在认证、授权之后,是权限认证链上的最后一环,对请求 API资源对象进行修改和校验。

UserAccount与serviceaccount:

(1)用户账户是针对人而言的。 服务账户是针对运行在 pod 中的进程而言的。

(2)用户账户是全局性的。 其名称在集群各 namespace 中都是全局唯一的,未来的用户资源不 会做 namespace 隔离, 服务账户是 namespace 隔离的。

(3)通常情况下,集群的用户账户可能会从企业数据库进行同步,其创建需要特殊权限,并且涉 及到复杂的业务流程。 服务账户创建的目的是为了更轻量,允许集群用户为了具体的任务创建服务账户 ( 即权限最小化原则 )。


认证

切换用户

由于默认用户没有任何权限,无法访问,需要进行授权

切回admin

RBAC(Role Based Access Control):基于角色访问控制授权。允许管理员通过Kubernetes API动态配置授权策略。RBAC就是用户通过角色与权限进行关联;RBAC只有授权,没有拒绝授权,所以只需要定义允许该用户做什么即可;

RBAC包括四种类型:Role、ClusterRole、RoleBinding、ClusterRoleBinding。

控制器的概念:

组的概念:

切回到admin

回收

相关推荐
为什么这亚子1 小时前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
ZHOU西口3 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
牛角上的男孩3 小时前
Istio Gateway发布服务
云原生·gateway·istio
JuiceFS5 小时前
好未来:多云环境下基于 JuiceFS 建设低运维模型仓库
运维·云原生
景天科技苑5 小时前
【云原生开发】K8S多集群资源管理平台架构设计
云原生·容器·kubernetes·k8s·云原生开发·k8s管理系统
wclass-zhengge6 小时前
K8S篇(基本介绍)
云原生·容器·kubernetes
颜淡慕潇6 小时前
【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】
后端·云原生·容器·kubernetes·问题解决
川石课堂软件测试8 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
昌sit!14 小时前
K8S node节点没有相应的pod镜像运行故障处理办法
云原生·容器·kubernetes
A ?Charis17 小时前
Gitlab-runner running on Kubernetes - hostAliases
容器·kubernetes·gitlab