1、簡述RBAC的作用及工作流程
Rbac基于角色訪問控制,用于管理用戶對集群資源的訪問權限,通過定義角色和綁定規則,將用戶與權限進行關聯,作用:權限精細化管理,操作便捷與統一管理,動態調整權限。
流程:
定義角色:根據需求創建rule和clusterrule對象,rule用于對名稱空間內資源授權,clusterrole對集訓范圍內資源跨名稱空間的范圍資源以及非資源類型授權。
創建綁定關系:使用rulebinding或clusterrulebinding將角色與用戶進行綁定。
權限認證:用戶向apiserver發送請求時,系統首先進行認證,確認用戶身份后根據請求查找對應rolebinding或clusterbinding,找到對應綁定關系則授權通過。
2、創建用戶user01,只能查看test名稱空間下的pod資源
cd /etc/kubernetes/pki/
(umask 077;openssl genrsa -out user01.key 2048)
openssl req -new -key user01.key -out user01.csr -subj “/CN=user01/O=test”
openssl x509 -req -in user01.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out user01.crt -days 365 kubectl config set-cluster kubernetes --embed-certs=true --certificate-authority=/etc/kubernetes/pki/ca.crt --server=https://192.168.121.50:6443
kubectl config set-credentials user01 --embed-certs=true --client-certificate=/etc/kubernetes/pki/user01.crt --client-key=/etc/kubernetes/pki/user01.key kubectl config set-context user01@kubernetes --cluster=kubernetes --user=user01
kubectl config use-context user01@kubernetes
kubectl config use-context kubernetes-admin@kubernetes