Connecter des groupes Google à GKE sur Azure

Ce document explique comment vous connecter à GKE sur Azure en tant que membre d'un Groupe Google.

Il est plus efficace d'accorder l'accès au cluster à l'aide de Google Groupes que de créer d'autorisations distinctes pour chaque utilisateur. Par exemple, supposons que vous souhaitiez ajouter 50 utilisateurs au groupe d'administrateurs du cluster, 75 utilisateurs à un groupe d'éditeurs et 100 utilisateurs à un groupe de lecteurs. Pour permettre à tous ces utilisateurs de se connecter à votre cluster, vous devez créer des règles RBAC dans le fichier manifeste Kubernetes pour 225 utilisateurs. Toutefois, l'activation de l'accès à votre cluster avec des groupes Google vous fait gagner du temps, car vous n'avez besoin de créer des règles RBAC que pour trois groupes Google.

Avant de commencer

Pour vous connecter à votre cluster en tant que membre d'un groupe Google, vous devez remplir les conditions préalables suivantes :

  1. Assurez-vous de disposer de la dernière version de la CLI Google Cloud : Pour plus d'informations sur la mise à jour de gcloud CLI, consultez gcloud components update.

  2. Utilisez GKE sur Azure version 1.25 ou ultérieure, qui est requis pour l'accès kubectl à l'aide de la passerelle de connexion.

Se connecter à votre cluster avec des groupes Google

Pour autoriser des groupes Google à se connecter à GKE sur Azure, procédez comme suit :

  1. Activez les API connectgateway et cloudresourcemanager à l'aide de la commande suivante :

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

    Remplacez PROJECT_ID par l'ID de votre projet Azure.

  2. Créez un groupe appelé gke-security-groups dans le domaine de votre projet s'il n'existe pas.

  3. Créez un ou plusieurs sous-groupes dans le groupe gke-security-groups pour l'authentification par cluster.

  4. Ajoutez des utilisateurs aux sous-groupes que vous venez de créer.

  5. Pour l'accès kubectl à l'aide de la passerelle Connect, vous devez attribuer des rôles IAM aux groupes Google :

    1. Sélectionnez un rôle approprié pour un groupe. Ce rôle détermine la façon dont le groupe interagit avec la passerelle Connect. Le rôle peut être l'un des suivants : roles/gkehub.gatewayAdmin, roles/gkehub.gatewayEditor ou roles/gkehub.gatewayReader. Notez que vous n'accordez pas d'autorisations sur le cluster ici. Cette étape sera effectuée plus tard. Ici, vous déterminez simplement comment les utilisateurs du groupe peuvent manipuler la passerelle de connexion.)

    2. Exécutez la commande suivante pour accorder le rôle au groupe :

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=group:GROUP_NAME@DOMAIN \
        --role=GATEWAY_ROLE
      

      Remplacez les éléments suivants :

      • PROJECT_ID : ID de votre projet Google.
      • GROUP_NAME : nom du groupe auquel accorder l'accès
      • DOMAIN : votre domaine Google Workspace
      • GATEWAY_ROLE : rôle sélectionné. Par exemple, roles/gkehub.gatewayAdmin, roles/gkehub.gatewayEditor ou roles/gkehub.gatewayReader.
  6. Dans un fichier manifeste Kubernetes, définissez les autorisations de chaque groupe Google sur le cluster. Par exemple, le fichier manifeste suivant accorde au groupe Google cluster-admin-team le rôle d'administrateur de cluster :

    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. Enregistrez le fichier manifeste dans un fichier et appliquez-le au cluster en exécutant la commande la commande suivante :

    kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAME
    

    Remplacez les éléments suivants :

    • KUBECONFIG_PATH : chemin d'accès à votre fichier kubeconfig.
    • FILENAME : nom du fichier manifeste que vous avez créé.

Une fois ces étapes effectuées, les utilisateurs appartenant à certains groupes Google peuvent se connecter au cluster. Dans cet exemple, les utilisateurs appartenant au groupe Google cluster-admin-team peuvent se connecter au cluster en tant qu'administrateurs.