RBAC的使用
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