zoukankan      html  css  js  c++  java
  • RBAC 基于权限的访问控制 serviceaccount -- clusterRole clusterRoleBinding

    1.Role , RoleBinding 的作用对象都是namespace。

    2.通过RoleRef,可以看到,RoleBinding对象通过名字,直接引用前面定义的Role,实现subject(user)和Role的绑定


    role -- namespace -- RoleBinding -- mynamespace
                                          |
                                   roleRef -- subject -- user -- example-user
                                          |
                                   role(mynamespace) -- example-role

    3.Service Account 是面向 namespace 的;

    并且这个 Service Account 只能访问该 namespace 的资源。Service Account 和 pod、service、deployment 一样是 kubernetes 集群中的一种资源.

    4.创建一个可以访问所有 namespace 的ServiceAccount

    如果我们现在创建一个新的 ServiceAccount,需要他操作的权限作用于所有的 namespace,这个时候我们就需要使用到 ClusterRole 和 ClusterRoleBinding 这两种资源对象了

    4.1 创建serviceaccount 对象

    [root@node1 tmp]# cat xiaowei-sa2.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
    name: xiaowei-sa2
    namespace: kube-system

    4.2 然后创建一个 ClusterRoleBinding 对象

    [root@node1 tmp]# cat xiaowei-clusterolebinding.yaml
    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1beta1
    metadata:
    name: xiaowei-sa2-clusterrolebinding
    subjects:
    - kind: ServiceAccount
    name: xiaowei-sa2
    namespace: kube-system
    roleRef:
    kind: ClusterRole
    name: cluster-admin
    apiGroup: rbac.authorization.k8s.io

    5.从上面我们可以看到我们没有为这个资源对象声明 namespace,因为这是一个 ClusterRoleBinding 资源对象,是作用于整个集群的,我们也没有单独新建一个 ClusterRole 对象,而是使用的 cluster-admin 这个对象

    6.获取token

    $ kubectl get secret xiaowei-sa2-token-nxgqx -o jsonpath={.data.token} -n kube-system |base64 -d
    # 会生成一串很长的base64后的字符串
    参考: https://www.qikqiak.com/k8s-book/docs/30.RBAC.html
  • 相关阅读:
    通用权限管理设计 之 数据库结构设计
    jQuery LigerUI 插件介绍及使用之ligerDateEditor
    jQuery LigerUI 插件介绍及使用之ligerTree
    jQuery LigerUI V1.01(包括API和全部源码) 发布
    jQuery liger ui ligerGrid 打造通用的分页排序查询表格(提供下载)
    jQuery LigerUI V1.1.5 (包括API和全部源码) 发布
    jQuery LigerUI 使用教程表格篇(1)
    jQuery LigerUI V1.0(包括API和全部源码) 发布
    jQuery LigerUI V1.1.0 (包括API和全部源码) 发布
    nginx keepalived
  • 原文地址:https://www.cnblogs.com/hixiaowei/p/9949933.html
Copyright © 2011-2022 走看看