Role-based access control (RBAC)

All associated permissions (service accounts, roles, role bindings) we set up additionally to the CPD installation are shown below.

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-external-secrets-sa cpd project (e.g. zen) k5-external-secrets-role (ClusterRole) / - (cluster scope)
k5-pipeline-manager-sa cpd project (e.g. zen)

k5-pipeline-manager-role (ClusterRole) / cpd project (e.g. zen)

k5-pipeline-role (ClusterRole) / 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)

For every created "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) cpd project (e.g. zen)

k5-pipeline-role (ClusterRole) / cpd project (e.g. zen)

k5-pipeline-role (ClusterRole) / k5 projects (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

k5clients

k5dashboards

k5pipelinemanagers

k5projects

k5realms

k5topics

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

create

delete

deletecollection

get

list

patch

update

watch

edit k5.project.operator

k5clients

k5dashboards

k5pipelinemanagers

k5projects

k5realms

k5topics

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

k5clients

k5dashboards

k5pipelinemanagers

k5projects

k5realms

k5topics

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

k5.project.operator

tekton.dev

triggers.tekton.dev

pods/portforward

routes

k5clients

k5realms

pipelines

tasks

triggerbindings

create

delete

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