Kf bietet eine Reihe von Kubernetes-Rollen, mit denen mehrere Teams Kf-Cluster gemeinsam nutzen können. Auf dieser Seite werden die Rollen und Best Practices für deren Verwendung beschrieben.
Wann werden Kf-Rollen verwendet?
Mit Kf-Rollen können mehrere Teams einen Kubernetes-Cluster mit aktiviertem Kf teilen. Die Rollen ermöglichen den Zugriff auf einzelne Kf Spaces.
Verwenden Sie Kf-Rollen, um den Zugriff auf einen Cluster freizugeben, wenn Folgendes zutrifft:
- Der Cluster wird von vertrauenswürdigen Teams verwendet.
- Für Arbeitslasten im Cluster gelten dieselben Annahmen in Bezug auf das Sicherheitsniveau der Umgebung.
- Der Cluster befindet sich in einem Google Cloud-Projekt, das streng kontrolliert wird.
Kf-Rollen tun Folgendes nicht:
- Cluster vor nicht vertrauenswürdigen Entwicklern oder Arbeitslasten schützen. Weitere Informationen finden Sie im GKE-Modell der geteilten Verantwortung.
- Isolieren Sie Ihre Arbeitslasten. Weitere Informationen finden Sie in der Anleitung zur Härtung Ihres Clusters.
- Die Definition zusätzlicher Kubernetes-Rollen verhindern, die mit Kf interagieren.
- Verhindern Sie den Zugriff von Administratoren, die Zugriff auf das Google Cloud-Projekt oder den Cluster haben.
Kf-Rollen
In folgenden Abschnitten werden die von Kf bereitgestellten Kubernetes RBAC-Rollen und ihre Interaktion mit dem Kubernetes Engine (GKE) IAM von Google beschrieben.
Vordefinierte Rollen
Kf bietet mehrere vordefinierte Kubernetes-Rollen, mit denen Sie Zugriff auf verschiedene Subjekte mit unterschiedlichen Rollen gewähren können. Jede vordefinierte Rolle kann an ein Thema innerhalb eines Kubernetes-Namespace gebunden werden, der von einem Kf-Bereich verwaltet wird.
Wenn ein Subjekt an eine Rolle in einem Kubernetes-Namespace gebunden ist, ist sein Zugriff auf Objekte beschränkt, die im Namespace vorhanden sind und mit zu den in der Rolle aufgeführten Berechtigungen passen. In Kf sind verschiedene Ressourcen auf Clusterebene definiert. Kf achtet auf Änderungen an Subjekten im Namespace und gewährt zusätzliche, eingeschränkte Rollen im Clusterbereich.
Rolle | Titel | Beschreibung | Umfang |
---|---|---|---|
space-auditor |
Bereichs-Auditor | Gewährt Lesezugriff auf einen Bereich. | Space |
space-developer |
Bereichsentwickler | Ermöglicht Anwendungsentwicklern, Anwendungen in einem Bereich bereitzustellen und zu verwalten. | Space |
space-manager |
Space-Manager | Ermöglicht die Administration und die Möglichkeit, Prüfer, Entwickler und Manager in einem Bereich (Space) zu verwalten. | Space |
SPACE_NAME-manager |
Dynamischer Space-Manager | Ermöglicht Schreibzugriff auf ein einzelnes Space-Objekt, das automatisch allen Subjekten mit der Rolle space-manager im benannten Bereich gewährt wird. |
Cluster |
kf-cluster-reader |
Clusterleser | Gewährt Lesezugriff auf clusterbezogene Kf-Objekte, die automatisch allen space-auditor -, space-developer - und space-manager -Rollen zugewiesen werden. |
Cluster |
Informationen zu den Richtlinienregeln für die einzelnen vordefinierten Rollen finden Sie in der Referenzdokumentation zu Kf-Rollen.
IAM-Rollen
Kf-Rollen ermöglichen die Zugriffssteuerung für Objekte in einem Kubernetes-Cluster. Jeder Person muss auch eine IAM-Rolle zur Authentifizierung beim Cluster zugewiesen werden:
Plattformadministratoren muss die IAM-Rolle
roles/container.admin
zugewiesen werden. Dadurch können sie Kf installieren, aktualisieren und löschen sowie clusterbezogene Kf-Objekte wie Spaces oder ClusterServiceBrokers erstellen und löschen.Kf-Endnutzern sollte die IAM-Rolle
roles/container.viewer
zugewiesen werden. Mit dieser Rolle können sie sich bei einem Cluster mit eingeschränkten Berechtigungen authentifizieren, die mithilfe von Kf-Rollen erweitert werden können.
IAM bietet zusätzliche vordefinierte Rollen für GKE zur Lösung komplexerer Anwendungsfälle:
Role | Title | Description | Lowest resource |
---|---|---|---|
roles/ |
Kubernetes Engine Admin |
Provides access to full management of clusters and their Kubernetes API objects.
To set a service account on nodes, you must also have the Service Account User role
( |
|
roles/ |
Kubernetes Engine KMS Crypto Key User | Allow the Kubernetes Engine service agent in the cluster project to call KMS with user provided crypto keys to sign payloads. | |
roles/ |
Kubernetes Engine Cluster Admin |
Provides access to management of clusters.
To set a service account on nodes, you must also have the Service Account User role
( |
|
roles/ |
Kubernetes Engine Cluster Viewer |
Provides access to get and list GKE clusters. |
|
roles/ |
Kubernetes Engine Default Node Service Account | Least privilege role to use as the default service account for GKE Nodes. | |
roles/ |
Kubernetes Engine Developer |
Provides access to Kubernetes API objects inside clusters. |
|
roles/ |
Kubernetes Engine Host Service Agent User |
Allows the Kubernetes Engine service account in the host project to configure shared network resources for cluster management. Also gives access to inspect the firewall rules in the host project. |
|
roles/ |
Kubernetes Engine Viewer |
Provides read-only access to resources within GKE clusters, such as nodes, pods, and GKE API objects. |
|
Kf Cloud Foundry-Rollen zuordnen
Cloud Foundry-Rollen ähneln den vordefinierten Rollen von Kf. Cloud Foundry bietet zwei grundsätzliche Rollentypen:
- Rollen, die vom Benutzerkonto- und Authentifizierungssystem (UAA, User Account and Authentication)-Subsystem zugewiesen wurden und differenzierte OAuth-Bereiche bereitstellen, die für alle Cloud Foundry API-Endpunkte gültig sind.
- Rollen, die in der Cloud Controller API (CAPI) gewährt wurden und einen detaillierten Zugriff auf API-Ressourcen ermöglichen
UAA-Rollen
Die von der UAA bereitgestellten Rollen ähneln den projektbezogenen IAM-Rollen:
- Admin-Nutzer in Cloud Foundry können für alle Cloud Foundry-Organisationen und -Bereiche administrative Aktivitäten ausführen. Die Rolle ist der IAM-Rolle
roles/container.admin
sehr ähnlich. - Nutzer mit Administrator-Lesezugriff in Cloud Foundry können auf alle Cloud Foundry API-Endpunkte zugreifen. Die Rolle ist der IAM-Rolle
roles/container.admin
sehr ähnlich. - Globale Prüfer von Cloud Foundry haben Lesezugriff auf alle Cloud Foundry API-Endpunkte mit Ausnahme von Secrets. Es gibt keine entsprechende IAM-Rolle, aber Sie können eine benutzerdefinierte Rolle mit ähnlichen Berechtigungen erstellen.
Cloud Controller API-Rollen
Die CAPI-Rollen entsprechen den in einem Cluster Mitgliedern zugewiesenen Kf-Rollen, die die IAM-Rolle roles/container.viewer
für das eigene Projekt haben:
- Space-Prüfer in Cloud Foundry haben Lesezugriff auf Ressourcen in einem CF-Bereich.
Die Rolle ist der Kf-Rolle
space-auditor
sehr ähnlich. - Space-Entwickler in Cloud Foundry haben die Möglichkeit, Anwendungen in einem CF-Bereich bereitzustellen und zu verwalten.
Die Rolle ist der Kf-Rolle
space-developer
sehr ähnlich. - Space Manager in Cloud Foundry können Einstellungen für den CF-Bereich ändern und Nutzern Rollen zuweisen.
Die Rolle ist der Kf-Rolle
space-manager
sehr ähnlich.
Nächste Schritte
- Weitere Informationen zur GKE-Sicherheit finden Sie in der Übersicht über die Sicherheit.
- Mehr über das GKE- Modell zur geteilten Verantwortung erfahren
- Mehr über die Zugriffssteuerung in GKE erfahren
- Mehr über die GKE-Mandantenfähigkeit erfahren
- Mehr über das Härten von GKE-Clustern erfahren
- Informationen zu Kubernetes-Berechtigungen, die die einzelnen vordefinierten Kf-Rollen bestimmen.