k8s中的用户

作者: 印随2018 | 来源:发表于2019-08-28 21:31 被阅读0次

一、Kubernetes中的用户

K8S中有两种用户(User)

  • 服务账号(ServiceAccount)
  • 普通用户(User)

ServiceAccount是由K8S管理的,而User通常是在外部管理

二、普通用户

尽管K8S认知用户靠的只是用户的名字,但是只需要一个名字就能请求K8S的API显然是不合理的,所以依然需要验证此用户的身份

在K8S中,有以下几种验证方式:

  • X509客户端证书
    客户端证书验证通过为API Server指定--client-ca-file=xxx选项启用,API Server通过此ca文件来验证API请求携带的客户端证书的有效性,一旦验证成功,API Server就会将客户端证书Subject里的CN属性作为此次请求的用户名
  • 静态token文件
    通过指定--token-auth-file=SOMEFILE选项来启用bearer token验证方式,引用的文件是一个包含了 token,用户名,用户ID 的csv文件 请求时,带上Authorization: Bearer 31ada4fd-adec-460c-809a-9e56ceb75269头信息即可通过bearer token验证
  • 静态密码文件
    通过指定--basic-auth-file=SOMEFILE选项启用密码验证,类似的,引用的文件时一个包含 密码,用户名,用户ID 的csv文件 请求时需要将Authorization头设置为Basic BASE64ENCODED(USER:PASSWORD)

kubectl使用的就是X509客户端证书来标识用户的,我们来验证一下

# kubectl config view | grep "client-certificate"
    client-certificate: /root/.minikube/client.crt
# openssl x509 -in /root/.minikube/client.crt -text | grep "system:masters"
        Subject: O=system:masters, CN=minikube-user
# kubectl describe clusterrolebindings cluster-admin -n kube-system
Name:         cluster-admin
Labels:       kubernetes.io/bootstrapping=rbac-defaults
Annotations:  rbac.authorization.kubernetes.io/autoupdate: true
Role:
  Kind:  ClusterRole
  Name:  cluster-admin
Subjects:
  Kind   Name            Namespace
  ----   ----            ---------
  Group  system:masters

system:masters分组已经绑定到cluster-admin集群角色,所以拥有集群的管理员权限。

相关文章

  • k8s中的用户

    一、Kubernetes中的用户 K8S中有两种用户(User) 服务账号(ServiceAccount) 普通用...

  • 最好的K8S 安全机制介绍 1 ——认证部分

    K8S 的用户系统 K8S 有两种类型的用户 service account 一般用户(人) 一般用户 一般用户被...

  • 第二章:K8S的资源管理

    K8S的资源管理 k8s编排资源介绍 回顾:Master:- APIServer: 6443端口- 用户认证: 双...

  • 笔记-权限

    k8s鉴权: k8s不存储用户信息,主要有一下集中识别用户的方式 X509 Client Certs: 使用由 k...

  • K8S 核心组件 Controller manager

    controller 的职责 在K8S 拥有很多controller 他们的职责是保证集群中各种资源的状态和用户定...

  • k8s 组件与网络

    K8S架构 k8s给用户提供两种操作,kubectl与restful接口。这两个方式都使用api server与集...

  • Jupyterhub on K8s 定制notebook镜像

    Jupyterhub使用Spawner实现用户Notebook环境的定制化。在Jupyterhub on k8s里...

  • K8S 网络插件对比

    集群网络架构是 K8s 中比较复杂的,最让用户头痛的方面之一。K8s 拥有众多的 CNI 插件,该如何做好CNI的...

  • replication controller

    rc 副本控制器,在k8s中,确保k8s的高可用性,确保任何时间都有pod在k8s中运行。特性支持滚动升级和升级回...

  • 普通用户授权kubernetes集群方法

    ​---为不同用户创建不同权限的k8s账号,此处为一个只有namespace下pod及日志查看权限的用户配置方法。...

网友评论

    本文标题:k8s中的用户

    本文链接:https://www.haomeiwen.com/subject/xdfvectx.html