AWS EKS Kubernetes-Erkennung mit IAM-Benutzer oder -Rolle
Cloud-native Infrastruktur ist nicht nur ein Trend, sondern die Grundlage moderner IT-Umgebungen. Im Zuge der Weiterentwicklung von JDisc freuen wir uns, Ihnen die vollständige Unterstützung für EKS Kubernetes Discovery vorstellen zu können. Damit können Sie Kubernetes-Ressourcen auf Amazon EKS entweder mit einem IAM-Benutzer oder einer IAM-Rolle scannen und abrufen.
Unabhängig davon, ob Sie temporäre Anmeldedaten, Instanzrollen oder IRSA innerhalb von EKS verwenden, hilft Ihnen unser Leitfaden dabei, einen sicheren und konformen Zugriff für das Scannen von Kubernetes-Knoten, Pods und Diensten über JDisc zu konfigurieren.
🔍 Vollständige Anleitung zur EKS-Kubernetes-Erkennung über IAM-Benutzer oder -Rolle
Dieser Leitfaden führt Sie durch die Verbindung mit einem EKS-Cluster, das Abrufen von Kubernetes-Ressourcen und die Ausführung der programmgesteuerten Erkennung mithilfe einer gültigen kubeconfig-Konfigurationsdatei – unabhängig davon, ob Sie einen IAM-Benutzer oder eine IAM-Rolle verwenden.

📌 Voraussetzungen für EKS Kubernetes Discovery
Bevor Sie beginnen, stellen Sie sicher, dass Folgendes eingerichtet ist:
-
✅ AWS CLI installiert
-
✅
kubectlinstalliert -
✅ EKS-Cluster erstellt (z. B. eks-test1)
-
✅ Entweder:
-
IAM-Benutzer mit Anmeldeinformationen
-
ODER IAM-Rolle mit sts:AssumeRole-Berechtigungen
-
-
✅
AmazonEKSClusterAdminPolicyan den Prinzipal angehängt-
✅ Der IAM-Principal verfügt über die folgenden Berechtigungen:
-
👤Teil A: EKS Kubernetes Discovery mit IAM-Benutzerzugriff
🔐 Schritt 1: AWS CLI konfigurieren
Angeben:
-
Zugriffsschlüssel-ID
-
Geheimer Zugriffsschlüssel
-
Region (z. B. eu-central-1)
- Ausgabeformat: json
Identität überprüfen:
🛠️ Schritt 2: IAM-Benutzerzugriff in EKS gewähren
-
Gehen Sie zu EKS > eks-test1 > Zugriff > Zugriff verwalten.
-
Klicken Sie auf „Zugriffseintrag erstellen“.
-
Geben Sie Folgendes ein:
-
IAM principal ARN:
arn:aws:iam::Account_ID:user/jdisc-test-user -
Type: Standard
-
Benutzername:
jdisc-test-user
-
-
Anhängen: ✅
AmazonEKSClusterAdminPolicy -
Gruppen leer lassen
-
Auf „Überprüfen und erstellen“ klicken
✅ Dies ersetzt die alte aws-auth ConfigMap-Methode.
🔄 Schritt 3: kubeconfig aktualisieren
🔄Schritt 4: Legen Sie das geheime Token und den geheimen Schlüssel in den Umgebungsvariablen fest.
✅ Schritt 5: Testen mit kubectl
Wenn Sie eine Fehlermeldung wegen fehlender Berechtigung erhalten, überprüfen Sie Folgendes:
-
Der IAM-Benutzer ist in den Zugriffseinträgen aufgeführt.
-
Sie verwenden das richtige AWS-Profil.
-
Die kubeconfig-Datei wurde ordnungsgemäß aktualisiert.
🔁 Teil B: EKS Kubernetes Discovery über IAM-Rolle
Diese Methode ist ideal, wenn:
-
Sie IRSA, EC2-Instanzrollen oder temporäre Anmeldeinformationen verwenden.
-
Sie sts:AssumeRole gegenüber der direkten Speicherung von Anmeldeinformationen bevorzugen.
Wichtiger Hinweis: Die Cluster-IAM-Rolle muss in den Vertrauensbeziehungen enthalten sein: „Action”: [„sts:AssumeRole”, „sts:TagSession”]
🔐 Schritt 1: IAM-Rolle erstellen
-
Gehen Sie zu IAM > Rollen > Rolle erstellen.
-
Wählen Sie „Vertrauenswürdige Entität“ = „Anderes AWS-Konto“.
-
Geben Sie Ihre AWS-Konto-ID ein.
-
Anhängen:
AmazonEKSClusterAdminPolicy -
Benennen Sie sie z. B. „AssumeRoleDiscoveryTest“.AssumeRoleDiscoveryTest
🛠️ Schritt 2: Richtlinie für Vertrauensbeziehungen
Verwenden Sie diese Vertrauensrichtlinie:

🔧 Schritt 3: Rollen-Zugriff in EKS gewähren
Befolgen Sie die gleichen Schritte wie in Teil A → Schritt 2, verwenden Sie jedoch Folgendes:
-
IAM Principal ARN:
arn:aws:iam::Account_ID:role/AssumeRoleDiscoveryTest -
Benutzername:
testassumer -
Zugriffsrichtlinie:
AmazonEKSClusterAdminPolicy
🔄 Schritt 4: Aktualisieren Sie kubeconfig für die Rolle.
🔄Schritt 5: Legen Sie das geheime Token und den geheimen Schlüssel in den Umgebungsvariablen fest.
🧭 JDisc für EKS Kubernetes Discovery konfigurieren
-
Gehen Sie zu JDisc → Konfiguration → PaaS.
-
Klicken Sie auf „Neue Konfiguration hinzufügen“.
-
Fügen Sie die zuvor generierte kubeconfig-Datei ein.
-
Speichern Sie den Eintrag unter einem aussagekräftigen Namen (z. B. eks-test1-config).
-
✅ Klicken Sie nach dem Speichern auf „Verbindung testen“, um den Zugriff zu überprüfen.

⚡ Alternative (ohne kubeconfig): Verwenden Sie ein kurzlebiges EKS-Token.
Wenn Sie kein kubeconfig konfigurieren möchten, können Sie JDisc ein direktes Bearer-Token und den Hostnamen des API-Servers bereitstellen.
- Generieren Sie ein Token (gültig für ca. 12–15 Minuten):
aws eks get-token \
–cluster-name eks-test1 \
–region eu-central-1 \
–output json
Kopieren Sie aus der JSON-Ausgabe den Wert „status.token“.
- Suchen Sie den Hostnamen des Cluster-API-Servers (in Ihren Cluster-Details oder in kubeconfig). Er sieht wie folgt aus: XXXXXXXXXXXXX.gr7.eu-central-1.eks.amazonaws.com
- In JDisc → Konfiguration → PaaS → Neue Konfiguration hinzufügen
- Wählen Sie den Modus „Konto“.
- Hostname: Fügen Sie den Hostnamen des API-Servers ein (ohne Schema).
- Token: Fügen Sie das Bearer-Token aus Schritt 1 ein.
- Speichern und Verbindung testen
⚠️ Ablauf des Tokens: Das Token ist nur kurz gültig. Für wiederholte oder geplante Erkennungen sollten Sie kubeconfig mit Rollen-/Benutzerauthentifizierung bevorzugen oder die Aktualisierung des Tokens automatisieren.
💬 Abschließende Gedanken zu EKS Kubernetes Discovery in JDisc
Mit diesen Einstellungsoptionen kann JDisc nun sicher und flexibel Kubernetes-Cluster scannen, die auf AWS EKS gehostet werden – entweder mithilfe von IAM-Benutzern oder IAM-Rollen. Damit haben Sie folgende Möglichkeiten:
-
Live-Pods und -Knoten erkennen
-
Token-basierte Kubeconfig-Generierung integrieren
-
Erkennungstools (wie JDisc) mit temporärem Zugriff ausführen
Wenn Sie sich an die Best Practices von AWS halten möchten, ist der rollenbasierte Zugriff über IAM (insbesondere über IRSA oder EC2) die beste Wahl für eine skalierbare und sichere Kubernetes-Erkennung.
Teilen Sie uns mit, wie es für Sie funktioniert – und was Sie sich als Nächstes für den Cloud-nativen Support von JDisc wünschen!
Bleiben Sie cloudfähig,
Raphael Nikou

