Contactez-nous

Authentification et autorisation (RBAC)

Apprenez à sécuriser votre cluster Kubernetes en maîtrisant l'authentification des utilisateurs et ServiceAccounts, et l'autorisation fine grâce au RBAC.

Qui peut faire quoi ? La question fondamentale de la sécurité Kubernetes

Bienvenue dans le chapitre 16, le premier pilier de notre exploration de la sécurité dans Kubernetes. Après avoir introduit l'importance cruciale de sécuriser nos clusters, nous nous attaquons maintenant aux questions fondamentales : Qui a le droit d'interagir avec le cluster ? Et une fois authentifié, quelles actions cette entité (qu'il s'agisse d'un humain ou d'un processus) est-elle autorisée à effectuer ? Ce sont les domaines de l'authentification et de l'autorisation.

Chaque requête adressée à l'API Server Kubernetes, le point d'entrée central du control plane, doit passer par ces deux étapes de vérification. L'authentification établit l'identité de l'émetteur de la requête, tandis que l'autorisation détermine si cette identité spécifique a la permission d'exécuter l'action demandée sur la ressource ciblée. Sans un contrôle d'accès robuste, votre cluster est exposé à des risques majeurs.

Une gestion laxiste de l'authentification et de l'autorisation peut entraîner des modifications non désirées, des accès illégitimes à des données sensibles, des interruptions de service ou la compromission complète du cluster. Ce chapitre vous fournira les bases pour établir des barrières solides et contrôler précisément les accès.

Au coeur de ce chapitre : Identifier et Permettre

Nous commencerons par démystifier l'authentification dans Kubernetes. Vous découvrirez les deux principaux types d'identités reconnues : les Utilisateurs (généralement des humains, gérés en externe) et les ServiceAccounts (destinés aux processus s'exécutant dans les Pods). Nous explorerons les différentes stratégies d'authentification possibles (certificats, tokens, etc.).

Ensuite, nous plongerons au coeur de l'autorisation avec le mécanisme standard et omniprésent de Kubernetes : le RBAC (Role-Based Access Control). Nous verrons comment RBAC permet de définir des permissions granulaires en se basant sur des rôles attribués aux identités authentifiées.

Pour maîtriser RBAC, nous détaillerons ses objets fondamentaux : les Roles (permissions au sein d'un Namespace) et les ClusterRoles (permissions à l'échelle du cluster), ainsi que les RoleBindings et ClusterRoleBindings qui lient ces rôles aux utilisateurs, groupes ou ServiceAccounts.

Enfin, nous conclurons par des bonnes pratiques essentielles pour gérer efficacement les permissions RBAC, en mettant l'accent sur le principe fondamental de moindre privilège, afin de garantir que chaque identité ne dispose que des accès strictement nécessaires à l'accomplissement de ses tâches.