Se connecter à votre cluster AKS

Ce document décrit trois méthodes de connexion à votre cluster associé à AKS :

Ces trois méthodes de connexion à un cluster enregistré sont activées par un service Google appelé passerelle Connect. Pour en savoir plus sur la passerelle Connect, voir Se connecter aux clusters enregistrés avec la passerelle Connect.

Avant de commencer

Avant d'exécuter l'une des méthodes, assurez-vous d'avoir associé votre cluster. Pour en savoir plus, consultez Associer votre cluster AKS.

Avant de passer à la méthode 2 ou 3, vous devez satisfaire à des prérequis supplémentaires. Pour en savoir plus, consultez les sections suivantes.

Avant de commencer la méthode 2

Pour utiliser la méthode 2 de connexion à votre cluster associé, assurez-vous de disposer des prérequis suivants :

  • Dernière version de Google Cloud CLI. Pour en savoir plus sur la mise à jour de gcloud CLI, consultez gcloud components update.
  • Versions de cluster associé : 1.26.0-gke.8, 1.27.0-gke.5, 1.28.0-gke.2 ou version ultérieure.

Avant de commencer la méthode 3

Pour utiliser la méthode 3 de connexion au cluster associé, assurez-vous que disposer des prérequis suivante :

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

  2. Assurez-vous d'utiliser les versions du cluster associé 1.27.0-gke.5, 1.28.0-gke.2 ou version ultérieure.

  3. Configurer la fédération des identités des employés (afin que les utilisateurs ou les groupes externes puissent utiliser l'API des clusters associés à GKE) :

  4. Facultatif : Attribuez aux utilisateurs ou aux groupes externes les rôles Identity and Access Management (IAM) appropriés. Cette étape n'est nécessaire que si vous souhaitez permettre à des utilisateurs ou à des groupes de créer ou de mettre à jour des clusters ; Elle n'est pas nécessaire pour accéder simplement à un cluster.

    Notez que les rôles sont des ensembles d'autorisations. Lorsque vous attribuez un rôle à une entité (utilisateur, groupe ou compte de service), vous donnez à cette entité toutes les autorisations contenues dans ce rôle.

    Utilisateurs

    Pour les utilisateurs individuels, vous devez attribuer le rôle gkemulticloud.admin :

    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"
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet Google Cloud
    • WORKFORCE_POOL_ID : ID qui identifie de façon unique votre pool d'identités des employés dans Google Cloud. Lorsque vous mettez en forme l'ID, assurez-vous de suivre les consignes recommandées dans la documentation IAM sous Paramètres de requête.
    • SUBJECT_VALUE : ID qui identifie de manière unique un utilisateur externe. Par exemple, l'ID peut être une adresse e-mail telle que alex@cymbalgroup.com.

    Groupes

    Pour les groupes, vous devez attribuer le rôle gkemulticloud.admin :

    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"
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet Google Cloud
    • WORKFORCE_POOL_ID : ID qui identifie de façon unique votre pool d'identités des employés dans Google Cloud. Lorsque vous mettez en forme l'ID, assurez-vous de suivre les consignes recommandées dans la documentation IAM sous Paramètres de requête.
    • GROUP_ID : ID qui identifie de manière unique un groupe externe.

    Pour en savoir plus sur les rôles et les autorisations d'API requis pour les clusters associés à GKE, consultez Rôles et autorisations d'API.

Méthode 1 : Se connecter au cluster associé en tant qu'utilisateur Google

Pour vous connecter à un cluster associé en tant qu'utilisateur Google, 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 Google Cloud.

  2. Configurez et appliquez des règles RBAC automatiquement ou manuellement :

    • Méthode automatique : si, lors de l'association du cluster, vous avez spécifié Utilisateurs Google dans le champ --admin-users de la commande gcloud container attached clusters register, ces utilisateurs ont reçu automatiquement des droits d'administrateur sur le cluster. Vous pouvez donc ignorer cette étape.

    • Méthode manuelle : configurez manuellement des règles RBAC pour des comptes Google en créant un fichier manifeste Kubernetes YAML. Pour en savoir plus, consultez Utiliser l'autorisation RBAC.

  3. Obtenez un fichier de configuration kubeconfig Kubernetes à l'aide de la commande suivante :

    gcloud container fleet memberships get-credentials CLUSTER_NAME
    

    Remplacez CLUSTER_NAME par le nom du cluster dont vous souhaitez obtenir les identifiants de connexion.

Une fois ces étapes effectuées, vous pouvez vous connecter au cluster associé en tant qu'utilisateur Google.

Méthode 2 : Se connecter au cluster associé à l'aide de groupes Google

Cette méthode vous permet de vous connecter à un cluster associé en tant que membre d'un groupe Google. En d'autres termes, vous accordez à un groupe Google l'accès à un cluster et tous les utilisateurs appartenant à ce groupe Google ont accès au cluster.

L'utilisation de Google Groupes pour accorder l'accès au cluster est plus efficace que la création 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. La méthode 1, décrite dans ce document, vous demanderait de créer des règles RBAC dans le fichier manifeste Kubernetes pour 225 utilisateurs. La méthode 2, cependant, vous fait gagner du temps, car vous n'avez qu'à créer des règles RBAC pour trois groupes Google.

Pour autoriser des groupes Google à se connecter à un cluster associé, 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 Google Cloud.

  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 du cluster.

  4. Ajoutez des utilisateurs aux sous-groupes nouvellement créés.

  5. Attribuez des rôles IAM à Google Groupes :

    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 ici des autorisations pour le cluster associé. Cette étape intervient 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 attribuer 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 vous souhaitez 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 le type d'autorisation pour 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 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 cette procédure effectuée, les utilisateurs appartenant à certains groupes Google peuvent se connecter au cluster associé. Dans l'exemple donné, les utilisateurs appartenant au groupe Google cluster-admin-team peuvent se connecter au cluster en tant qu'administrateurs.

Méthode 3 : accorder l'accès aux identités externes lors de l'association ou de la mise à jour d'un cluster

La méthode 3 accorde l'accès aux identités externes lorsque vous associez ou mettez à jour un cluster.

Pour associer un cluster AKS, suivez les étapes décrites dans Associer votre cluster AKS. Pour mettre à jour un cluster AKS, suivez la procédure décrite dans la section Mettre à jour votre cluster AKS.

Lorsque vous exécutez la commande gcloud CLI pour enregistrer ou mettre à jour un cluster, spécifiez les paramètres admin-users et/ou admin-groups comme suit :

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

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom du cluster
  • WORKFORCE_POOL_ID : ID qui identifie de façon unique votre pool d'identités des employés dans Google Cloud. Lorsque vous mettez en forme l'ID, assurez-vous de suivre les instructions recommandées dans la documentation IAM sous Paramètres de requête.
  • SUBJECT_VALUE : ID qui identifie de manière unique un utilisateur externe. Par exemple, l'ID peut être une adresse e-mail telle que alex@cymbalgroup.com.
  • GROUP_ID : ID qui identifie de manière unique un groupe externe.

Étapes suivantes

Pour gérer le cluster à partir de la console Google Cloud avec Cloud Identity, consultez Se connecter à l'aide de Google Cloud Identity.