Aller au contenu principal
Version : 2.6.7

Gérer les permissions utilisateur

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Ce document explique comment gérer les permissions utilisateur dans Chaos Mesh, y compris la création de comptes avec différents rôles, l'attribution de permissions aux comptes, la gestion des jetons, ainsi que l'activation ou la désactivation de l'authentification par permissions.

Chaos Mesh utilise l'autorisation RBAC pour gérer les permissions utilisateur. Pour créer, visualiser et gérer des expériences de chaos, les utilisateurs doivent disposer des permissions appropriées dans les apiGroups de chaos-mesh.org pour accéder aux ressources des expériences de chaos.

attention

Chaos Mesh permet de désactiver l'authentification par permissions. Consultez Activer ou désactiver l'authentification par permissions pour savoir comment procéder.

Nous déconseillons de désactiver l'authentification par permissions dans les environnements de production.

Créer des comptes utilisateur et attribuer des permissions

Utilisez le Chaos Dashboard pour créer des comptes et attribuer des permissions. Lorsque vous accédez au tableau de bord, une fenêtre de connexion s'affiche. Cliquez sur le lien Click here to generate :

Connexion par jeton au tableau de bord 1
Connexion par jeton au tableau de bord 1

Ce lien ouvre le Générateur de jetons, comme illustré ci-dessous :

Générateur de jetons du tableau de bord
Générateur de jetons du tableau de bord

Voici les étapes pour créer des comptes et attribuer des permissions :

Choisir la portée des permissions

Pour attribuer des permissions sur toutes les expériences de chaos du cluster, cochez Cluster scoped. Si vous sélectionnez un espace de noms dans le menu déroulant Namespace, le compte n'aura des permissions que dans cet espace.

En résumé, deux options sont disponibles :

  • Cluster scoped : permissions sur toutes les expériences de chaos du cluster.

  • Namespace scoped : permissions sur toutes les expériences de chaos dans l'espace de noms spécifié.

Sélectionner le rôle des utilisateurs

Chaos Mesh propose actuellement ces rôles utilisateur :

  • Manager : dispose de toutes les permissions pour créer, visualiser, mettre à jour et supprimer des expériences de chaos.

  • Viewer : dispose uniquement du droit de visualisation des expériences de chaos.

Générer les permissions

Une fois la portée et le rôle définis, le tableau de bord affiche la configuration RBAC correspondante dans le Générateur de jetons. Par exemple, pour un manager dans l'espace de noms default :

kind: ServiceAccount
apiVersion: v1
metadata:
namespace: default
name: account-default-manager-vfmot

---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: default
name: role-default-manager-vfmot
rules:
- apiGroups: ['']
resources: ['pods', 'namespaces']
verbs: ['get', 'watch', 'list']
- apiGroups:
- chaos-mesh.org
resources: ['*']
verbs: ['get', 'list', 'watch', 'create', 'delete', 'patch', 'update']

---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: bind-default-manager-vfmot
namespace: default
subjects:
- kind: ServiceAccount
name: account-default-manager-vfmot
namespace: default
roleRef:
kind: Role
name: role-default-manager-vfmot
apiGroup: rbac.authorization.k8s.io

Cliquez sur COPY en haut à droite de la section de configuration pour copier la configuration RBAC, puis enregistrez le contenu localement dans rbac.yaml.

Créer le compte et attribuer les permissions

Exécutez cette commande dans votre terminal :

kubectl apply -f rbac.yaml
note

Vérifiez que l'utilisateur local exécutant kubectl dispose des permissions nécessaires sur le cluster pour créer des comptes, attribuer des permissions à d'autres utilisateurs et générer des jetons.

Obtenir le jeton

info

Les versions de Kubernetes antérieures à v1.22 créaient automatiquement des identifiants de longue durée pour l'API Kubernetes. Dans les versions récentes, vous devez créer manuellement un Secret de jeton de compte de service.

Pour plus de détails, consultez Créer manuellement un jeton d'API pour un ServiceAccount.

Copiez la commande affichée dans la troisième étape du Générateur de jetons et exécutez-la dans votre terminal. Exemple de commande :

kubectl describe -n default secrets account-default-manager-vfmot

Le résultat affiché est le suivant :

Name:         account-default-manager-vfmot-token-n4tg8
Namespace: default
Labels: <none>
Annotations: kubernetes.io/service-account.name: account-default-manager-vfmot
kubernetes.io/service-account.uid: b71b3bf4-cd5e-4efb-8bf6-ff9a55fd7e07

Type: kubernetes.io/service-account-token

Data
====
ca.crt: 1111 bytes
namespace: 7 bytes
token: eyJhbG...

Copiez le jeton en bas de l'output et utilisez-le pour vous connecter à l'étape suivante.

Se connecter au Chaos Dashboard avec le compte créé

Fermez le générateur de jetons. Dans le champ Token, saisissez le jeton obtenu à l'étape précédente, et dans le champ Name, entrez un nom significatif pour ce jeton. Il est recommandé d'utiliser une combinaison de la portée des permissions et du rôle utilisateur, par exemple default-manager. Une fois ces deux champs complétés, cliquez sur Submit pour vous connecter :

Tableau de bord - Connexion par jeton (étape 2)
Tableau de bord - Connexion par jeton (étape 2)

info

Si vous n'avez pas déployé le Chaos Dashboard, vous pouvez également générer vous-même les configurations RBAC, puis utiliser kubectl pour créer des comptes utilisateurs et lier les permissions.

Se déconnecter du Chaos Dashboard

Pour remplacer le jeton actuel par un autre, cliquez sur Settings dans la barre latérale gauche du tableau de bord :

Tableau de bord - Déconnexion par jeton
Tableau de bord - Déconnexion par jeton

En haut de la page, vous trouverez le bouton Logout. Cliquez dessus pour déconnecter le compte actuel.

FAQ

Activer ou désactiver l'authentification par permissions

Lors de l'installation de Chaos Mesh via Helm, l'authentification par permissions est activée par défaut. Pour les environnements de production et autres scénarios à haute sécurité, il est recommandé de conserver cette authentification activée. Si vous testez simplement Chaos Mesh et souhaitez créer rapidement des expériences de chaos, vous pouvez désactiver l'authentification en ajoutant --set dashboard.securityMode=false à votre commande Helm. La commande se présente ainsi :

Pour réactiver l'authentification par permissions, redéfinissez --set dashboard.securityMode=true dans votre commande Helm.