Présentation de l'authentification

Cette page explique comment GKE sur Azure gère l'authentification auprès de Google Cloud et l'authentification des utilisateurs auprès de vos clusters.

Comment GKE sur Azure se connecte à Azure

L'API GKE Multi-Cloud s'authentifie auprès d'Azure avec un objet AzureClient. Lorsque vous créez un client, Google génère une paire de clés X.509. Vous importez la clé publique dans Azure Active Directory (Azure AD).

Pour en savoir plus, consultez la page Créer un client Azure.

Authentification

Authentification de l'API multicloud GKE

Vous utilisez l'API GKE Multi-Cloud pour créer, mettre à jour et supprimer des clusters et des pools de nœuds. Comme pour les autres API Google Cloud, vous pouvez utiliser cette API avec REST, Google Cloud CLI ou la console Google Cloud.

Pour en savoir plus, consultez la présentation de l'authentification Google Cloud et la documentation de référence de l'API GKE Multi-Cloud.

Authentification de l'API Kubernetes

L'outil de ligne de commande kubectl permet d'effectuer des opérations de cluster telles que le déploiement d'une charge de travail et la configuration d'un équilibreur de charge. L'outil kubectl se connecte à l'API Kubernetes sur le plan de contrôle de votre cluster. Pour appeler cette API, vous devez vous authentifier à l'aide des identifiants autorisés.

Pour obtenir les identifiants, vous pouvez utiliser l'une des méthodes suivantes :

  • Google Identity, qui permet aux utilisateurs de se connecter à l'aide de leur identité Google Cloud Identity. Utilisez cette option si vos utilisateurs ont déjà accès à Google Cloud avec une identité Google.

  • GKE Identity Service, qui permet aux utilisateurs de se connecter à l'aide d'OpenID Connect (OIDC).

GKE Identity Service vous permet d'utiliser des fournisseurs d'identité tels que Okta, ADFS (Active Directory Federation Services) ou tout fournisseur d'identité compatible avec OIDC.

Autorisation

GKE sur Azure propose deux méthodes de contrôle des accès : l'API multicloud GKE et le contrôle des accès basé sur les rôles (RBAC). Cette section décrit les différences entre ces méthodes.

Il est préférable d'adopter une approche multicouche pour protéger vos clusters et vos charges de travail. Vous pouvez appliquer le principe du moindre privilège au niveau d'accès que vous accordez à vos utilisateurs et à vos charges de travail. Vous devrez peut-être faire des compromis pour offrir le bon niveau de flexibilité et de sécurité.

Contrôle des accès à l'API multicloud GKE

L'API GKE Multi-Cloud permet aux administrateurs de cluster de créer, mettre à jour et supprimer des clusters et des pools de nœuds. Vous gérez les autorisations de l'API à l'aide d'Identity and Access Management (IAM). Pour utiliser l'API, les utilisateurs doivent disposer des autorisations appropriées. Pour connaître les autorisations nécessaires pour chaque opération, consultez la page Rôles et autorisations des API. Cloud IAM vous permet de définir des rôles et de les attribuer à des comptes principaux. Un rôle est un ensemble d'autorisations qui, lorsqu'il est attribué à un compte principal, contrôle les accès à une ou plusieurs ressources Google Cloud.

Lorsque vous créez un cluster ou un pool de nœuds dans une organisation, un dossier ou un projet, les utilisateurs disposant des autorisations appropriées dans cette organisation, ce dossier ou ce projet peuvent le modifier. Par exemple, si vous accordez à un utilisateur une autorisation de suppression de cluster au niveau d'un projet Google Cloud, cet utilisateur peut supprimer n'importe quel cluster de ce projet. Pour en savoir plus, consultez les pages Hiérarchie des ressources Google Cloud et Créer des stratégies IAM.

Contrôle des accès avec l'API Kubernetes

L'API Kubernetes vous permet de gérer les objets Kubernetes. Pour gérer le contrôle des accès sur l'API Kubernetes, vous utilisez le contrôle des accès basé sur les rôles (RBAC). Pour en savoir plus, consultez la page Configurer le contrôle des accès basé sur les rôles dans la documentation de GKE.

Accès administrateur

Lorsque vous utilisez la gcloud CLI pour créer un cluster, l'API Multi-Cloud GKE ajoute par défaut votre compte utilisateur en tant qu'administrateur et crée les stratégies RBAC appropriées qui vous accordent un accès administrateur complet au cluster. Pour configurer différents utilisateurs, transmettez l'option --admin-users lorsque vous créez ou mettez à jour un cluster. Lorsque vous utilisez l'option --admin-users, vous devez inclure tous les utilisateurs pouvant administrer le cluster. La CLI gcloud n'inclut pas l'utilisateur qui crée le cluster.

Vous pouvez également ajouter des administrateurs à l'aide de la console Google Cloud. Pour en savoir plus, consultez la page Mettre à jour votre cluster.

Pour afficher la configuration de l'accès de votre cluster, exécutez la commande suivante :

kubectl describe clusterrolebinding gke-multicloud-cluster-admin

En plus des stratégies RBAC permettant d'accéder au serveur d'API Kubernetes, si un administrateur n'est pas propriétaire du projet, vous devez attribuer des rôles IAM spécifiques qui permettent aux administrateurs de s'authentifier à l'aide de leur identité Google. Pour en savoir plus sur la connexion au cluster, consultez la section Se connecter au cluster et s'authentifier.

Étapes suivantes