Présentation de Connect

Connect vous permet de connecter n'importe lequel de vos clusters Kubernetes à Google Cloud. Vous pouvez ainsi accéder au cluster et aux fonctionnalités de gestion de charge de travail, y compris à une interface utilisateur unifiée, Cloud Console, pour interagir avec votre cluster.

Si votre réseau est configuré pour autoriser les requêtes sortantes, vous pouvez configurer l'agent Connect pour qu'il traverse les NAT, les proxys de sortie et les pare-feu, afin d'établir une connexion chiffrée et durable entre le serveur d'API Kubernetes de votre cluster et votre projet Google Cloud. Une fois la connexion activée, vous pouvez utiliser vos propres identifiants pour vous reconnecter à vos clusters et accéder aux détails de leurs ressources Kubernetes. Cela réplique efficacement l'expérience utilisateur qui n'est autrement disponible que pour les clusters GKE.

Une fois la connexion établie, le logiciel agent Connect peut échanger les identifiants du compte, les détails techniques et les métadonnées relatives à l'infrastructure connectée et aux charges de travail nécessaires pour les gérer avec Google Cloud, y compris les détails des ressources, des applications et du matériel.

Ces données de service de cluster sont associées à votre projet et/ou à votre compte Google Cloud. Google utilise ces données pour maintenir un plan de contrôle entre votre cluster et Google Cloud, afin de vous fournir tous les services et fonctionnalités Google Cloud que vous demandez. Cela comprend l'assistance, la facturation, les mises à jour ainsi que l'évaluation et l'amélioration de la fiabilité, de la qualité, de la capacité et des fonctionnalités des services Connect et Google Cloud disponibles via Connect.

Vous gardez le contrôle sur les données envoyées via Connect : votre serveur d'API Kubernetes effectue l'authentification, l'autorisation et la journalisation d'audit de toutes les requêtes via Connect. Google et les utilisateurs peuvent accéder aux données ou aux API via Connect après y avoir été autorisés par l'administrateur du cluster (par exemple, via RBAC). L'administrateur du cluster peut révoquer cette autorisation.

Agent Connect

Connect utilise un déploiement appelé agent Connect pour établir une connexion entre vos clusters et votre projet Google Cloud, ainsi que pour traiter les requêtes Kubernetes.

Rôles IAM de Connect

La gestion de l'authentification et des accès (IAM) permet aux utilisateurs, aux groupes et aux comptes de service d'accéder aux API Google Cloud et d'effectuer des tâches dans les produits Google Cloud.

Pour lancer l'agent Connect et interagir avec votre cluster à l'aide de Google Cloud Console ou du SDK Cloud, vous devez fournir des rôles IAM spécifiques. Ces rôles n'autorisent pas l'accès direct aux clusters connectés.

Certains de ces rôles vous permettent d'accéder à des informations sur les clusters, y compris :

  • Noms de cluster
  • Clés publiques
  • Adresses IP
  • Fournisseurs d'identité
  • Versions Kubernetes
  • Taille du cluster
  • Autres métadonnées de cluster

Connect utilise les rôles IAM suivants :

Nom de rôle Titre du rôle Description Autorisations
roles/gkehub.admin Administrateur Hub Fournit un accès complet à Hub et aux ressources associées.

Autorisations pour Google Cloud

  • resourcemanager.projects.get
  • resourcemanager.projects.list

Autorisations pour Hub

  • gkehub.memberships.list
  • gkehub.memberships.get
  • gkehub.memberships.create
  • gkehub.memberships.update
  • gkehub.memberships.delete
  • gkehub.memberships.generateConnectManifest
  • gkehub.memberships.getIamPolicy
  • gkehub.memberships.setIamPolicy
  • gkehub.locations.list
  • gkehub.locations.get
  • gkehub.operations.list
  • gkehub.operations.get
  • gkehub.operations.cancel
  • gkehub.features.list
  • gkehub.features.get
  • gkehub.features.create
  • gkehub.features.update
  • gkehub.features.delete
  • gkehub.features.getIamPolicy
  • gkehub.features.setIamPolicy
roles/gkehub.viewer Lecteur Hub Fournit un accès en lecture seule à Hub et aux ressources associées.

Autorisations pour Google Cloud

  • resourcemanager.projects.get
  • resourcemanager.projects.list

Autorisations pour Hub

  • gkehub.memberships.list
  • gkehub.memberships.get
  • gkehub.memberships.generateConnectManifest
  • gkehub.memberships.getIamPolicy
  • gkehub.locations.list
  • gkehub.locations.get
  • gkehub.operations.list
  • gkehub.operations.get
  • gkehub.features.list
  • gkehub.features.get
  • gkehub.features.getIamPolicy
roles/gkehub.connect Agent GKE Connect Permet d'établir de nouvelles connexions entre des clusters externes et Google. gkehub.endpoints.connect

Se connecter à l'aide de Connect

Authentification

Vous pouvez utiliser Google Cloud Console pour vous connecter aux clusters enregistrés de trois manières :

  1. Utiliser l'authentification de base, à l'aide d'un nom d'utilisateur et d'un fichier de mot de passe statique. Pour en savoir plus, consultez la page Fichier de mot de passe statique.
  2. Utiliser un jeton de support. De nombreux types de jetons de support sont acceptés, comme spécifié dans l'authentification Kubernetes. La méthode la plus simple consiste à créer un compte de service Kubernetes (KSA) dans le cluster et à utiliser son jeton de support pour se connecter.
  3. Utiliser un fournisseur OpenID Connect (OIDC)

Autorisation

Les vérifications d'autorisation sont effectuées par le serveur API du cluster sur l'identité que vous utilisez lorsque vous vous authentifiez via Google Cloud Console.

Tous les comptes se connectant à un cluster doivent au moins disposer des rôles Kubernetes RBAC suivants dans le cluster :

Ces rôles fournissent un accès en lecture seule à un cluster et des informations sur leurs nœuds. Les rôles ne fournissent pas un accès à toutes les ressources. Il est donc possible que certaines fonctionnalités de Google Cloud Console ne soient pas disponibles. Par exemple, ces rôles n'autorisent pas l'accès aux secrets Kubernetes ou aux journaux de pod.

Des comptes peuvent disposer d'autres autorisations RBAC, comme via edit ou cluster-admin, pour bénéficier de plus de fonctionnalités dans le cluster. Pour plus d'informations, consultez la documentation RBAC.

Audits

Les accès via Google Cloud Console sont enregistrés dans le journal d'audit du serveur d'API du cluster.