Google-Gruppen mit GKE on AWS verbinden

In diesem Dokument wird beschrieben, wie Sie als Mitglied einer Google-Gruppe eine Verbindung zu GKE on AWS herstellen.

Die Verwendung von Google-Gruppen 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. Wenn Sie allen diesen Nutzern die Verbindung zu Ihrem Cluster ermöglichen möchten, müssen Sie RBAC-Regeln in der Kubernetes-Manifestdatei für 225 Nutzer erstellen. Wenn Sie den Zugriff auf Ihren Cluster mit Google-Gruppen aktivieren, sparen Sie jedoch Zeit, da Sie nur RBAC-Regeln für drei Google-Gruppen erstellen müssen.

Hinweise

Wenn Sie als Mitglied einer Google-Gruppe eine Verbindung zu Ihrem Cluster herstellen möchten, müssen folgende Voraussetzungen erfüllt sein:

  1. 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.

  2. Verwenden Sie GKE on AWS Version 1.25 oder höher. Diese Version ist für den kubectl-Zugriff über das Connect-Gateway erforderlich.

Verbindung zum Cluster mit Google Groups herstellen

So autorisieren Sie Google-Gruppen, eine Verbindung zu GKE on AWS herzustellen:

  1. Aktivieren Sie die connectgateway- und cloudresourcemanager-APIs mit dem folgenden Befehl:

      gcloud services enable --project=PROJECT_ID \
          connectgateway.googleapis.com \
          cloudresourcemanager.googleapis.com
    

    Ersetzen Sie PROJECT_ID durch die ID Ihres AWS-Projekts.

  2. Erstellen Sie eine Gruppe namens gke-security-groups als Gruppe in der Domain Ihres Projekts, falls sie noch nicht vorhanden ist.

  3. Erstellen Sie eine oder mehrere Untergruppen innerhalb der Gruppe gke-security-groups für die Clusterauthentifizierung.

  4. Fügen Sie den neu erstellten Untergruppen Nutzer hinzu.

  5. Wenn Sie den kubectl-Zugriff über das Connect-Gateway verwenden möchten, müssen Sie Google-Gruppen IAM-Rollen zuweisen:

    1. 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 Cluster gewähren. Dieser Schritt erfolgt später. Hier legen Sie lediglich fest, wie Nutzer der Gruppe das Connect-Gateway bearbeiten können.)

    2. 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 soll
      • DOMAIN: Ihre Google Workspace-Domain
      • GATEWAY_ROLE: die ausgewählte Rolle. Beispiel roles/gkehub.gatewayAdmin, roles/gkehub.gatewayEditor oder roles/gkehub.gatewayReader.
  6. Definieren Sie in einem Kubernetes-Manifest die Berechtigungen, die jede Google-Gruppe für den 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
    
  7. 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 Datei kubeconfig
    • 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 Cluster herstellen. Im angegebenen Beispiel können Nutzer, die zur Google-Gruppe cluster-admin-team gehören, als Administratoren eine Verbindung zum Cluster herstellen.