manifests/csc-clusterroles.yaml

110 lines
2.6 KiB
YAML
Raw Normal View History

2021-12-23 17:09:45 -05:00
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: csc-members-kubesystem
rules:
# This is necessary for "kubectl cluster-info" to work
- apiGroups: [""]
resources: ["services"]
verbs: ["list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: csc-members-kubesystem
namespace: kube-system
subjects:
- kind: Group
name: csc-members
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: ClusterRole
name: csc-members-kubesystem
apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: csc-members-unnamespaced
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list", "watch"]
- apiGroups: ["networking.k8s.io"]
resources: ["ingressclasses"]
verbs: ["get", "list", "watch"]
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["clusterroles"]
resourceNames:
- csc-members-kubesystem
- csc-members-unnamespaced
- csc-members-default
verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: csc-members-unnamespaced
subjects:
- kind: Group
name: csc-members
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: ClusterRole
name: csc-members-unnamespaced
apiGroup: rbac.authorization.k8s.io
---
# This ClusterRole must be referenced by a RoleBinding in each member's namespace.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: csc-members-default
# See https://kubernetes.io/docs/reference/kubectl/overview/#resource-types
rules:
- apiGroups: [""]
resources:
- configmaps
- endpoints
- events
- limitranges
- persistentvolumeclaims
- pods
- pods/attach
2022-01-03 10:37:04 -05:00
- pods/exec
2021-12-23 17:09:45 -05:00
- pods/log
2022-01-03 10:13:49 -05:00
- pods/portforward
2021-12-23 17:09:45 -05:00
- podtemplates
- replicationcontrollers
- secrets
- serviceaccounts
2021-12-23 17:09:45 -05:00
- services
verbs: ["*"]
- apiGroups: [""]
resources: ["resourcequotas"]
verbs: ["get", "list", "watch"]
- apiGroups: ["apps"]
resources:
- daemonsets
- deployments
- deployments/scale
2021-12-23 17:09:45 -05:00
- replicasets
- statefulsets
verbs: ["*"]
- apiGroups: ["autoscaling"]
resources:
- horizontalpodautoscalers
verbs: ["*"]
- apiGroups: ["batch"]
resources: ["cronjobs", "jobs"]
verbs: ["*"]
- apiGroups: ["extensions", "networking.k8s.io"]
resources: ["ingresses"]
# use Open Policy Agent to restrict which domains can be used
verbs: ["*"]
- apiGroups: ["networking.k8s.io"]
resources: ["networkpolicies"]
verbs: ["*"]
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]