kubectl commands returns a Forbidden error indicating the user cannot list resources on the VKS Guest Clusters which are managed by TMC. Error from server (Forbidden): pods is forbidden: User "sso:[email protected]" cannot list resource "pods" in API group "" in the namespace "default"VMware Tanzu Mission Control Self-Managed
VMware vSphere Kubernetes Service
This issue occurs due to a string mismatch between the identity provided by the Identity Provider (IDP) and the identity defined in the TMC Access Policy.
Kubernetes Role-Based Access Control (RBAC) authorization requires an exact, case-sensitive string match to grant permissions. When users authenticate, the IDP via Pinniped passes a specific identity string to the Kubernetes API server, which often includes a predefined prefix such as sso: (e.g., sso:[email protected]).
If the TMC Access Policy is configured with just the email address (e.g., [email protected]) or uses different capitalization (e.g., [email protected]), Kubernetes will treat the authenticated user and the policy subject as two completely different entities, resulting in a Forbidden authorization denial.
To permanently resolve the authorization failure, the TMC Access Policies must be updated to match the exact identity string passed by the IDP.
kubectl command and trigger the Forbidden error. Copy the exact user string displayed in the error message (e.g., sso:[email protected]). This string reveals the exact prefix and capitalization required.sso: prefix must be manually typed, and case-sensitivity must be strictly observed.kubectl commands successfully.