Workload Identity – Übersicht

Mit Workload Identity können Sie jeder Anwendung in Ihrem Cluster separate, detaillierte Identitäten und Autorisierungen zuweisen. Workload Identity ist die empfohlene Methode für Anwendungen, die in GKE on AWS ausgeführt werden, um auf AWS- und Google Cloud-Dienste zuzugreifen.

Für alle GKE-Cluster ist Workload Identity aktiviert.

Kubernetes-Dienstkonten

Workload Identity implementiert die Identitätsföderation oder das delegieren von Vertrauensstellungen oder Rollen an einen externen Anbieter. Jeder Cluster hat einen integrierten OIDC-Anbieter (Open ID Connect). Wenn ein Pod im Cluster ausgeführt wird, wird er mit einem Kubernetes-Dienstkonto ausgeführt. Der Pod kann so konfiguriert werden, dass er mit einem gebundenen Dienstkonto-Token-Volume ein Token mit kurzlebigen Anmeldedaten für sein Kubernetes-Dienstkonto abruft.

Open ID Connect-Anbieter

Jeder Cluster kann als OIDC-Anbieter (Open ID Connect) fungieren. Mit diesem Anbieter können Sie Anmeldedaten für Kubernetes-Dienstkonto für Dienste bereitstellen, die die Identitätsföderation mit OIDC unterstützen.

Der Aussteller-URI dieses Anbieters dient auch als OIDC-Discovery-Endpunkt. Dienste können diesen Discovery-Endpunkt verwenden, um das JSON Web Key Set (JWKS) abzurufen. Dieses stellt Informationen zum öffentlichen Schlüssel bereit, mit denen sie die Anmeldedaten des Kubernetes-Dienstkontos überprüfen können.

Google Cloud IAM-Identitätspools und -anbieter

Google Cloud IAM unterstützt die Identitätsföderation über OIDC. Alle GKE-Cluster werden als Identitätsanbieter im Workload Identity-Pool PROJECT_ID.svc.id.goog konfiguriert.

Informationen zum Abrufen des Namens des Workload Identity-Pools und der Anbieter finden Sie unter Workload Identity mit Google Cloud verwenden.

AWS-IAM-Identitätsanbieter

IAM unterstützt die Identitätsföderation über OIDC. Für den Zugriff auf AWS über die Dienstkontoidentitäten einer Arbeitslast müssen Sie einen OIDC-Anbieter in AWS IAM erstellen. Standardmäßig ist GKE on AWS nicht mit einem Identitätsanbieter für AWS IAM konfiguriert.

Alternativen zu Workload Identity

Es gibt alternative Methoden, um über GKE on AWS auf Dienste zuzugreifen. Die folgenden Methoden werden aufgrund von Komplikationen nicht empfohlen.

  1. Anmeldedaten exportieren und als Kubernetes-Secrets speichern. In diesem Fall müssen Sie die gespeicherten Anmeldedaten sowohl in AWS IAM als auch in Ihrem Cluster manuell rotieren. Wenn ein Angreifer Anmeldedaten stiehlt, kann er sie ausnutzen.

  2. Anmeldedaten an die zugrunde liegenden Instanzen der Knotenpools anhängen. In diesem Fall werden die Anmeldedaten von allen Arbeitslasten, die auf demselben Knoten ausgeführt werden, gemeinsam genutzt. Dies kann zu mehr Berechtigungen führen, als Arbeitslasten benötigen. Zum Blockieren des Zugriffs auf die Berechtigungen einer Instanz blockieren GKE-Cluster den Zugriff eines Pods auf den Metadatendienst der Instanz.

Nächste Schritte