Générateur K8s RBAC

Générateur YAML Kubernetes RBAC Role & ClusterRoleBinding

Concevez des manifestes Kubernetes RBAC pour Role, ClusterRole, RoleBinding et ClusterRoleBinding avec groupes d'API, verbes de ressources et comptes de service.

Préréglages :
Configuration du Role et des Sujets RBAC
Portée RBAC (Role vs ClusterRole)Portée Espace de Noms
RoleBinding
Sujets de RoleBinding (Utilisateurs, Groupes, ServiceAccounts)
rbac.authorization.k8s.io
rbac.authorization.k8s.io
Règles de stratégie RBAC (apiGroups, resources, verbs)2
#1Règle #1: pods, pods/log, events
#2Règle #2: deployments, replicasets
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: pod-log-reader
  namespace: staging
  labels:
    app.kubernetes.io/part-of: developer-access
    env: staging
rules:
  - apiGroups:
      - ""
    resources:
      - "pods"
      - "pods/log"
      - "events"
    verbs:
      - "get"
      - "list"
      - "watch"
  - apiGroups:
      - "apps"
    resources:
      - "deployments"
      - "replicasets"
    verbs:
      - "get"
      - "list"
      - "watch"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: developer-log-reader-binding
  namespace: staging
  labels:
    app.kubernetes.io/part-of: developer-access
    env: staging
subjects:
  - kind: Group
    name: frontend-developers
    apiGroup: rbac.authorization.k8s.io
  - kind: User
    name: [email protected]
    apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: pod-log-reader
  apiGroup: rbac.authorization.k8s.io
Règles de stratégie
Role (Namespace: staging)
Sujets liés
2 Sujets (0 SA, 2 User/Group)
Portée RBAC
Note A : Sécurisé & strictement délimité

Standard rbac.authorization.k8s.io/v1

Conformité stricte aux spécifications rbac.authorization.k8s.io/v1 pour les Roles de namespace et ClusterRoles de cluster.

Confidentialité 100% Côté Client

Toutes les politiques RBAC, comptes de service et permissions de cluster sont générés entièrement dans le bac à sable de votre navigateur.

Moindre Privilège & Prêt pour la Production

Génère des manifestes prêts pour la production avec audit de sécurité du moindre privilège contre les risques de jokers et d'élévation de privilèges.

Référence technique et guide d'architecture

Guide Développeur : Générateur YAML Kubernetes RBAC Role & ClusterRoleBinding — Guide de référence

Concevez des manifestes Kubernetes RBAC pour Role, ClusterRole, RoleBinding et ClusterRoleBinding avec groupes d'API, verbes de ressources et comptes de service.

Paramètres clés et contrôles

kindstring

Définit le type de ressource RBAC ('Role', 'ClusterRole', 'RoleBinding' ou 'ClusterRoleBinding').

Par défaut : Role
rules[].apiGroupsarray[string]

Groupes d'API Kubernetes contenant les ressources cibles (utilisez '""' pour les ressources de base comme pods/services, 'apps' pour deployments).

Par défaut : [""]
rules[].resourcesarray[string]

Noms au pluriel des ressources Kubernetes auxquelles l'accès est accordé (ex. 'pods', 'configmaps', 'deployments', 'secrets').

Par défaut : ["pods"]
rules[].verbsarray[string]

Verbes d'action API autorisés sur les ressources ('get', 'list', 'watch', 'create', 'update', 'patch', 'delete').

Par défaut : ["get", "list"]
subjectsarray[object]

Liste des entités (ServiceAccount, User ou Group) auxquelles les permissions sont accordées dans un RoleBinding.

Par défaut : Required for Bindings
roleRefobject

Référence désignant le Role ou ClusterRole attribué par un RoleBinding ou ClusterRoleBinding.

Par défaut : Required for Bindings

Conseils de pro et bonnes practices

Restreindre les verbes RBAC

