2017-07-11 3 views
0

Ich bin schon lange verwirrt darüber, wie der Benutzer von kubectl autorisiert wird. Ich bootstrap einen K8s-Cluster von Grund auf neu und verwenden Sie "RBAC" als Autorisierungsmodus. Der Benutzer kubectl wird zuerst durch das Zertifikat authentifiziert und sollte dann von RBAC beim Zugriff auf den api-Server autorisiert werden. Ich habe nichts getan, um dem Benutzer Berechtigungen zu erteilen, es ist jedoch erlaubt, auf alle apis zuzugreifen (Pods oder Listing-Pods erstellen).Wie wird kubectl autorisiert?

+0

Können Sie beschreiben, wie richtest du kubectl ein? Zum Beispiel: Laufen Sie kubectl direkt auf der VM oder sind Sie auf GEK und führen es von Ihrem Rechner aus und konfigurieren es über 'gcloud containers'? – iamnat

+0

@iamnat Ich installierte k8s auf blankem Metall von Grund auf neu nach diesem Dokument: https://kubernetes.io/docs/getting-started-guides/scratch/ –

Antwort

0

Kubernetes hat kein eingebautes Benutzerverwaltungssystem. Es erwartet, dass Sie diesen Teil selbst implementieren. In diesem Sinne besteht eine gängige Methode zum Implementieren von Benutzerauthentifizierung darin, eine Zertifikatzeichenanforderung zu erstellen und sie von der Clusterzertifizierungsstelle signieren zu lassen. Durch Lesen dieses neu erzeugten Zertifikats extrahiert der Cluster den Benutzernamen und die Gruppen, zu denen er gehört. Danach werden die von Ihnen implementierten RBAC-Richtlinien angewendet. Wenn der Benutzer auf alles zugreifen kann, kann dies einer der folgenden sein:

  • Sie verwenden immer noch das Benutzerkonto admin anstelle des neu erstellten Benutzerkontos.
  • Das Benutzerkonto Sie einem Admin-Gruppe erstellt gehört
  • Du hast RBAC nicht korrekt Dieses Handbuch sollten Sie mit einem einfachen Beispiel für Benutzer-Auth in Kubernetes helfen

aktivieren: https://docs.bitnami.com/kubernetes/how-to/configure-rbac-in-your-kubernetes-cluster/

Verwandte Themen