Ansichten:
Profilanwendbarkeit: Stufe 1
Die veraltete Autorisierung, auch bekannt als attributbasierte Zugriffskontrolle (ABAC), wurde durch rollenbasierte Zugriffskontrolle (RBAC) ersetzt und wird nicht aktiv weiterentwickelt. RBAC ist die empfohlene Methode zur Verwaltung von Berechtigungen in Kubernetes.
In Kubernetes wird RBAC verwendet, um Berechtigungen für Ressourcen auf Cluster- und Namespace-Ebene zu erteilen. RBAC ermöglicht die Definition von Rollen mit Regeln, die eine Reihe von Berechtigungen enthalten, während der Legacy-Autorisierer (ABAC) in Kubernetes Engine breite, statisch definierte Berechtigungen gewährt.
Da RBAC erhebliche Sicherheitsvorteile gegenüber ABAC bietet, wird es als empfohlene Option für die Zugriffskontrolle angesehen. Wo möglich, muss die veraltete Autorisierung für GKE Clusters deaktiviert werden.
Hinweis
Hinweis
Kubernetes Engine-Cluster, die GKE-Version 1.8 und höher ausführen, deaktivieren standardmäßig das Legacy-Autorisierungssystem, sodass rollenbasierte Zugriffskontrollberechtigungen ohne besondere Aktion erforderlich sind.
Hinweis
Hinweis
Auf Clustern, die GKE 1.6 oder 1.7 ausführen, haben Kubernetes-Dienstkonten standardmäßig volle Berechtigungen für die Kubernetes-API. Um sicherzustellen, dass die rollenbasierte Zugriffskontrolle für ein Kubernetes-Dienstkonto wirksam wird, muss der Cluster mit der Option --no-enable-legacy-authorization erstellt oder aktualisiert werden. Diese Anforderung entfällt für Cluster, die GKE-Version 1.8 oder höher ausführen.

Auswirkung

Sobald der Cluster den Legacy-Autorisierer deaktiviert hat, muss dem Benutzer die Fähigkeit gewährt werden, Autorisierungsrollen mit RBAC zu erstellen, um sicherzustellen, dass die rollenbasierte Zugriffskontrolle wirksam wird.

Prüfung

Verwendung der Google Cloud Console:
  1. Gehen Sie zu Kubernetes Engine, indem Sie die Google Cloud Console Kubernetes Engine-Seite besuchen.
  2. Klicken Sie in der Liste der Cluster auf jeden Cluster, um das Detailfenster zu öffnen, und stellen Sie sicher, dass 'Legacy-Autorisierung' auf 'Deaktiviert' gesetzt ist.
Verwendung der Befehlszeile:
Um den Status der Legacy-Autorisierung für einen bestehenden Cluster zu überprüfen, definieren Sie zuerst 3 Variablen für Clustername, Standort und Projekt und führen Sie dann den folgenden Befehl aus:
gcloud container clusters describe $CLUSTER_NAME --location $LOCATION -- 
project $PROJECT_ID --format json | jq '.legacyAbac' 
Die Ausgabe sollte (null) null zurückgeben, wenn die Legacy-Autorisierung deaktiviert ist. Wenn die Legacy-Autorisierung aktiviert ist, gibt der obige Befehl den Wert true zurück.

Wiederherstellung

Verwendung der Google Cloud Console:
  1. Gehen Sie zu Kubernetes Engine, indem Sie die Google Cloud Console Kubernetes Engine-Seite besuchen.
  2. Select Kubernetes clusters for which Legacy Authorization is enabled.
  3. Klicken Sie auf BEARBEITEN.
  4. Setzen Sie 'Legacy Authorization' auf 'Deaktiviert'.
  5. Klicken Sie auf SPEICHERN.
Verwendung der Befehlszeile:
Um die Legacy-Autorisierung für einen bestehenden Cluster zu deaktivieren, führen Sie den folgenden Befehl aus:
gcloud container clusters update <cluster_name> --location <location> --no- 
enable-legacy-authorization