Évitez les caractères génériques ('*') dans les verbes et les ressources ; n'accordez explicitement que les verbes de lecture ('get', 'list', 'watch') sauf si une modification est strictement indispensable.

Lier une ClusterRole au namespace

Définissez des règles génériques dans un ClusterRole, puis liez-le via un RoleBinding sectorisé pour restreindre strictement ces droits à cet espace de noms.

Valider l'accès avec auth can-i

Testez vos politiques RBAC dès leur création en exécutant 'kubectl auth can-i <verb> <resource> --as=system:serviceaccount:<namespace>:<name>' avant de déployer vos conteneurs.

Pièges courants et dépannage

Erreur 'is forbidden: User cannot list resource in API group'

Vérifiez que 'rules[].apiGroups' spécifie le groupe exact ('' pour les ressources de base, 'apps' pour deployments) et que le nom de la ressource est bien au pluriel ('services' et non 'service').

Le RoleBinding n'accorde aucun droit dans les autres espaces de noms

Un RoleBinding ne peut jamais accorder de droits en dehors de son propre espace de noms. Utilisez un ClusterRoleBinding pour une portée cluster, ou déployez des RoleBindings distincts dans chaque namespace cible.

Foire aux questions (FAQ)

Quelle est la différence entre un Role et un ClusterRole dans Kubernetes ?▼

Un Role définit des permissions limitées à un espace de noms (namespace) unique, tandis qu'un ClusterRole définit des droits globaux sur l'ensemble du cluster, incluant les ressources sans namespace comme Nodes et PersistentVolumes.

Un RoleBinding peut-il référencer un ClusterRole ?▼

Oui, et c'est une bonne pratique recommandée. Cela permet d'appliquer les règles définies dans le ClusterRole uniquement à l'intérieur de l'espace de noms du RoleBinding.

Pourquoi les ressources de base comme Pods et Services utilisent-elles une chaîne vide pour apiGroups ?▼

Dans l'architecture de l'API Kubernetes, les ressources historiques fondamentales appartiennent au groupe d'API core, représenté conventionnellement par une chaîne vide ("") dans les manifestes YAML.

Comment restreindre l'accès à une instance de ressource spécifique par son nom ?▼

Vous pouvez renseigner le champ 'resourceNames' dans votre règle (par exemple resourceNames: ['mon-configmap']), restreignant les opérations uniquement à cette instance nommée.

Outils et utilitaires connexes

Tous les outils →
Guide du Développeur du Générateur de YAML Kubernetes StatefulSet & Headless ServiceDéveloppement

Générez des manifestes Kubernetes StatefulSet de qualité production avec Headless Service associé, volumeClaimTemplates persistants, réplicas et podManagementPolicy.

Ouvrir l'outil→
Référence Développeur Nginx Location Match TesterDéveloppement

Guide technique pour tester les directives location Nginx et analyser l'ordre de priorité des modificateurs.

Ouvrir l'outil→
Référence Développeur Cloudflare Headers et RedirectsDéveloppement

Guide technique et aide-mémoire de syntaxe pour configurer les fichiers _headers et _redirects de Cloudflare Pages, stratégies de sécurité et réécritures edge.

Ouvrir l'outil→
Vercel構成ファイル (vercel.json) ビルダーDéveloppement

Référence technique pour vercel.json : routage edge, réécritures, en-têtes de sécurité, fonctions serverless et planification cron en production.

Ouvrir l'outil→
Guide Développeur : Générateur Interactif ESLint Flat Config (eslint.config.mjs)Développement

Générez des fichiers de configuration moderne pour ESLint 9+ (eslint.config.mjs / .js) avec prise en charge de TypeScript, React, Next.js, Vue, Prettier et de règles sur mesure.

Ouvrir l'outil→
Testeur de Plages SemVer et Satisfaction de Version – Guide DéveloppeurDéveloppement

Testez les plages de gestion sémantique de version (SemVer) avec accent circonflexe (^), tilde (~), tirets, x-ranges et pré-versions en temps réel.

Ouvrir l'outil→