Controle de acesso baseado em funções (RBAC)
Gerencie as permissões de usuários e contas de serviço no seu cluster usando funções e associações de funções do RBAC.
Controle de acesso baseado em funções (RBAC) é uma aula grátis de Kubernetes Basics no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kubernetes Basics, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kubernetes Basics inclui 4 aulas no total.
O que é RBAC no Kubernetes?
Boas-vindas! Nesta lição, vamos explorar o controle de acesso baseado em funções (RBAC), um recurso de segurança essencial do Kubernetes.
O RBAC ajuda você a gerenciar quem pode fazer o quê no seu cluster. Ele funciona como um segurança dos seus recursos do Kubernetes, garantindo que somente usuários e aplicações autorizados possam executar ações específicas.
Por que o RBAC é essencial
Sem o RBAC, qualquer pessoa com acesso ao cluster poderia executar potencialmente qualquer ação, o que levaria a riscos de segurança ou danos acidentais.
- Segurança: impede acessos e operações não autorizados.
- Conformidade: ajuda a atender aos requisitos regulatórios de controle de acesso.
- Privilégio mínimo: garante que usuários e aplicações tenham somente as permissões de que realmente precisam.
Principais conceitos do RBAC
O RBAC no Kubernetes depende de alguns componentes centrais:
- Sujeitos: o “quem” (usuários, contas de serviço e grupos).
- Funções: o “o quê” (um conjunto de permissões).
- RoleBindings: o “como” (conecta uma função a um sujeito).
- ClusterRoles e ClusterRoleBindings: versões das funções e dos RoleBindings que abrangem todo o cluster.
Sujeitos: usuários e contas de serviço
O Kubernetes precisa saber quem está solicitando uma ação. Esses elementos são chamados de sujeitos:
- Usuários: normalmente são administradores ou desenvolvedores humanos. O Kubernetes não gerencia usuários diretamente; ele depende de uma autenticação externa.
- Contas de serviço: objetos do Kubernetes usados por aplicações ou processos executados dentro dos pods. Elas são essenciais para a comunicação entre o pod e o servidor da API.
Definindo permissões com funções
Uma função define um conjunto de permissões dentro de um namespace específico. Ela especifica quais ações (verbos) podem ser executadas em quais recursos.
Por exemplo, uma função pode permitir “obter” e “listar” pods no namespace “default”.
Exemplo de função: leitor de pods
Veja uma definição YAML de uma função chamada pod-reader. Essa função concede permissão para “obter”, “listar” e “observar” (monitorar) pods.
Observe apiGroups: [""], que se refere ao grupo de API principal do Kubernetes.
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: pod-reader
namespace: default
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "watch"]Concedendo permissões com RoleBindings
Um RoleBinding conecta uma função específica a um ou mais sujeitos (usuários, contas de serviço ou grupos) dentro de um namespace específico.
É a conexão que afirma: “Este usuário/aplicação pode fazer o que esta função permite neste namespace”.
Exemplo de RoleBinding: concedendo acesso
Este RoleBinding conecta a função pod-reader a uma conta de serviço chamada my-app-sa no namespace default. Agora, my-app-sa pode ler 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.ioClusterRoles e ClusterRoleBindings
Às vezes, você precisa de permissões que se apliquem a todo o cluster, e não apenas a um namespace. É nesse caso que entram os ClusterRoles e os ClusterRoleBindings.
- ClusterRole: define permissões para recursos cujo escopo é o cluster (como nós e volumes persistentes) ou para ações em todos os namespaces (por exemplo, “listar todos os pods”).
- ClusterRoleBinding: conecta um ClusterRole a sujeitos, concedendo permissões em todo o cluster.
Verificação rápida do RBAC
Um desenvolvedor precisa implantar novas aplicações somente no namespace dev. Quais dois recursos de RBAC do Kubernetes você usaria principalmente para conceder essa permissão específica?
Recapitulação: fundamentos do RBAC
Excelente trabalho! Você aprendeu os fundamentos do RBAC do Kubernetes:
- O RBAC controla quem pode interagir com os recursos do seu cluster.
- As funções definem permissões dentro de um namespace.
- Os RoleBindings conectam funções a sujeitos (usuários e contas de serviço).
- Os ClusterRoles e ClusterRoleBindings lidam com permissões que abrangem todo o cluster.
Dominar o RBAC é essencial para proteger o seu ambiente Kubernetes!
Perguntas Frequentes
A aula “Controle de acesso baseado em funções (RBAC)” é grátis?
Sim — o texto completo de “Controle de acesso baseado em funções (RBAC)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kubernetes Basics, atualize para CoddyKit PRO. O curso de Kubernetes Basics inclui 4 aulas no total.
O que vou aprender em “Controle de acesso baseado em funções (RBAC)”?
Gerencie as permissões de usuários e contas de serviço no seu cluster usando funções e associações de funções do RBAC. Você pratica Kubernetes Basics com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Kubernetes Basics?
Nenhuma experiência prévia é necessária. Kubernetes Basics no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Controle de acesso baseado em funções (RBAC)”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Kubernetes Basics?
Sim. Cada aula de Kubernetes Basics inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Controle de acesso baseado em funções (RBAC)
- Políticas de rede para isolamento
- Padrões de segurança de pods
- Contas de Serviço e Identidade de Cargas de Trabalho