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.
HinweisKubernetes 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:
- Gehen Sie zur Kubernetes Engine-Website.
- 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:
- Gehen Sie zur Kubernetes Engine-Website.
- Select Kubernetes clusters for which Legacy Authorization is enabled.
- Klicken Sie auf EDIT.
- Setzen Sie die Legacy-Autorisierung auf Deaktiviert.
- 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.
