K8S简历(十四)

上一节我讲了K8S安全策略中的身份认证,在完成身份认证后就需要给用户授权,授权插件有很多我在这里介绍的是K8S默认使用的RBAC(基于角色的访问控制)。

RBAC:

什么是基于角色的访问控制呢?
管理员可以预先创建好对应名称空间的Role等待用户身份验证完后附身到你创好的Role上(RoleBinding)使其拥有你创建好的Role的权限。


RBAC

这里先要引入4个对象:Role,ClusterRole,RoleBinding,ClusterRoleBinding。

Role:

Role属于某个名称空间的角色只能管理该名称控制中的资源。
例子:

kubectl create role tmp-role--verb=get,list --resource=pods
#创建以个Role名为tmp-user可以给本名称空间中的pod做get和list操作。

RoleBinding:

用户还需要用RoleBinding把用户和Role进行绑定才能拥有Role的权限。
例子:

kubectl create rolebinding tmp-binding --role=tmp-role --user=wl
#把wl用户和tmp-role角色进行绑定

ClusterRole:

ClusterRole属于集群级别的Role。
例子:

kubectl create clusterrole tmp-cluster --verb=list,get --resource=pods
#创建名为tmp-cluster的ClusterRole可以对集群中的Pods做get和list操作。
#注:RoleBinding也可以对ClusterRole进行绑定,此时ClusterRole只能对名称空间中的资源操作。

ClusterRoleBinding:

效果和RoleBinding差不多只是管理范围不限于名称空间而是整个集群。

kubectl create clusterrolebinding tmp-cluster-bindinf --clusterrole=tmp-cluster --user=wl
#把wl用户绑定到tmp-cluster集群Role。

注:如果你想查看他们的yaml写法可以在kubectl写法的最后追加“--dry-run -o yaml”

你可能感兴趣的:(K8S简历(十四))