环境与目标
假设OpenShift环境中有以下User、Group、Project对象。
用户
- 开发人员:developer1、developer2
- 测试人员:tester1、tester2
组
- 开发组:developer
- 测试组:tester
项目
- project-cicd
- project-uat
目标
开发人员对project-cicd项目有操作权限,对project-uat环境只有查看权限
测试人员对project-uat环境有操作权限,对project-cicd环境只有查看权限
实现
创建资源
- 用《OpenShift 4之增加用户》方法创建用户。
- 创建组
$ oc adm groups new developer
$ oc adm groups new tester
- 创建项目
$ oc new-project project-cicd
$ oc new-project project-uat
关联用户和组
$ oc adm groups add-users developer developer1 developer2
$ oc adm groups add-users tester tester1 tester2
设置组权限
$ oc adm policy add-role-to-group edit developer -n project-cicd
$ oc adm policy add-role-to-group view developer -n project-uat
$ oc adm policy add-role-to-group edit tester -n project-uat
$ oc adm policy add-role-to-group view tester -n project-cicd
验证
分别用开发人员和测试人员登录,然后在分别进入project-cicd和project-uat项目,确认是否可以执行以下命令浏览资源和创建资源。
- 验证是否可创建资源
$ oc new-app openshift/hello-openshift
$ oc expose svc hello-openshift
$ curl $(oc get route hello-openshift -o template --template '{{.spec.host}}')
- 验证是否可浏览资源
$ oc get all