openshift origin 用户权限创建

接上一篇的安装完成后需要创建用户,才能登陆平台。安装的时候我采用了在Ansible的hosts文件中定义了HTPasswd文件作为后端的用户身份信息库。安装程序自动生成了数据文件/etc/origin/master/htpasswd。但是此时该文件还是一个空文件,并没有任何用户信息。


1.  这里我通过htpasswd命令来创建用户

# htpasswd -b /etc/origin/master/htpasswd dev dev

这时/etc/origin/master/htpasswd就有内容了。

2. 给dev用户添加集群管理员权限,这样可以访问集群内所有项目

# oc login -u system:admin

# oc adm policy add-cluster-role-to-user cluster-admin dev

# oc login     命令行登陆

# oc logout    命令行退出

这样登陆平台可以显示所有的projects


3. 权限控制

   只读用户

# htpasswd -b /etc/origin/master/htpasswd  reader reader

# oc login -u system:admin

# oc adm policy add-cluster-role-to-user cluster-reader reader   (只能对群集内所有项目进行查看)

# oc adm policy add-role-to-user view reader   (只能对当前项目进行查看,别的项目无法显示)

# oc adm policy add-role-to-user view reader -n default  (只能对指定项目进行查看,别的项目无法显示,-n后面是项目名称)

上面是直接使用openshift origin存在的role,我们可以自定义创建role(这里参考官方文档例子)

# oc get clusterrole view -o yaml > clusterrole_view.yaml

#  cp clusterrole_view.yaml localrole_exampleview.yaml

#  vim localrole_exampleview.yaml

# 1. Update kind: ClusterRole to kind: ClusterRole

# 2. Update name: view to name: exampleview

# 3. Remove resourceVersion, selfLink, uid, and creationTimestamp


# oc create -f path/to/localrole_exampleview.yaml -n <project_you_want_to_add_the_local_role_exampleview_to>

Then, to use the current project, run:

oc project <project_you_want_to_add_the_local_role_exampleview_to>

Optionally, annotate it with a description.

To use the new role, run:

 oc adm policy add-role-to-user exampleview user2


猜你喜欢

转载自blog.csdn.net/j_ychen/article/details/79900588
今日推荐