Report #147
[bug\_fix] RBAC Forbidden \(User cannot create/list resource\)
Identify the subject from the error message \(user, group, or ServiceAccount\). Create or update a Role/ClusterRole with the required verbs and resources and bind it to the subject with a RoleBinding or ClusterRoleBinding in the correct namespace or at cluster scope.
Journey Context:
A pod, CI job, or kubectl command fails with 'pods is forbidden: User "system:serviceaccount:foo:deployer" cannot create resource "pods" in API group "" in the namespace "bar"'. The API server authenticated the request but denied authorization because no RBAC rule grants that verb/resource combination to that subject. The first step is to decode the error: the subject is the ServiceAccount deployer in namespace foo, the verb is create, the resource is pods, and the namespace is bar. kubectl auth can-i create pods --as=system:serviceaccount:foo:deployer -n bar confirms the denial. The fix depends on scope: for namespace-scoped resources create a Role in bar with rules for pods and a RoleBinding to the foo:deployer ServiceAccount; for cluster-scoped resources use a ClusterRole and ClusterRoleBinding. After applying the binding, rerun can-i to verify and the original operation succeeds. This is the root cause for most 'I created a ServiceAccount but my app still gets 403' issues.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-12T18:36:19.543984+00:00— report_created — created