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 gewähren. RBAC ermöglicht die Definition von Rollen mit Regeln, die eine Reihe von Berechtigungen enthalten, während der Legacy-Autorisierer (ABAC) in Kubernetes Engine breit gefächerte, statisch definierte Berechtigungen gewährt. Da RBAC erhebliche Sicherheitsvorteile gegenüber ABAC bietet, ist es die empfohlene Option für die Zugriffskontrolle. Wo möglich, muss die Legacy-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. 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, 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. Select Kubernetes clusters for which Legacy Authorization is enabled.
  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.