Présentation de l'agent Connect

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Lorsque vous enregistrez un cluster en dehors de Google Cloud dans votre parc, Google Cloud utilise un déploiement appelé l'agent Connect pour établir une connexion entre le cluster et votre projet Google Cloud, ainsi que pour gérer les requêtes Kubernetes.

Vous pouvez ainsi accéder au cluster et aux fonctionnalités de gestion de charge de travail dans Google Cloud, dont la console Google Cloud, une interface utilisateur unifiée, 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 à 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.

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.

Vous devez fournir des rôles IAM spécifiques pour lancer l'agent Connect et interagir avec votre cluster à l'aide de Google Cloud Console ou de Google Cloud CLI. 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.editor Éditeur de ressources Hub Fournit l'accès en modification aux ressources de GKE Hub.

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.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.fleet.*
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

Google Cloud propose plusieurs options de connexion aux clusters enregistrés depuis Google Cloud Console. Les options disponibles dépendent de la configuration de l'authentification par votre administrateur de cluster :

  1. Si le cluster a été configuré pour utiliser la passerelle Connect, vous pouvez vous connecter à l'aide de votre identité Google Cloud, comme vous le faites avec les clusters GKE sur Google Cloud.
  2. Si le cluster a été configuré pour utiliser Anthos Identity Service avec un fournisseur OpenID Connect (OIDC) tel qu'ADFS ou Okta, ou un fournisseur LDAP, vous pouvez vous connecter avec l'identité de ce fournisseur.
  3. Vous pouvez vous connecter à l'aide d'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.

Pour en savoir plus sur l'utilisation de ces options, consultez la page Se connecter aux clusters depuis la console Google Cloud.

Autorisation

Les vérifications d'autorisation sont effectuées par le serveur d'API du cluster par rapport à l'identité que vous utilisez pour vous authentifier 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. Étant donné que les rôles ne permettent pas d'accéder à toutes les ressources, certaines fonctionnalités de Google Cloud Console peuvent ne pas être disponibles. Par exemple, ces rôles n'autorisent pas l'accès aux secrets Kubernetes ni aux journaux des pods.

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 la console Google Cloud sont enregistrés dans le journal d'audit du serveur d'API du cluster.

Utilisation et exigences des ressources

En règle générale, l'agent Connect installé lors de l'inscription utilise 500 m de processeur et 200 Mi de mémoire. Cependant, cette utilisation peut varier en fonction du nombre de requêtes adressées à l'agent par seconde, et de la taille de ces requêtes. Celles-ci peuvent être affectées par plusieurs facteurs, parmi lesquels la taille du cluster, le nombre d'utilisateurs accédant au cluster via la console Google Cloud (plus le nombre d'utilisateurs et/ou de charges de travail est important, plus le nombre de requêtes est élevé), et le nombre de fonctionnalités compatibles avec le parc sur le cluster.