OpenShift 4之访问权限分级授权

59 篇文章 2 订阅

目标

本文档将实现在多个用户之间对Project对象访问进行授权。这些场景包括:

  1. 用admin1创建project1项目,因此admin1具有project1项目的管理员权限。
  2. admin1可以将project1项目的管理员权限授权给admin2,此时admin2拥有admin1相同权限。
  3. admin2可以将project1项目的管理员权限从admin1收回。
  4. admin2可以将project1项目的编辑权限授权给admin3,并将project1项目的查看权限授权给admin4。
  5. admin3无法将project1的查看权限授权给admin5。
  6. admin4可以将project1的编辑权限授权给admin5。
    在这里插入图片描述

实现和验证

  1. 参照《OpenShift 4之增加用户》创建admin1-admin5用户。
  2. 用admin1登录,然后创建project1项目。
$ oc login -u admin1 -p admin1
$ oc new-project project1
  1. 用admin2登录,确认无法访问project1项目。
$ oc login -u admin2 -p admin2
$ oc project project1
  1. 用admin1登录,执行命令将project1项目的管理员权限授权给admin2,
$ oc login -u admin1 -p admin1
$ oc adm policy add-role-to-user admin admin2 -n project1
  1. 重新执行第3步,确认这次admin2可以访问project1项目。
  2. 用admin2执行命令将project1项目的管理员权限从admin1收回。
$ oc adm policy remove-role-from-user admin admin1 -n project1
  1. 用admin1登录,确认已经无法访问project1项目了。
$ oc login -u admin1 -p admin1
$ oc get project project1
  1. 用admin2登录,给admin3编辑project1项目的权限、给admin4查看project1项目的权限。
$ oc adm policy add-role-to-user edit admin3 -n project1
$ oc adm policy add-role-to-user view admin4 -n project1
  1. 用admin3登录,确认可以访问project1项目。
$ oc login -u admin3 -p admin3
$ oc get project project1
  1. 用admin3执行以下命令,确认admin3无法把查看project1的权限授权给admin5,这是因为admin3没有project1的管理权限。
$ oc adm policy add-role-to-user view admin5 -n project1
  1. 用admin4执行以下命令,确认admin4不可以把编辑project1权限授权给admin5,这是因为admin4没有project1的管理权限。
$ oc login -u admin4 -p admin4
$ oc adm policy add-role-to-user view admin5 -n project1
  1. 用admin2用户登录并执行查看project1项目有权限,都是哪些用户有这些权限。
$ oc login -u admin2 -p admin2

$ oc get rolebindings
NAME                    AGE
admin-0                 29m
edit                    13m
system:deployers        29m
system:image-builders   29m
system:image-pullers    29m
view                    12m

$ oc describe rolebindings admin-0
Name:         admin-0
Labels:       <none>
Annotations:  <none>
Role:
  Kind:  ClusterRole
  Name:  admin
Subjects:
  Kind  Name    Namespace
  ----  ----    ---------
  User  admin2  

$ oc describe rolebindings edit
Name:         edit
Labels:       <none>
Annotations:  <none>
Role:
  Kind:  ClusterRole
  Name:  edit
Subjects:
  Kind  Name    Namespace
  ----  ----    ---------
  User  admin3  

$ oc describe rolebindings view
Name:         view
Labels:       <none>
Annotations:  <none>
Role:
  Kind:  ClusterRole
  Name:  view
Subjects:
  Kind  Name    Namespace
  ----  ----    ---------
  User  admin4  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值