Ce document décrit trois méthodes de connexion à votre cluster associé à EKS :
- La méthode 1 se connecte à votre cluster en tant que Utilisateur Google.
- La méthode 2 se connecte à votre cluster en tant que membre d'un Groupe Google.
- La méthode 3 se connecte à votre cluster en tant qu'utilisateur ou groupe non Google.
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 EKS.
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 :
Assurez-vous de disposer de la dernière version de Google Cloud CLI : Pour plus d'informations sur la mise à jour de gcloud CLI, consultez
gcloud components update
.Assurez-vous d'utiliser les versions du cluster associé 1.27.0-gke.5, 1.28.0-gke.2 ou version ultérieure.
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) :
- Pour les utilisateurs Azure, consultez Configurer la fédération des identités des employés avec Azure AD.
- Pour les utilisateurs Okta, consultez Configurer la fédération des identités des employés avec Okta.
- Pour les utilisateurs d'autres plates-formes, consultez Configurer la fédération des identités des employés.
Facultatif : Attribuez à vos utilisateurs ou groupes externes les de gestion de l'authentification et des accès (IAM). 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 CloudWORKFORCE_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 quealex@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 CloudWORKFORCE_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.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 :
Activez les API
connectgateway
etcloudresourcemanager
à 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.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 commandegcloud 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.
Obtenez un fichier de configuration Kubernetes
kubeconfig
avec les éléments suivants :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 :
Activez les API
connectgateway
etcloudresourcemanager
à 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.Créez un groupe appelé
gke-security-groups
dans le domaine de votre projet s'il n'existe pas.Créez un ou plusieurs sous-groupes dans le groupe
gke-security-groups
pour l'authentification du cluster.Ajoutez des utilisateurs aux sous-groupes nouvellement créés.
Attribuez des rôles IAM à Google Groupes :
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
ouroles/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.)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 accorder l'accèsDOMAIN
: votre domaine Google WorkspaceGATEWAY_ROLE
: rôle sélectionné. Par exemple,roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
ouroles/gkehub.gatewayReader
.
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
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 fichierkubeconfig
.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 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 EKS, suivez les étapes décrites dans Associez votre cluster EKS. Pour mettre à jour un cluster EKS, suivez les étapes décrites dans Mettre à jour votre cluster EKS.
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 clusterWORKFORCE_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 quealex@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.