Gerador K8s RBAC

Gerador de YAML para Kubernetes RBAC Role e ClusterRoleBinding

Crie manifestos Kubernetes RBAC para Role, ClusterRole, RoleBinding e ClusterRoleBinding com grupos de API, verbos de recursos e contas de serviço.

Modelos:
Configuração de Roles e Sujeitos RBAC
Escopo do RBAC (Role vs ClusterRole)Escopo de Namespace
RoleBinding
Sujeitos do RoleBinding (Usuários, Grupos, ServiceAccounts)
rbac.authorization.k8s.io
rbac.authorization.k8s.io
Regras de Política RBAC (apiGroups, resources, verbs)2
#1Regra #1: pods, pods/log, events
#2Regra #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
Regras de Política
Role (Namespace: staging)
Sujeitos Vinculados
2 Sujeitos (0 SA, 2 User/Group)
Escopo RBAC
Grau A: Protegido e delimitado

Padrão rbac.authorization.k8s.io/v1

Conformidade estrita com as especificações rbac.authorization.k8s.io/v1 para Roles de namespace e ClusterRoles em nível de cluster.

Privacidade Zero-Knowledge no Navegador

Todas as políticas RBAC, contas de serviço e permissões do cluster são geradas com segurança total na sandbox do seu navegador.

Menor Privilégio e Pronto para Produção

Gera manifestos prontos para produção com auditoria de segurança de privilégio mínimo contra riscos de curingas e escalada de privilégios.

Referência técnica e guia de arquitetura

Guia do Desenvolvedor: Gerador de YAML Kubernetes RBAC Role & ClusterRoleBinding — Guia de referência

Crie manifestos Kubernetes RBAC para Role, ClusterRole, RoleBinding e ClusterRoleBinding com grupos de API, verbos de recursos e contas de serviço.

Parâmetros principais e controles

kindstring

Define o tipo de recurso RBAC ('Role', 'ClusterRole', 'RoleBinding' ou 'ClusterRoleBinding').

Padrão: Role
rules[].apiGroupsarray[string]

Grupos de API do Kubernetes contendo os recursos alvo (use '""' para recursos essenciais como pods/services, 'apps' para deployments).

Padrão: [""]
rules[].resourcesarray[string]

Nomes no plural dos recursos do Kubernetes aos quais o acesso será concedido (ex: 'pods', 'configmaps', 'deployments', 'secrets').

Padrão: ["pods"]
rules[].verbsarray[string]

Verbos de ação da API permitidos nos recursos ('get', 'list', 'watch', 'create', 'update', 'patch', 'delete').

Padrão: ["get", "list"]
subjectsarray[object]

Lista de entidades (ServiceAccount, User ou Group) às quais as permissões são concedidas em um RoleBinding.

Padrão: Required for Bindings
roleRefobject

Referência apontando para a Role ou ClusterRole atribuída por um RoleBinding ou ClusterRoleBinding.

Padrão: Required for Bindings

Dicas profissionais e melhores práticas

Evitar curingas em permissões

Evite caracteres curinga ('*') em verbos e recursos; conceda explicitamente apenas verbos de leitura ('get', 'list', 'watch'), a menos que mutações sejam indispensáveis.

Vincular ClusterRole a namespace

Defina permissões genéricas uma vez em uma ClusterRole e vincule-a por meio de um RoleBinding com namespace para restringir essas permissões estritamente àquele namespace.

Validar regras com auth can-i

Teste suas políticas RBAC imediatamente executando 'kubectl auth can-i <verb> <resource> --as=system:serviceaccount:<namespace>:<name>' antes de implantar as cargas de trabalho.

Problemas comuns e solução de problemas

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

Certifique-se de que 'rules[].apiGroups' contenha o grupo de API exato ('' para pods/services, 'apps' para deployments) e que o nome do recurso esteja no plural ('services', e não 'service').

RoleBinding não concede acesso a recursos em outros namespaces

Um RoleBinding não pode conceder acesso fora de seu próprio namespace. Use um ClusterRoleBinding se o acesso em nível de cluster for necessário, ou crie RoleBindings em cada namespace individual.

Perguntas frequentes (FAQ)

Qual é a diferença entre uma Role e uma ClusterRole no Kubernetes?▼

Uma Role restringe permissões a um único namespace específico, enquanto uma ClusterRole define permissões para todo o cluster, incluindo recursos globais como Nodes e PersistentVolumes.

Um RoleBinding pode fazer referência a uma ClusterRole?▼

Sim. Vincular uma ClusterRole usando um RoleBinding é uma prática recomendada. Isso aplica as permissões definidas na ClusterRole apenas dentro do namespace do RoleBinding.

Por que recursos essenciais como Pods e Services usam uma string vazia em apiGroups?▼

Na arquitetura da API do Kubernetes, os recursos fundamentais pertencem ao grupo de API principal (core), representado canonicamente por uma string vazia ("") nos manifestos YAML.

Como conceder acesso a uma instância de recurso específica pelo nome?▼

Você pode configurar o campo 'resourceNames' na regra (por exemplo, resourceNames: ['meu-configmap']), restringindo as operações unicamente a essa instância nomeada.

Ferramentas e utilitários relacionados

Todas as ferramentas →
Guia do Desenvolvedor do Gerador de YAML de Kubernetes StatefulSet & Headless ServiceDesenvolvimento

Gere manifestos de Kubernetes StatefulSet prontos para produção com Headless Service complementar, volumeClaimTemplates persistentes, réplicas e podManagementPolicy.

Abrir ferramenta→
Referência de Desenvolvedor para Nginx Location Match TesterDesenvolvimento

Guia técnico para teste de correspondência de blocos location no Nginx e avaliação de precedência de modificadores.

Abrir ferramenta→
Referência de Desenvolvedor Cloudflare Headers e RedirectsDesenvolvimento

Referência técnica e guia de sintaxe para configurar regras de _headers e _redirects no Cloudflare Pages, políticas de segurança e reescritas no edge.

Abrir ferramenta→
Vercel構成ファイル (vercel.json) ビルダーDesenvolvimento

Referência técnica de vercel.json para desenvolvedores: roteamento de borda, rewrites, cabeçalhos de segurança, funções serverless e rotinas cron.

Abrir ferramenta→
Guia do Desenvolvedor: Gerador Interativo de ESLint Flat Config (eslint.config.mjs)Desenvolvimento

Gere arquivos modernos de configuração plana para ESLint 9+ (eslint.config.mjs / .js) com suporte para TypeScript, React, Next.js, Vue, Prettier e regras personalizadas.

Abrir ferramenta→
Calculadora de Intervalos SemVer e Satisfação de VersõesDesenvolvimento

Teste intervalos de versionamento semântico (SemVer) com acento circunflexo (^), til (~), hífens, x-ranges e pré-lançamentos em tempo real.

Abrir ferramenta→