Installation Manual - 87 Hub RBAC least-privilege inventory

Read-only RBAC inventory for hub-dc-v7 CIS manual RBAC checks.

This chapter records the hub-dc-v7 RBAC least-privilege inventory for the remaining CIS manual RBAC checks.

No live cluster state was changed.

Governance

FieldValue
IssueOP-GF-COMPLIANCE-16 / #408
MilestoneWorkspace Governance
Governing ADRADR 0016
PredecessorOP-GF-COMPLIANCE-15 / #407

Access Path

All live checks used the established path:

local workspace -> dl385-2 -> gf-ocp-bootstrap-01 -> hub-dc-v7 kubeconfig

No Secret values, kubeconfigs, tokens, pull secrets, PAT values, MinIO keys, or full Secret manifests were printed.

Current Compliance State

Read-only validation before and after inventory confirmed:

CheckResult
OpenShift4.20.18
ClusterVersionAvailable, not Progressing, not Failing
Nodes3/3 Ready
hub-dc-v7-bootstrapSynced/Healthy at 12c68aee6d6a77dfcc197926d4f36594ea224625
ClusterOperatorssteady
Non-running podsnone
ComplianceScan/ocp4-cisDONE / COMPLIANT
ComplianceScan/ocp4-cis-node-masterDONE / COMPLIANT
Compliance result countsPASS=162, MANUAL=21, FAIL=0

Inventory Scope

Objects inventoried:

Object typeCount
ClusterRoles909
Roles241
ClusterRoleBindings349
RoleBindings567

Risk selectors:

  • wildcard access: resource * plus verb *;
  • Secret access: resource secrets or * plus read/write/delete verbs;
  • pod mutation: resource pods or * plus create/update/patch/delete verbs.

Risk Counts

AreaCount
ClusterRoles with wildcard access22
ClusterRoles with Secret access116
ClusterRoles with pod mutation70
Roles with wildcard access5
Roles with Secret access44
Roles with pod mutation12

These counts are not remediation targets by themselves. OpenShift and platform operators need broad RBAC for controller behavior. The next gate classifies what should become an accepted exception and what might be safely reduced.

Initial Review Queue

IDAreaCandidateInitial handling
RBAC-001GitOpsArgo CD application-controller cluster-adminKeep current exception; design least-privilege separately.
RBAC-002Break-glassUser::ze cluster-admin and managedclusterset admin/viewKeep until identity and break-glass process are formalized.
RBAC-003RHACSRHACS operator and StackRox sensor/Central bindingsClassify as vendor/platform exceptions before reduction.
RBAC-004ACM/MCEMulticlusterHub, MCE, application-manager, policy, klusterlet, Hypershift addon rolesTreat as platform exception candidates.
RBAC-005GitOps service rolegitops-service-cluster Secret accessReview with Argo CD RBAC work.
RBAC-006Namespace defaultssystem:deployers in platform namespacesLow-priority cleanup preflight after checking ownership/recreation behavior.
RBAC-007Monitoring metrics RoleBindingsPrometheus bindings to ACM addon metrics roles with Secret accessValidate whether Secret access is required or inherited.

Local High-Privilege Bindings

The cluster has expected OpenShift system/operator cluster-admin bindings. The local/platform exceptions to track are:

BindingSubjectDisposition
argocd-hub-dc-v7-platform-cluster-adminServiceAccount:openshift-gitops:openshift-gitops-argocd-application-controllerCurrent GitOps bootstrap exception.
cluster-admin-0User:zeCurrent lab break-glass exception.

Result

The hub RBAC posture is now inventoried, but no RBAC reduction has been performed. Most broad access belongs to platform/operator control planes.

Do not remove RBAC from this inventory directly. The next gate should classify exceptions and design any reduction path with rollback validation.

Next Gate

Recommended next gate:

OP-GF-COMPLIANCE-17: hub RBAC exception register and reduction design

Last reviewed: 2026-05-19