kubernetes中如何实现RBAC 角色访问控制

发布时间:2021-12-24 16:07:09 作者:小新
来源:亿速云 阅读:113

小编给大家分享一下kubernetes中如何实现RBAC 角色访问控制,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

一:RBAC体系结构
kubernetes中如何实现RBAC 角色访问控制
二:RBAC角色绑定流程
kubernetes中如何实现RBAC 角色访问控制
三:说明
1.RBAC的优势
a.对集群中的资源和非资源权限均有完整覆盖
b.RBAC由API对象完成,可以用Kubectl或API进行操作
c.可以在允许时进行调整,无须重新启动API Server

2.Role
一个角色就是一组权限的集合,在一个命名空间中,可以使用Role定义一个角色,如果是集群级别的可以使用ClusterRole.

3.ClusterRole
除了和Role一样具有命名空间内资源的管理能力,还可以用于特殊元素的授权。如:
a.集群范围的资源,node等
b.非资源型的路径,如“/healthz”
c.涵盖全部命名空间的资源

4.RoleBinding和ClusterRoleBinding
两者用于把一个角色绑定到一个目标上,如User,Group或Service Account. RoleBinding可以引用Role和ClusterRole, ClusterRoleBinding仅可以引用ClusterRole.

5.对资源的引用方式
a.使用“/”来分隔资源和下级资源  如:resources: ["pods", "pods/log"]
b.通过名字进行引用   如:resourceNames: ["my-configmap"]

6.常用角色示
a.运行读取核心API组中的POD资源

点击(此处)折叠或打开

  1. rules:

  2. - apiGroups: [""]

  3.   resources: ["pods"]

  4.   verbs: ["get", "list", "watch"]

b.运行读写“extensions”和"apps"两个API组中的deployment资源

点击(此处)折叠或打开

  1. rules:

  2. - apiGroups: ["extensions", "apps"]

  3.   resources: ["deployments"]

  4.   verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]

7.常用角色绑定示例
a.绑定Kube-system命名空间中默认的service-account

点击(此处)折叠或打开

  1. subjects:

  2. - kind: ServiceAccount

  3.   name: default

  4.   namespace: kube-system

b.qa命名空间中的所有service account

点击(此处)折叠或打开

  1. subjects:

  2. - kind: Group

  3.   name: system:serviceaccounts:qa

  4.   apiGroup: rbac.authorization.k8s.io

c.所有认证用户

点击(此处)折叠或打开

  1. subjects:

  2. - kind: Group

  3.   name: system:authenticated

  4.   apiGroup: rbac.authorization.k8s.io

8.对Service Account的授权管理
kube-system之外的service account 是没有任何权限的,这就需要用户为service account赋予所需的权限。如:

点击(此处)折叠或打开

  1. kubectl create rolebinding default-view \

  2.   --clusterrole=view \

  3.   --serviceaccount=my-namespace:default \

  4.   --namespace=my-namespace

看完了这篇文章,相信你对“kubernetes中如何实现RBAC 角色访问控制”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. Kubernetes进阶之基于RBAC授权安全框架
  2. RBAC规范和对应实现方案推荐

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

rbac kubernetes

上一篇:在Mobaxterm中使用chmod 400不能去掉组的读属性怎么办

下一篇:linux中如何删除用户组

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》