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 :
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
.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 :
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 Azure.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 par cluster.Ajoutez des utilisateurs aux sous-groupes que vous venez de créer.
Pour l'accès
kubectl
à l'aide de la passerelle Connect, vous devez attribuer des rôles IAM aux groupes Google :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 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.)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è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 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
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. Dans cet exemple, les utilisateurs appartenant au groupe Google cluster-admin-team
peuvent se connecter au cluster en tant qu'administrateurs.