In diesem Dokument werden drei Methoden zum Herstellen einer Verbindung zu Ihrem mit EKS angehängten Cluster beschrieben:
- Methode 1 stellt eine Verbindung zu Ihrem Cluster als Google-Nutzer her.
- Mit Methode 2 stellen Sie eine Verbindung zu Ihrem Cluster als Mitglied einer Google-Gruppe her.
- Methode 3 stellt eine Verbindung zu Ihrem Cluster als Nicht-Google-Nutzer oder -Gruppe her.
Diese drei Methoden zum Herstellen einer Verbindung zu einem registrierten Cluster werden von einem Google-Dienst namens Connect-Gateway ermöglicht. Weitere Informationen zum Connect-Gateway finden Sie unter Verbindung zu registrierten Clustern mit dem Connect-Gateway herstellen.
Hinweise
Bevor Sie eine der Methoden ausführen, prüfen Sie, ob Sie Ihren Cluster angehängt haben. Weitere Informationen finden Sie unter EKS-Cluster anhängen.
Bevor Sie mit Methode 2 oder Methode 3 fortfahren, müssen Sie zusätzliche Voraussetzungen erfüllen. Details zu diesen Schritten finden Sie in den folgenden Abschnitten.
Bevor Sie mit Methode 2 beginnen
Wenn Sie Methode 2 zum Herstellen einer Verbindung zu Ihrem angehängten Cluster verwenden möchten, müssen folgende Voraussetzungen erfüllt sein:
- Neueste Version der Google Cloud CLI. Informationen zum Aktualisieren der gcloud CLI finden Sie unter
gcloud components update
. - Angehängte Clusterversionen 1.26.0-gke.8, 1.27.0-gke.5, 1.28.0-gke.2 oder höher.
Bevor Sie mit Methode 3 beginnen
Wenn Sie Methode 3 zum Herstellen einer Verbindung zu Ihrem angehängten Cluster verwenden möchten, müssen folgende Voraussetzungen erfüllt sein:
Prüfen Sie, ob Sie die neueste Version des Google Cloud CLI haben: Informationen zum Aktualisieren der gcloud CLI finden Sie unter
gcloud components update
.Prüfen Sie, ob Sie die angehängten Clusterversionen 1.27.0-gke.5, 1.28.0-gke.2 oder höher verwenden.
Konfigurieren Sie die Workforce Identity-Föderation, damit externe Nutzer oder Gruppen die GKE Attached Cluster API verwenden können:
- Informationen für Azure-Nutzer finden Sie unter Workforce Identity-Föderation mit Azure AD konfigurieren.
- Informationen zu Okta-Nutzern finden Sie unter Workforce Identity-Föderation mit Okta konfigurieren.
- Informationen zu Nutzern aus anderen Plattformen finden Sie unter Mitarbeiteridentitätsföderation konfigurieren.
Optional: Weisen Sie Ihren externen Nutzern oder Gruppen die entsprechenden IAM-Rollen (Identity and Access Management) zu. Dieser Schritt ist nur erforderlich, wenn Sie Nutzern oder Gruppen die Möglichkeit geben möchten, Cluster zu erstellen oder zu aktualisieren. Es ist nicht für den einfachen Zugriff auf einen Cluster erforderlich.
Beachten Sie, dass Rollen Sammlungen von Berechtigungen sind. Wenn Sie einer Entität eine Rolle zuweisen (Nutzer, Gruppe oder Dienstkonto), erteilen Sie dieser Entität alle mit ihr verknüpften Berechtigungen.
Nutzer
Für einzelne Nutzer müssen Sie die Rolle
gkemulticloud.admin
zuweisen:gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/gkemulticloud.admin" \ --member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject SUBJECT_VALUE"
Ersetzen Sie Folgendes:
PROJECT_ID
ist die ID Ihres Google Cloud-Projekts.WORKFORCE_POOL_ID
: die ID, die Ihren Workforce Identity-Pool in Google Cloud eindeutig identifiziert. Folgen Sie beim Formatieren der ID den empfohlenen Richtlinien in der IAM-Dokumentation unter Abfrageparameter.SUBJECT_VALUE
: die ID, die einen externen Nutzer eindeutig identifiziert. Die ID kann beispielsweise eine E-Mail-Adresse wiealex@cymbalgroup.com
sein.
Gruppen
Für Gruppen müssen Sie die Rolle
gkemulticloud.admin
zuweisen:gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/gkemulticloud.admin" \ --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Ersetzen Sie Folgendes:
PROJECT_ID
ist die ID Ihres Google Cloud-Projekts.WORKFORCE_POOL_ID
: die ID, die Ihren Workforce Identity-Pool in Google Cloud eindeutig identifiziert. Folgen Sie beim Formatieren der ID den empfohlenen Richtlinien in der IAM-Dokumentation unter Abfrageparameter.GROUP_ID
: eine ID, die eine externe Gruppe eindeutig identifiziert.
Weitere Informationen dazu, welche API-Rollen und -Berechtigungen für angehängte GKE-Cluster erforderlich sind, finden Sie unter API-Rollen und -Berechtigungen.
Methode 1: Verbindung als Google-Nutzer zum angehängten Cluster herstellen
So stellen Sie als Google-Nutzer eine Verbindung zu einem angehängten Cluster her:
Aktivieren Sie die APIs
connectgateway
undcloudresourcemanager
mit dem folgenden Befehl:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Ersetzen Sie
PROJECT_ID
durch die ID Ihres Google Cloud-Projekts.Richten Sie RBAC-Regeln entweder automatisch oder manuell ein und wenden Sie sie an:
Automatische Methode: Wenn Sie beim Anhängen des Clusters Google-Nutzer im Feld
--admin-users
des Befehlsgcloud container attached clusters register
angegeben haben, werden diesen Nutzern automatisch Administratorberechtigungen auf dem Cluster gewährt. Sie können diesen Schritt daher überspringen.Manuelle Methode: Richten Sie manuell RBAC-Regeln für einzelne Google-Nutzer ein. Erstellen Sie dazu ein Kubernetes YAML-Manifest. Weitere Informationen finden Sie unter RBAC-Autorisierung verwenden.
Rufen Sie mit dem folgenden Befehl eine Kubernetes-Konfigurationsdatei
kubeconfig
ab:gcloud container fleet memberships get-credentials CLUSTER_NAME
Ersetzen Sie
CLUSTER_NAME
durch den Namen des Clusters, dessen Anmeldedaten Sie für die Verbindung benötigen.
Nachdem Sie diese Schritte ausgeführt haben, können Sie als Google-Nutzer eine Verbindung zu Ihrem angehängten Cluster herstellen.
Methode 2: Verbindung zum angehängten Cluster mit Google Groups herstellen
Mit dieser Methode können Sie eine Verbindung zu einem angehängten Cluster als Mitglied einer Google-Gruppe herstellen. Mit anderen Worten, Sie gewähren einer Google-Gruppe Zugriff auf einen Cluster und alle Nutzer, die zu dieser Google-Gruppe gehören, haben Zugriff auf den Cluster.
Die Verwendung von Google Groups zum Gewähren des Clusterzugriffs ist effizienter als das Erstellen separater Autorisierungen für einzelne Nutzer. Angenommen, Sie möchten der Clusteradministratorgruppe 50 Nutzer, einer Bearbeitergruppe 75 Nutzer und einer Lesergruppe 100 Nutzer hinzufügen. Für die in diesem Dokument beschriebene Methode 1 müssen Sie RBAC-Regeln in der Kubernetes-Manifestdatei für 225 Nutzer erstellen. Mit Methode 2 sparen Sie jedoch Zeit, da Sie nur RBAC-Regeln für drei Google-Gruppen erstellen müssen.
So autorisieren Sie Google Groups, eine Verbindung zu einem angehängten Cluster herzustellen:
Aktivieren Sie die APIs
connectgateway
undcloudresourcemanager
mit dem folgenden Befehl:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Ersetzen Sie
PROJECT_ID
durch die ID Ihres Google Cloud-Projekts.Erstellen Sie eine Gruppe namens
gke-security-groups
als Gruppe in der Domain Ihres Projekts, falls sie noch nicht vorhanden ist.Erstellen Sie eine oder mehrere Untergruppen innerhalb der Gruppe
gke-security-groups
für die Clusterauthentifizierung.Fügen Sie den neu erstellten Untergruppen Nutzer hinzu.
Weisen Sie IAM-Rollen für Google Groups zu:
Wählen Sie eine geeignete Rolle für eine Gruppe aus. Diese Rolle bestimmt, wie die Gruppe mit dem Connect-Gateway interagiert. Die Rolle kann eine der folgenden sein:
roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
,roles/gkehub.gatewayReader
. Beachten Sie, dass Sie hier keine Berechtigungen für den angehängten Cluster gewähren. Dieser Schritt erfolgt später. Hier legen Sie lediglich fest, wie Nutzer der Gruppe das Connect-Gateway bearbeiten können.Führen Sie den folgenden Befehl aus, um der Gruppe die Rolle zuzuweisen:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_NAME@DOMAIN \ --role=GATEWAY_ROLE
Ersetzen Sie Folgendes:
PROJECT_ID
: Ihre Google-Projekt-ID.GROUP_NAME
: Name der Gruppe, auf die Zugriff gewährt werden sollDOMAIN
: Ihre Google Workspace-DomainGATEWAY_ROLE
: die ausgewählte Rolle. Beispielroles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
oderroles/gkehub.gatewayReader
.
Definieren Sie in einem Kubernetes-Manifest, welche Art von Berechtigung jede Google-Gruppe auf dem Cluster hat. Das folgende Manifest gewährt beispielsweise der Google-Gruppe
cluster-admin-team
die Rolle des Clusteradministrators:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: gateway-cluster-admin-group subjects: - kind: Group name: cluster-admin-team@example.com roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io
Speichern Sie das Manifest in einer Datei und wenden Sie es auf den Cluster an, indem Sie den folgenden Befehl ausführen:
kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAME
Ersetzen Sie Folgendes:
KUBECONFIG_PATH
: Pfad zur Dateikubeconfig
FILENAME
: der Name der von Ihnen erstellten Manifestdatei.
Nachdem Sie diese Schritte ausgeführt haben, können Nutzer, die bestimmten Google-Gruppen angehören, eine Verbindung zum angehängten Cluster herstellen. Im angegebenen Beispiel können Nutzer, die zur Google-Gruppe cluster-admin-team
gehören, als Administratoren eine Verbindung zum Cluster herstellen.
Methode 3: Zugriff auf externe Identitäten beim Anhängen oder Aktualisieren eines Clusters gewähren
Methode 3 gewährt Zugriff auf externe Identitäten, wenn Sie einen Cluster anhängen oder aktualisieren.
Führen Sie die Schritte unter EKS-Cluster anhängen aus, um einen EKS-Cluster anzuhängen. Führen Sie die Schritte unter EKS-Cluster aktualisieren aus, um einen EKS-Cluster zu aktualisieren.
Wenn Sie den Befehl der gcloud CLI zum Registrieren oder Aktualisieren eines Clusters ausführen, geben Sie die Parameter admin-users
und/oder admin-groups
so an:
gcloud container attached clusters [register|update] CLUSTER_NAME \
--admin-users=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject SUBJECT_VALUE \
--admin-groups=principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID
Ersetzen Sie Folgendes:
CLUSTER_NAME
: Der Name Ihres Clusters.WORKFORCE_POOL_ID
: die ID, die Ihren Workforce Identity-Pool in Google Cloud eindeutig identifiziert. Folgen Sie beim Formatieren der ID den empfohlenen Richtlinien in der IAM-Dokumentation unter Abfrageparameter.SUBJECT_VALUE
: die ID, die einen externen Nutzer eindeutig identifiziert. Die ID kann beispielsweise eine E-Mail-Adresse wiealex@cymbalgroup.com
sein.GROUP_ID
: eine ID, die eine externe Gruppe eindeutig identifiziert.
Nächste Schritte
Informationen zum Verwalten des Clusters über die Google Cloud Console mit Cloud Identity finden Sie unter Mit Ihrer Google Cloud Identity anmelden.