Kubernetes API服务器的安全防护(3)

kube-state-metrics                                                    42h

system:aggregate-to-admin                                              42h

...

创建ClusterRole

kubectl create clusterrole flannel --verb=get,list -n kube-system

查看yaml文件

# kubectl get  clusterrole flannel -o yaml

apiVersion: rbac.authorization.k8s.io/v1

kind: ClusterRole

metadata:

  annotations:

    kubectl.kubernetes.io/last-applied-configuration: |

      {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRole","metadata":{"annotations":{},"name":"flannel"},"rules":[{"apiGroups":[""],"resources":["pods"],"verbs":["get"]},{"apiGroups":[""],"resources":["nodes"],"verbs":["list","watch"]},{"apiGroups":[""],"resources":["nodes/status"],"verbs":["patch"]}]}

  creationTimestamp: 2019-08-09T09:58:42Z

  name: flannel

  resourceVersion: "360"

  selfLink: /apis/rbac.authorization.k8s.io/v1/clusterroles/flannel

  uid: 45100f6f-ba8c-11e9-8f57-005056870608

rules:

- apiGroups:

  - ""

  resources:

  - pods

  verbs:

  - get

- apiGroups:

  - ""

  resources:

  - nodes

  verbs:

  - list

  - watch

- apiGroups:

  - ""

  resources:

  - nodes/status

  verbs:

  - patch

创建clusterRoleBinding

$ kubectl  create clusterrolebinding  cluster-tetst  --clusterrole=pv-reader  --serviceaccount=kuebsystem:yaohong

clusterrolebinding.rbac.authorization.k8s.io/cluster-tetst created

  

Kubernetes API服务器的安全防护

12.2.5了解默认的ClusterRole和ClusterRoleBinding

如下所示使用kubectl get clusterroles和kubectl get clusterrolesbinding可以获取k8s默认资源。

用edit ClusterRole允许对资源进行修改

用admin ClusterRole赋予一个命名空间全部的权限

$ kubectl get clusterroles

NAME                                                                  AGE

admin                                                                  44h

cluster-admin                                                          44h

edit                                                                  44h

flannel                                                                44h

kube-state-metrics                                                    44h

system:aggregate-to-admin                                              44h

system:aggregate-to-edit                                              44h

system:aggregate-to-view                                              44h

system:auth-delegator                                                  44h

system:aws-cloud-provider                                              44h

system:basic-user                                                      44h

system:certificates.k8s.io:certificatesigningrequests:nodeclient      44h

system:certificates.k8s.io:certificatesigningrequests:selfnodeclient  44h

system:controller:attachdetach-controller                              44h

system:controller:certificate-controller                              44h

system:controller:clusterrole-aggregation-controller                  44h

。。。

wps@wps:~$ kubectl get clusterrolebindings

NAME                                                  AGE

clust-tetst                                            17m

cluster-admin                                          44h

cluster-tetst                                          13m

flannel                                                44h

kube-state-metrics                                    44h

kubelet-bootstrap                                      44h

system:aws-cloud-provider                              44h

system:basic-user                                      44h

system:controller:attachdetach-controller              44h

system:controller:certificate-controller              44h

。。。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/5428012d2b131cdeb24482b9665cb664.html