trainer: RBAC¶
ServiceAccount bindings, roles, and resource permissions.
RBAC Overview¶
This component defines a large RBAC surface (119 diagram lines). The graph below groups roles by permission scope.
graph LR
classDef wide fill:#e74c3c,stroke:#c0392b,color:#fff
classDef medium fill:#f39c12,stroke:#d68910,color:#fff
classDef narrow fill:#2ecc71,stroke:#27ae60,color:#fff
classDef subject fill:#3498db,stroke:#2980b9,color:#fff
subgraph med["Medium Scope (10-30)"]
kubeflow_trainer_controller_manager["kubeflow-trainer-controller-manager\n16 resources"]:::medium
end
subgraph nar["Narrow Scope (<10)"]
kubeflow_trainer_admin["kubeflow-trainer-admin"]:::narrow
kubeflow_trainer_cache_initializer["kubeflow-trainer-cache-initializer\n4 resources"]:::narrow
kubeflow_trainer_edit["kubeflow-trainer-edit\n7 resources"]:::narrow
kubeflow_trainer_view["kubeflow-trainer-view\n4 resources"]:::narrow
training_admin["training-admin\n6 resources"]:::narrow
training_edit["training-edit\n6 resources"]:::narrow
training_view["training-view\n6 resources"]:::narrow
end
subj_kubeflow_trainer_controller_manager["kubeflow-trainer-controller-manager\nServiceAccount"]:::subject
subj_kubeflow_trainer_controller_manager -->|binds| kubeflow_trainer_controller_manager
subj_notebook_controller_service_account["notebook-controller-service-account\nServiceAccount"]:::subject
subj_notebook_controller_service_account -->|binds| kubeflow_trainer_view
subj_controller_service_account["controller-service-account\nServiceAccount"]:::subject
subj_controller_service_account -->|binds| kubeflow_trainer_view
subj_kubeflow_trainer_cache_initializer["kubeflow-trainer-cache-initializer\nServiceAccount"]:::subject
subj_kubeflow_trainer_cache_initializer -->|binds| kubeflow_trainer_cache_initializer
Bindings¶
Subject-to-role mappings defining who has access to what.
| Binding | Type | Role | Subject |
|---|---|---|---|
| kubeflow-trainer-controller-manager | ClusterRoleBinding | kubeflow-trainer-controller-manager | ServiceAccount/kubeflow-trainer-controller-manager |
| kubeflow-trainer-view | ClusterRoleBinding | kubeflow-trainer-view | ServiceAccount/notebook-controller-service-account |
| kubeflow-trainer-view | ClusterRoleBinding | kubeflow-trainer-view | ServiceAccount/controller-service-account |
| kubeflow-trainer-cache-initializer | RoleBinding | kubeflow-trainer-cache-initializer | ServiceAccount/kubeflow-trainer-cache-initializer |
Role Details¶
Per-rule breakdown of API groups, resources, and verbs for each role.
| Role | Kind | API Groups | Resources | Verbs |
|---|---|---|---|---|
| kubeflow-trainer-cache-initializer | ClusterRole | leaderworkersets, services | create, get, list, watch | |
| kubeflow-trainer-cache-initializer | ClusterRole | serviceaccounts | create, delete, get, list, watch | |
| kubeflow-trainer-cache-initializer | ClusterRole | trainjobs | get, list, watch | |
| kubeflow-trainer-controller-manager | ClusterRole | configmaps, secrets | create, get, list, patch, update, watch | |
| kubeflow-trainer-controller-manager | ClusterRole | events | create, patch, update, watch | |
| kubeflow-trainer-controller-manager | ClusterRole | limitranges | get, list, watch | |
| kubeflow-trainer-controller-manager | ClusterRole | validatingwebhookconfigurations | get, list, update, watch | |
| kubeflow-trainer-controller-manager | ClusterRole | leases | create, get, list, update | |
| kubeflow-trainer-controller-manager | ClusterRole | jobsets | create, get, list, patch, update, watch | |
| kubeflow-trainer-controller-manager | ClusterRole | runtimeclasses | get, list, watch | |
| kubeflow-trainer-controller-manager | ClusterRole | podgroups | create, get, list, patch, update, watch | |
| kubeflow-trainer-controller-manager | ClusterRole | clustertrainingruntimes, trainingruntimes, trainjobs | get, list, patch, update, watch | |
| kubeflow-trainer-controller-manager | ClusterRole | clustertrainingruntimes/finalizers, trainingruntimes/finalizers, trainjobs/finalizers, trainjobs/status | get, patch, update | |
| kubeflow-trainer-edit | ClusterRole | clustertrainingruntimes, trainingruntimes | get, list, watch | |
| kubeflow-trainer-edit | ClusterRole | trainjobs | create, delete, get, list, patch, update, watch | |
| kubeflow-trainer-edit | ClusterRole | trainjobs/status | get | |
| kubeflow-trainer-edit | ClusterRole | pods | list | |
| kubeflow-trainer-edit | ClusterRole | pods/log | get | |
| kubeflow-trainer-edit | ClusterRole | events | get, list, watch | |
| kubeflow-trainer-view | ClusterRole | clustertrainingruntimes, trainingruntimes, trainjobs | get, list, watch | |
| kubeflow-trainer-view | ClusterRole | trainjobs/status | get | |
| training-admin | ClusterRole | trainjobs, trainingruntimes, clustertrainingruntimes | create, delete, get, list, patch, update, watch | |
| training-admin | ClusterRole | trainjobs/status, trainingruntimes/status, clustertrainingruntimes/status | get | |
| training-edit | ClusterRole | trainjobs | create, delete, get, list, patch, update, watch | |
| training-edit | ClusterRole | trainjobs/status | get | |
| training-edit | ClusterRole | trainingruntimes, clustertrainingruntimes | get, list, watch | |
| training-edit | ClusterRole | trainingruntimes/status, clustertrainingruntimes/status | get | |
| training-view | ClusterRole | trainjobs, trainingruntimes, clustertrainingruntimes | get, list, watch | |
| training-view | ClusterRole | trainjobs/status, trainingruntimes/status, clustertrainingruntimes/status | get |
Cluster Roles¶
| Name | Resources | Verbs | Source |
|---|---|---|---|
| kubeflow-trainer-cache-initializer | leaderworkersets, services | create, get, list, watch | manifests/overlays/data-cache/cluster_role.yaml |
| kubeflow-trainer-cache-initializer | serviceaccounts | create, delete, get, list, watch | manifests/overlays/data-cache/cluster_role.yaml |
| kubeflow-trainer-cache-initializer | trainjobs | get, list, watch | manifests/overlays/data-cache/cluster_role.yaml |
| kubeflow-trainer-controller-manager | configmaps, secrets | create, get, list, patch, update, watch | manifests/base/rbac/role.yaml |
| kubeflow-trainer-controller-manager | events | create, patch, update, watch | manifests/base/rbac/role.yaml |
| kubeflow-trainer-controller-manager | limitranges | get, list, watch | manifests/base/rbac/role.yaml |
| kubeflow-trainer-controller-manager | validatingwebhookconfigurations | get, list, update, watch | manifests/base/rbac/role.yaml |
| kubeflow-trainer-controller-manager | leases | create, get, list, update | manifests/base/rbac/role.yaml |
| kubeflow-trainer-controller-manager | jobsets | create, get, list, patch, update, watch | manifests/base/rbac/role.yaml |
| kubeflow-trainer-controller-manager | runtimeclasses | get, list, watch | manifests/base/rbac/role.yaml |
| kubeflow-trainer-controller-manager | podgroups | create, get, list, patch, update, watch | manifests/base/rbac/role.yaml |
| kubeflow-trainer-controller-manager | clustertrainingruntimes, trainingruntimes, trainjobs | get, list, patch, update, watch | manifests/base/rbac/role.yaml |
| kubeflow-trainer-controller-manager | clustertrainingruntimes/finalizers, trainingruntimes/finalizers, trainjobs/finalizers, trainjobs/status | get, patch, update | manifests/base/rbac/role.yaml |
| kubeflow-trainer-edit | clustertrainingruntimes, trainingruntimes | get, list, watch | manifests/overlays/kubeflow-platform/kubeflow-trainer-roles.yaml |
| kubeflow-trainer-edit | trainjobs | create, delete, get, list, patch, update, watch | manifests/overlays/kubeflow-platform/kubeflow-trainer-roles.yaml |
| kubeflow-trainer-edit | trainjobs/status | get | manifests/overlays/kubeflow-platform/kubeflow-trainer-roles.yaml |
| kubeflow-trainer-edit | pods | list | manifests/overlays/kubeflow-platform/kubeflow-trainer-roles.yaml |
| kubeflow-trainer-edit | pods/log | get | manifests/overlays/kubeflow-platform/kubeflow-trainer-roles.yaml |
| kubeflow-trainer-edit | events | get, list, watch | manifests/overlays/kubeflow-platform/kubeflow-trainer-roles.yaml |
| kubeflow-trainer-view | clustertrainingruntimes, trainingruntimes, trainjobs | get, list, watch | manifests/overlays/kubeflow-platform/kubeflow-trainer-roles.yaml |
| kubeflow-trainer-view | trainjobs/status | get | manifests/overlays/kubeflow-platform/kubeflow-trainer-roles.yaml |
| training-admin | trainjobs, trainingruntimes, clustertrainingruntimes | create, delete, get, list, patch, update, watch | manifests/rhoai/kubeflow-training-roles.yaml |
| training-admin | trainjobs/status, trainingruntimes/status, clustertrainingruntimes/status | get | manifests/rhoai/kubeflow-training-roles.yaml |
| training-edit | trainjobs | create, delete, get, list, patch, update, watch | manifests/rhoai/kubeflow-training-roles.yaml |
| training-edit | trainjobs/status | get | manifests/rhoai/kubeflow-training-roles.yaml |
| training-edit | trainingruntimes, clustertrainingruntimes | get, list, watch | manifests/rhoai/kubeflow-training-roles.yaml |
| training-edit | trainingruntimes/status, clustertrainingruntimes/status | get | manifests/rhoai/kubeflow-training-roles.yaml |
| training-view | trainjobs, trainingruntimes, clustertrainingruntimes | get, list, watch | manifests/rhoai/kubeflow-training-roles.yaml |
| training-view | trainjobs/status, trainingruntimes/status, clustertrainingruntimes/status | get | manifests/rhoai/kubeflow-training-roles.yaml |
Kubebuilder RBAC Markers¶
Kubebuilder +kubebuilder:rbac markers declare the RBAC requirements of controller reconcilers. These are the source of truth for generated ClusterRole manifests. 2 markers found.
| File | Line | Groups | Resources | Verbs |
|---|---|---|---|---|
pkg/util/cert/cert.go:51 |
51 | "" | secrets | get, list, watch, update |
pkg/util/cert/cert.go:52 |
52 | "admissionregistration.k8s.io" | validatingwebhookconfigurations | get, list, watch, update |