AWS EKS: IAM Principal kein Zugriff auf den Cluster
So behebst du EKS Access-Fehler, indem du den IAM Principal korrekt in den Cluster-Zugriff einträgst und Policies setzt.
Wenn du mit Amazon EKS arbeitest, kannst du Access-Fehler bekommen, obwohl du den richtigen IAM User nutzt und den Cluster erstellt hast. Die Fehler tauchen in der CLI (kubectl), CloudWatch und der AWS Console auf. Typische Meldungen:
error: You must be logged in to the server (the server has asked for the client to provide credentials)Identity is not mappedYour current IAM principal doesn't have access to Kubernetes objects on this cluster...
Das weist meist darauf hin, dass ein Access Entry für deinen IAM Principal im EKS Cluster fehlt.
So behebst du es:
Schritt-für-Schritt: Zugriff für deinen IAM Principal
-
AWS Console öffnen
Gehe zu EKS > Clusters und wähle deinen Cluster. -
Access Tab öffnen
Klicke im Cluster auf den Tab Access. -
Access Entry erstellen
- Klicke Create access entry.
- Wähle deine IAM Principal ARN. Du findest sie mit:
Im Output findest du das Feld
Terminal window aws sts get-caller-identityArn.
-
Access Policy zuweisen
- Beim Anlegen wähle
AmazonEKSAdminPolicyals Access Policy.
- Beim Anlegen wähle
-
Cluster Admin Policy hinzufügen
- Nach dem Erstellen zurück zum Access Tab.
- Den eben erstellten Access Entry anklicken.
- Add access policy wählen und
AmazonEKSClusterAdminPolicyhinzufügen.
-
Mit kubectl prüfen
Danach sollten deinekubectlCommands funktionieren und du hast Zugriff auf den Cluster.
Zusammenfassung
EKS benötigt explizite IAM Access Entries für Principals. Auch wenn dein IAM User den Cluster erstellt hat, bekommt er nicht automatisch volle Rechte. Mit den richtigen Access Entries und Policies ist das behoben.
Sag Bescheid, wenn du ein Script oder Terraform Config zur Automatisierung willst.