Ansichten:
Profilanwendbarkeit: Stufe 1
Die veraltete Autorisierung, auch bekannt als Attributbasierte Zugriffskontrolle (ABAC), wurde durch Rollenbasierte Zugriffskontrolle (RBAC) abgelöst und wird nicht mehr 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 veraltete Autorisierer (ABAC) in der Kubernetes-Engine breite, statisch definierte Berechtigungen erteilt. 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-Cluster 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 wirksam werden.

Auswirkung

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

Prüfung

Verwendung der Google Cloud Console:
  1. Gehen Sie zur Kubernetes Engine-Website.
  2. Wählen Sie aus der Liste der Cluster jeden Cluster aus, 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, führen Sie den folgenden Befehl aus:
gcloud container clusters describe <cluster_name> --zone <compute_zone> 
--format json | jq '.legacyAbac'
Die Ausgabe sollte 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 zur Kubernetes Engine-Website.
  2. Wählen Sie Kubernetes-Cluster aus, für die die Legacy-Autorisierung aktiviert ist.
  3. Klicken Sie auf EDIT.
  4. Setzen Sie die Legacy-Autorisierung 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> --zone <compute_zone> 
--no-enable-legacy-authorization

Zusätzliche Informationen:

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.