Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

RoleBinding Kubernetes

cloud

Définition

Un RoleBinding dans Kubernetes est une ressource qui lie (bind) un Role ou un ClusterRole à un ou plusieurs sujets (utilisateurs, groupes, ou ServiceAccounts) dans un namespace spécifique. C'est le mécanisme par lequel les permissions définies dans un Role ou ClusterRole sont accordées à une identité Kubernetes. Sans RoleBinding (ou ClusterRoleBinding), un Role n'a aucun effet : les permissions ne sont jamais accordées automatiquement. Il existe deux types de binding. Le RoleBinding est namespacé : il lie des permissions (d'un Role ou ClusterRole) à des sujets dans un namespace spécifique. Un ClusterRoleBinding lie des permissions cluster-wide (d'un ClusterRole uniquement) à des sujets sans restriction de namespace. Un RoleBinding peut référencer un ClusterRole mais restreint son application au namespace du RoleBinding. Cette combinaison est utile pour définir des permissions communes dans un ClusterRole réutilisable (ex: un ClusterRole "dev-permissions" avec les permissions standard d'un développeur) et les appliquer dans des namespaces spécifiques via des RoleBindings, sans accorder ces permissions à l'échelle du cluster. Les risques de sécurité liés aux RoleBindings incluent : les ClusterRoleBindings vers cluster-admin (le pattern de persistance le plus commun dans les attaques Kubernetes - l'attaquant crée un ClusterRoleBinding liant son compte compromis à cluster-admin), les RoleBindings accordant des permissions excessives aux ServiceAccounts applicatifs, et la prolifération de RoleBindings obsolètes (liés à des comptes supprimés ou des applications désinstallées). L'audit des RoleBindings est une activité de sécurité régulière : kubectl get rolebindings,clusterrolebindings --all-namespaces -o wide permet d'obtenir une vue globale de toutes les liaisons de permissions. Des outils comme rbac-lookup, kubectl-who-can, et rakkess simplifient l'audit en permettant des requêtes inversées : "qui peut créer des pods dans le namespace production ?".

Audit des ClusterRoleBindings sensibles

Identifiez les ClusterRoleBindings vers cluster-admin : kubectl get clusterrolebindings -o json | jq '.items[] | select(.roleRef.name=="cluster-admin") | .metadata.name + ": " + (.subjects[].name // "N/A")'. Seuls les composants système nécessaires (kube-system components) et les administrateurs humains clairement identifiés devraient apparaître. Toute ServiceAccount applicative ou compte utilisateur non reconnu dans cette liste est un indicateur de compromission potentielle à investiguer immédiatement.

Pattern de moindre privilège avec RoleBindings

Implémentez le moindre privilège via des RoleBindings namespace-scoped plutôt que cluster-wide : créez un ClusterRole dev-read avec les permissions de lecture sur pods, logs, services. Créez un RoleBinding dans le namespace team-a liant dev-read aux développeurs de l'équipe A. Créez un autre RoleBinding dans team-b pour les développeurs de l'équipe B. Chaque développeur n'accède qu'à son namespace, sans visibilité sur les namespaces des autres équipes ni sur kube-system.

Détection de création de RoleBindings via Falco

Configurez Falco pour alerter sur la création de ClusterRoleBindings vers des rôles privilegiés : règle Falco qui génère une alerte CRITICAL si un ClusterRoleBinding est créé vers cluster-admin ou des rôles avec des permissions sur Secrets cluster-wide. Cette règle fait partie du ruleset Falco standard (kubernetes_audit) via le plugin d'audit K8s. Intégrez ces alertes Falco dans votre SIEM pour une réponse immédiate aux tentatives de persistance RBAC.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis