使用者管理
使用者管理
OKD 是採用角色 (role) 的方式管理使用者,其實很像是群組的方式,要先建立一個角色,然後把使用者與腳色做連結,
這個使用者就可以使用這個角色所擁有的權限,你可以把其他用者加入同一個角色,這樣他們都可以擁有相同的權限,
user, group, rules, roles, binding, local, cluster 的關係
openshift_master_identity_providers
安裝時使用 Ansible 來指定 identity-providers:
openshift_master_identity_providers=[{'name': 'htpasswd_auth','login': 'true', 'challenge': 'true','kind': 'HTPasswdPasswordIdentityProvider',}]
3 大重點
Rules
Can be get, list, create, update, delete, deletecollection or watch.
Roles
Rules 的集合, 並且賦予權限一個名子
Binding
Binding 就是有哪些授權綁到了哪些使用者身上。
2 大類別(RABC)
Local
針對專案所設定的權限管控
查看有哪些 local binding
$ oc get rolebanding
$ oc get rolebandings
詳細列出所有綁定
$ oc describe rolebinding
Cluster
針對整個 Cluster 所設定的權限管控
查看有哪些 cluster binding
$ oc get clusterrolebinding
$ oc descirbe clusterrolebinding
查看整個 Cluster 的 role 有哪些腳色綑綁,可以先用 get 看有哪些角色,然後再用 describe 指定腳色列出詳細資料
,直接使用 describe 的話會列出很多資料,是可以搭配 grep 來找關鍵字,但資訊還是太多。
$ oc get clusterrolebinding.rbac
$ oc describe clusterrolebinding.rbac admin
列出某一個專案的 rbac
$ oc describe rolebinding.rbac -n joe-project
查看單一 binding 的內容
$ oc describe clusterrolebinding admin
$ oc describe clusterrolebinding basic-user
$ oc describe clusterrolebinding.rbac
$ oc get clusterroles
預設內建的 叢集角色(Cluster Role):
Default Cluster Role | Description |
---|---|
admin | 專案管理人。此腳色可以查看所有資源,除了空間的配額之外都可以修改。 |
basic-user | 可以做基本的專案與使用者查詢。 |
cluster-admin | 整個叢集的最高權限,可以修改叢集內的所有專案設定,包含資源配額。 |
cluster-status | 只能查看叢集的基本狀態資訊。 |
edit | 可以修改專案內幾乎所有的東西,但是無法查看角色與綁定資訊,也就是無法看到其他使用者的權限,只能針對專案設定調整。 |
self-provisioner | 可以在自己的權限內建立專案的角色。 |
view | 不能做任何修改,但是可以查閱專案內的大部分資訊,無法查看角色與綁定資訊。 |
cluster-reader | 此角測可以讀取但是不能查看叢集的資料,類似 API 的作用。 |
使用者管理
列出使用者
若你要列出使用者帳號,輸入:
$ oc get users
列出 roles
$ oc get roles
新增使用者
$oc create user haway
將使用者 alice 付予 joe-project 專案內擁有 admin 腳色的權限
$ oc adm policy add-role-to-user admin alice -n joe-project
查看某個專案內的使用者與權限
$ oc describe rolebinding.rbac -n joe-project
自訂角色,再把使用者加入到該角色中:
$ oc create clusterrole <name> --verb=<verb> --resource=<resource>
$ oc create role podview --verb=get --resource=pod -n blue
$ oc adm policy add-role-to-user podview user2 --role-namespace=blue -n blue
文章資訊
slug:okd-manage-users
title:OpenShift (OKD) 使用者帳號管理
tags:manage,users,openshift,okd
categories:openshift
thumbnail:imagesopenshift-2.jpg