Impersonation (Identitätsübernahme) erlaubt es einem Aufrufer, eine Anfrage im Namen eines anderen Benutzers, einer Gruppe oder eines ServiceAccount an den kube-apiserver zu stellen. Der Aufrufer weist sich dabei selbst über einen Context aus der kubeconfig aus; entscheidend ist, welche Rechte die übernommene Identität hat.

Anwendung mit kubectl

kubectl get pods --as=jane.doe
kubectl get pods --as=system:serviceaccount:default:ci --as-group=system:authenticated

--as setzt den Benutzernamen oder den ServiceAccount, --as-group ergänzt Gruppen. So prüft ein Administrator bequem, ob eine RBAC-Rolle tatsächlich die gewünschten Rechte liefert.

Rechte

Die Berechtigung steckt im RBAC-Verb impersonate für users, groups oder serviceaccounts; für Zusatzfelder kommt userextras hinzu. Ohne passende Rolle antwortet der Server mit dem Status 403.

Risiko

Impersonation ist das Kubernetes-Pendant zu sudo: Wer sie darf, kann sich nahezu jedes Recht verschaffen und gilt deshalb als kritischer Kontrollpunkt. Die Nutzung wird im Audit-Log protokolliert; empfohlen ist die Vergabe an möglichst wenige, klar benannte Gruppen.