0Pricing
DevOps Bootcamp · Leçon

Contrôle d’accès basé sur les rôles (RBAC)

Gérez les autorisations des utilisateurs et des comptes de service dans votre cluster à l’aide des rôles RBAC et des liaisons de rôles.

Contrôle d’accès basé sur les rôles (RBAC) est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.

Qu’est-ce que RBAC dans Kubernetes ?

Bienvenue ! Dans cette leçon, nous allons découvrir en détail le contrôle d’accès basé sur les rôles (RBAC), une fonctionnalité de sécurité essentielle de Kubernetes.

RBAC vous aide à gérer qui peut faire quoi au sein de votre cluster. Il joue le rôle d’un agent de sécurité pour vos ressources Kubernetes, en veillant à ce que seuls les utilisateurs et les applications autorisés puissent effectuer certaines actions.

Pourquoi RBAC est essentiel

Sans RBAC, toute personne ayant accès au cluster pourrait potentiellement effectuer n’importe quelle action, ce qui entraînerait des risques de sécurité ou des dégâts accidentels.

  • Sécurité : empêche les accès et les opérations non autorisés.
  • Conformité : aide à respecter les exigences réglementaires en matière de contrôle d’accès.
  • Moindre privilège : garantit que les utilisateurs et les applications ne disposent que des autorisations dont ils ont absolument besoin.

Concepts clés de RBAC

RBAC dans Kubernetes repose sur quelques composants fondamentaux :

  • Sujets : le « qui » (utilisateurs, comptes de service, groupes).
  • Rôles : le « quoi » (un ensemble d’autorisations).
  • RoleBindings : le « comment » (relie un rôle à un sujet).
  • ClusterRoles et ClusterRoleBindings : les versions applicables à l’ensemble du cluster des rôles et des RoleBindings.

Sujets : utilisateurs et comptes de service

Kubernetes doit savoir qui demande l’exécution d’une action. Ces entités sont appelées des sujets :

  • Utilisateurs : généralement des administrateurs ou des développeurs humains. Kubernetes ne gère pas directement les utilisateurs : il s’appuie sur une authentification externe.
  • Comptes de service : objets Kubernetes utilisés par les applications ou les processus exécutés dans les pods. Ils sont essentiels à la communication entre les pods et le serveur d’API.

Définir des autorisations avec des rôles

Un rôle définit un ensemble d’autorisations au sein d’un espace de noms précis. Il indique quelles actions (verbes) peuvent être effectuées sur quelles ressources.

Par exemple, un rôle peut autoriser la récupération et l’énumération des pods dans l’espace de noms « default ».

Exemple de rôle : lecteur de pods

Voici une définition YAML pour un rôle nommé pod-reader. Ce rôle accorde l’autorisation de récupérer, d’énumérer et de surveiller les pods (« watch »).

Remarquez apiGroups: [""], qui fait référence au groupe d’API principal de Kubernetes.

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: pod-reader
  namespace: default
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list", "watch"]

Accorder des autorisations avec des RoleBindings

Un RoleBinding relie un rôle précis à un ou plusieurs sujets (utilisateurs, comptes de service ou groupes) au sein d’un espace de noms précis.

C’est le lien qui signifie : « Cet utilisateur ou cette application peut effectuer les actions autorisées par ce rôle dans cet espace de noms. »

Exemple de RoleBinding : accorder un accès

Ce RoleBinding relie notre rôle pod-reader à un compte de service nommé my-app-sa dans l’espace de noms default. Désormais, my-app-sa peut lire les pods.

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods-binding
  namespace: default
subjects:
- kind: ServiceAccount
  name: my-app-sa # The service account getting permissions
  namespace: default
roleRef:
  kind: Role
  name: pod-reader # The Role being granted
  apiGroup: rbac.authorization.k8s.io

ClusterRoles et ClusterRoleBindings

Parfois, vous avez besoin d’autorisations qui s’appliquent à l’ensemble du cluster, et pas uniquement à un espace de noms. C’est là qu’interviennent les ClusterRoles et les ClusterRoleBindings.

  • ClusterRole : définit les autorisations pour les ressources dont la portée est le cluster (comme les nœuds et les volumes persistants), ou pour des actions effectuées dans tous les espaces de noms (par exemple, « énumérer tous les pods »).
  • ClusterRoleBinding : relie un ClusterRole à des sujets et accorde des autorisations à l’échelle du cluster.

Vérification rapide de RBAC

Un développeur doit déployer de nouvelles applications uniquement dans l’espace de noms dev. Quelles sont les deux ressources RBAC de Kubernetes que vous utiliseriez principalement pour lui accorder cette autorisation précise ?

Récapitulatif : fondamentaux de RBAC

Excellent travail ! Vous avez appris les bases de RBAC dans Kubernetes :

  • RBAC contrôle les personnes et les applications qui peuvent interagir avec les ressources de votre cluster.
  • Les rôles définissent les autorisations au sein d’un espace de noms.
  • Les RoleBindings relient les rôles aux sujets (utilisateurs et comptes de service).
  • Les ClusterRoles et les ClusterRoleBindings gèrent les autorisations à l’échelle du cluster.

Maîtriser RBAC est essentiel pour sécuriser votre environnement Kubernetes !

Questions Fréquemment Posées

La leçon « Contrôle d’accès basé sur les rôles (RBAC) » est-elle gratuite ?

Oui — le texte complet de « Contrôle d’accès basé sur les rôles (RBAC) » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Contrôle d’accès basé sur les rôles (RBAC) » ?

Gérez les autorisations des utilisateurs et des comptes de service dans votre cluster à l’aide des rôles RBAC et des liaisons de rôles. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?

Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Contrôle d’accès basé sur les rôles (RBAC) » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?

Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Contrôle d’accès basé sur les rôles (RBAC)
  2. Politiques réseau pour l’isolation
  3. Normes de sécurité des Pods
  4. Comptes de service et identité des charges de travail
← Retour à DevOps Bootcamp