Ce document explique comment accorder l'accès et gérer les autorisations dans les clusters standards de Google Distributed Cloud (GDC) sous air gap. Les clusters standards sont des environnements Kubernetes configurables, limités à un projet et dotés de services par défaut minimaux. Ils offrent une plus grande flexibilité et un meilleur contrôle pour les charges de travail personnalisées.
Pour en savoir plus sur la gestion du cycle de vie des clusters standards, par exemple sur la création ou la suppression de clusters, consultez Créer un cluster standard et Supprimer un cluster standard.
Pour en savoir plus sur les clusters standards et les autres types de clusters, consultez Configurations de cluster Kubernetes.
Ce document est destiné aux audiences du groupe d'opérateurs d'applications, telles que les opérations de développement ou les data scientists, qui doivent gérer et sécuriser les ressources dans les projets GDC. Pour en savoir plus, consultez la documentation sur les audiences pour GDC sous air gap.
Avant de commencer
Avant de gérer l'accès aux clusters standards, vous devez disposer des autorisations nécessaires et préparer votre environnement.
Demander des rôles IAM
Pour obtenir les autorisations dont vous avez besoin pour gérer l'accès aux clusters standards, demandez les rôles suivants en fonction des tâches que vous devez effectuer :
- Pour accorder et gérer les liaisons de stratégie IAM au niveau du projet pour les clusters standards, contactez votre administrateur IAM de l'organisation pour demander le rôle Administrateur IAM du projet (
project-iam-admin). - Pour gérer le contrôle des accès basé sur les rôles (RBAC) Kubernetes dans le cluster et déployer des charges de travail dans un cluster standard, demandez à votre administrateur IAM du projet de vous accorder le rôle Administrateur de cluster (
cluster-admin).
Préparer votre environnement
Téléchargez et installez la CLI gdcloud, si ce n'est pas déjà fait.
Accorder des autorisations pour l'accès aux clusters standards
Un utilisateur disposant du rôle Administrateur IAM du projet (project-iam-admin) peut accorder à d'autres utilisateurs les rôles nécessaires pour gérer l'accès dans les clusters standards :
Connectez-vous avec votre fournisseur d'identité configuré à l'aide de la CLI gdcloud.
Accordez à l'utilisateur le rôle Administrateur de cluster (
cluster-admin) pour le projet. Cette commande lie l'utilisateur au rôle, ce qui lui permet de gérer l'accès dans le cluster standard.Pour en savoir plus sur les rôles, consultez Descriptions des rôles prédéfinis et Définitions des rôles pour les projets.
gdcloud projects add-iam-policy-binding PROJECT \ --role=ROLE \ --member=user:USER_ACCOUNTRemplacez les variables suivantes :
PROJECT: nom du projet dans lequel existe le cluster standard.ROLE: nom du rôle que vous souhaitez accorder (par exemple,cluster-admin).USER_ACCOUNT: compte utilisateur pour lequel vous souhaitez accorder le rôle, y compris le préfixe du fournisseur d'identité associé à votre organisation (par exemple,idpprefix-user@example.com). Le préfixe spécifique utilisé dépend de la configuration IdP de votre organisation. Pour en savoir plus, consultez Se connecter à un fournisseur d'identité.
L'exemple suivant accorde le rôle Administrateur de cluster à
user@example.com, en supposant que le préfixe du fournisseur d'identité estfop-pour le projetfoo:gdcloud projects add-iam-policy-binding foo \ --role=cluster-admin \ --member=user:fop-user@example.com
Gérer l'accès dans le cluster standard
Un utilisateur disposant du rôle Administrateur de cluster (cluster-admin) peut accorder l'accès dans un cluster standard :
Connectez-vous avec votre fournisseur d'identité configuré à l'aide de la CLI gdcloud.
Générez un fichier kubeconfig pour un cluster standard à l'aide de l'option
--standard. Cette option est requise pour cibler un cluster standard.export KUBECONFIG=KUBECONFIG_FILE gdcloud clusters get-credentials STANDARD_CLUSTER_NAME --standard --project=PROJECTRemplacez les variables suivantes :
KUBECONFIG_FILE: chemin d'accès au fichier kubeconfig, tel questandard-cluster-kubeconfig.yaml.STANDARD_CLUSTER_NAME: nom du cluster standard.PROJECT: nom du projet dans lequel existe le cluster standard.
Définissez les autorisations dans le cluster standard à l'aide de
kubectl.Les utilisateurs disposant des autorisations
cluster-adminpeuvent créer des objetsRoleetClusterRolepersonnalisés. Pour accorder ces autorisations, ils peuvent créer les objetsRolebindingetClusterRoleBindingcorrespondants afin de lier les rôles à des sujets spécifiques, tels que des utilisateurs ou des comptes de service.L'exemple suivant utilise
kubectlpour créer un exemple deRolenommétest-roledans l'espace de nomstest:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: test-role namespace: test rules: - apiGroups: - "" resources: - configmaps verbs: - get EOFL'exemple suivant crée le
RoleBindingpour leRolenommétest-roledans l'espace de nomstest. Il accorde des autorisations à l'utilisateur alice@example.com avec le préfixe du fournisseur d'identitéfop-, ainsi qu'à unServiceAccountnommémy-service-accountdans l'espace de nomsdefault:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: test-role-binding namespace: test subjects: - kind: User name: fop-alice@example.com apiGroup: rbac.authorization.k8s.io - kind: ServiceAccount name: my-service-account namespace: default roleRef: kind: Role name: test-role apiGroup: rbac.authorization.k8s.io EOF