使用者管理

使用者管理

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
最後修改日期: 2019-09-18

作者