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.
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 sind.
|
HinweisAuf 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:
- Gehen Sie zu Kubernetes Engine, indem Sie die Google Cloud Console Kubernetes Engine-Seite besuchen.
- 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:
- Gehen Sie zu Kubernetes Engine, indem Sie die Google Cloud Console Kubernetes Engine-Seite besuchen.
- Select Kubernetes clusters for which Legacy Authorization is enabled.
- Klicken Sie auf BEARBEITEN.
- Setzen Sie 'Legacy Authorization' 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> --location <location> --no- enable-legacy-authorization
