# deploy/multitenant/rbac.yaml # # RBAC required for the Fission multi-tenant NSWatcher. # # The fission-executor ServiceAccount must be allowed to list and watch Namespaces # at the cluster scope so that NSWatcher can detect newly-labeled Namespaces. # # This is a read-only ClusterRole — no write permissions are granted. # Apply once per cluster after installing Fission: # # kubectl apply -f deploy/multitenant/rbac.yaml # --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: fission-executor-ns-watcher labels: app.kubernetes.io/name: fission app.kubernetes.io/component: executor app.kubernetes.io/part-of: fission-multitenant rules: - apiGroups: [""] resources: ["namespaces"] verbs: ["list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: fission-executor-ns-watcher labels: app.kubernetes.io/name: fission app.kubernetes.io/component: executor app.kubernetes.io/part-of: fission-multitenant roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: fission-executor-ns-watcher subjects: - kind: ServiceAccount name: fission-executor namespace: fission --- # ClusterRole: allows fission-executor to create/update fission-fetcher SA, # Role and RoleBinding in any user namespace managed by NSWatcher. apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: fission-executor-sa-provisioner labels: app.kubernetes.io/name: fission app.kubernetes.io/component: executor app.kubernetes.io/part-of: fission-multitenant rules: - apiGroups: [""] resources: ["serviceaccounts"] verbs: ["get", "list", "watch", "create", "update", "patch"] - apiGroups: ["rbac.authorization.k8s.io"] resources: ["roles", "rolebindings"] verbs: ["get", "list", "watch", "create", "update", "patch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: fission-executor-sa-provisioner labels: app.kubernetes.io/name: fission app.kubernetes.io/component: executor app.kubernetes.io/part-of: fission-multitenant roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: fission-executor-sa-provisioner subjects: - kind: ServiceAccount name: fission-executor namespace: fission