Role-based access control (RBAC) overview
All associated permissions (service accounts, roles, role bindings) we set up additionally to the CPD installation are shown below.
Important: We do not grant any Role/ClusterRole at cluster scope.
Service Accounts for IBM Financial Services Workbench
The following service accounts including the associated roles are created during the installation process:
Service Account Name | Namespace of Service Account | Associated Roles / granted in Namespace |
---|---|---|
k5-operator-sa | cpd project (e.g. zen) |
cpd-admin-role (Role) / cpd project (e.g. zen) cpd-viewer-role (Role) / cpd project (e.g. zen) edit (ClusterRole) / k5 projects (e.g. dev-stage) admin (ClusterRole) / k5 projects (e.g. dev-stage) |
k5-s3-storage | cpd project (e.g. zen) | - |
k5-admin-sa | k5 projects (e.g. dev-stage) |
k5-leases-role (Role) / k5 projects (e.g. dev-stage) k5-imagestreams-pipeline-manager-role (Role - optional) / k5 projects (e.g. dev-stage) admin (ClusterRole) / k5 projects (e.g. dev-stage) |
k5-editor-sa | k5 projects (e.g. dev-stage) |
edit (ClusterRole) / k5 projects (e.g. dev-stage) |
k5-viewer-sa | k5 projects (e.g. dev-stage) |
k5-viewer-secrets-role (Role) / k5 projects (e.g. dev-stage) view (ClusterRole) / k5 projects (e.g. dev-stage) |
The following existing service accounts are used. The shown roles are additionally associated to the existing service accounts during the installation process:
Service Account Name | Namespace of Service Account | Associated Roles / granted in Namespace |
---|---|---|
cpd-admin-sa | cpd project (e.g. zen) |
cpd-admin-additional-role (Role) / cpd project (e.g. zen) admin (ClusterRole) / k5 projects (e.g. dev-stage) |
cpd-editor-sa | cpd project (e.g. zen) |
edit (ClusterRole) / k5 projects (e.g. dev-stage) |
cpd-viewer-sa | cpd project (e.g. zen) |
view (ClusterRole) / cpd project (e.g. zen) view (ClusterRole) / k5 projects (e.g. dev-stage) |
pipeline | k5 projects (e.g. dev-stage) |
k5-imagestreams-pipeline-role (Role) / k5 projects (e.g. dev-stage) |
For every created "Build and Deploy" pipeline an own service account with the following configuration is created:
Service Account Name | Namespace of Service Account | Associated Roles / granted in Namespace |
---|---|---|
k5-pipeline-solution-acronym -suffix (e.g. k5-pipeline-solution1-mxqs03) |
k5 project (e.g. dev-stage) |
edit (ClusterRole) / k5 project (e.g. dev-stage) |
Roles/ClusterRoles for IBM Financial Services Workbench
The following permissions are added to the already existing OpenShift ClusterRoles using the OpenShift aggregate mechanism:
ClusterRole | ApiGroups | Resources | Verbs |
---|---|---|---|
admin | k5.project.operator | "*" |
create delete deletecollection get list patch update watch |
admin | env.rt.cp.knowis.de | envoys |
create delete deletecollection get list patch update watch |
admin | sol.rt.cp.knowis.de | solutions |
create delete deletecollection get list patch update watch |
admin | coordination.k8s.io | leases |
"*" |
edit | k5.project.operator | "*" |
create delete deletecollection get list patch update watch |
edit | env.rt.cp.knowis.de | envoys |
create delete deletecollection get list patch update watch |
edit | sol.rt.cp.knowis.de | solutions |
create delete deletecollection get list patch update watch |
view | k5.project.operator | "*" |
get list watch |
view | env.rt.cp.knowis.de | envoys |
get list watch |
view | sol.rt.cp.knowis.de | solutions |
get list watch |
The following roles are created during the installation process:
Role | Namespace of Role | ApiGroups | Resources | Verbs |
---|---|---|---|---|
cpd-admin-additional-role | cpd project (e.g. zen) |
"" route.openshift.io |
pods/portforward routes |
create delete exec get list patch update watch |
k5-leases-role | k5 project (e.g. dev-stage) |
coordination.k8s.io |
leases |
create get list patch update watch |
k5-viewer-secrets-role | k5 project (e.g. dev-stage) |
"" |
secrets |
get list watch |
k5-imagestreams-pipeline-manager-role | k5 project (e.g. dev-stage) |
"" image.openshift.io |
imagestreams |
get list watch |
k5-imagestreams-pipeline-manager-role | k5 project (e.g. dev-stage) |
"" image.openshift.io |
imagestreams/layers |
get |
k5-imagestreams-pipeline-role | k5 project (e.g. dev-stage) |
"" image.openshift.io |
imagestreams imagestreams/layers |
get |