implementing-rbac-hardening-for-kubernetes
Ensina seu agente de IA a colocar projetos no ar e cuidar da infraestrutura.
O que ela faz
Este agente ajuda a tornar seu sistema Kubernetes mais seguro, controlando quem pode acessar o quê. Ele garante que cada usuário ou serviço tenha apenas as permissões estritamente necessárias para realizar suas tarefas, evitando acessos indevidos.
Quando usar
- ✓Quando você quer restringir o acesso a recursos importantes no seu cluster Kubernetes.
- ✓Ao configurar um novo ambiente Kubernetes e querer começar com segurança.
- ✓Se você suspeita que algumas contas de serviço têm permissões demais.
Exemplo do que pedir para a IA
“Como posso restringir o acesso de um serviço específico a apenas ler informações de pods no namespace 'producao'?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele analisa as permissões existentes e sugere ou aplica configurações mais restritivas. Isso envolve criar regras de acesso mais específicas (Roles) em vez de permissões amplas (ClusterRoles) e garantir que cada serviço use uma identidade única e com o mínimo de privilégios.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill implementing-rbac-hardening-for-kubernetesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-rbac-hardening-for-kubernetes/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Implementando o Endurecimento de RBAC para Kubernetes
Visão Geral
O RBAC do Kubernetes regula o acesso a recursos do cluster com base em funções atribuídas a usuários, grupos e contas de serviço. As configurações padrão geralmente concedem permissões excessivas e, sem um endurecimento ativo, o RBAC se torna um vetor de ataque primário para escalonamento de privilégios, movimento lateral e exfiltração de dados. O endurecimento exige a implementação de princípios de menor privilégio, a eliminação de vinculações de ClusterRole desnecessárias, a separação de contas de serviço, a integração de provedores de identidade externos e auditoria contínua.
Quando Usar
- Ao implantar ou configurar a implementação de endurecimento de RBAC para capacidades do Kubernetes em seu ambiente
- Ao estabelecer controles de segurança alinhados aos requisitos de conformidade
- Ao construir ou melhorar a arquitetura de segurança para este domínio
- Ao realizar avaliações de segurança que exigem esta implementação
Pré-requisitos
- Cluster Kubernetes v1.24+ com RBAC habilitado (padrão desde v1.6)
- Acesso kubectl com cluster-admin para auditoria inicial
- Provedor de identidade externo (OIDC) para autenticação de usuário
- Registro de auditoria habilitado no servidor de API
Princípios Fundamentais de Endurecimento
1. Elimine a Proliferação de cluster-admin
Audite e remova vinculações de cluster-admin desnecessárias:
# List all cluster-admin bindings
kubectl get clusterrolebindings -o json | jq -r '
.items[] |
select(.roleRef.name == "cluster-admin") |
"\(.metadata.name) -> \(.subjects[]? | "\(.kind)/\(.name) (\(.namespace // "cluster"))")"
'
2. Funções com Escopo de Namespace em Vez de ClusterRoles
Use Role e RoleBinding em vez de ClusterRole e ClusterRoleBinding:
# Good: Namespace-scoped role
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: application
name: app-developer
rules:
- apiGroups: ["apps"]
resources: ["deployments"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: [""]
resources: ["pods", "pods/log"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["configmaps"]
verbs: ["get", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
namespace: application
name: app-developer-binding
subjects:
- kind: Group
name: dev-team
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: app-developer
apiGroup: rbac.authorization.k8s.io
3. Contas de Serviço Dedicadas por Carga de Trabalho
apiVersion: v1
kind: ServiceAccount
metadata:
name: payment-processor
namespace: payments
automountServiceAccountToken: false # Disable auto-mount
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: payment-processor
namespace: payments
spec:
template:
spec:
serviceAccountName: payment-processor
automountServiceAccountToken: true # Only mount when explicitly needed
containers:
- name: processor
image: payments/processor:v2.1@sha256:abc...
4. Restrinja Permissões Perigosas
Bloqueie permissões que permitem o escalonamento de privilégios:
# Dangerous verbs/resources to restrict:
# - secrets: get, list, watch (exposes all secrets in namespace)
# - pods/exec: create (enables command execution in pods)
# - pods: create with privileged securityContext
# - serviceaccounts/token: create (generates new tokens)
# - clusterroles/clusterrolebindings: create, update (self-escalation)
# - nodes/proxy: create (bypasses API server authorization)
# Safe read-only role example
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: security-viewer
rules:
- apiGroups: [""]
resources: ["pods", "services", "namespaces", "nodes"]
verbs: ["get", "list", "watch"]
- apiGroups: ["apps"]
resources: ["deployments", "daemonsets", "statefulsets"]
verbs: ["get", "list", "watch"]
- apiGroups: ["networking.k8s.io"]
resources: ["networkpolicies"]
verbs: ["get", "list", "watch"]
5. Integração OIDC para Autenticação de Usuário
# API server flags for OIDC integration
apiVersion: v1
kind: Pod
metadata:
name: kube-apiserver
spec:
containers:
- name: kube-apiserver
command:
- kube-apiserver
- --oidc-issuer-url=https://idp.company.com
- --oidc-client-id=kubernetes
- --oidc-username-claim=email
- --oidc-groups-claim=groups
- --oidc-ca-file=/etc/kubernetes/pki/oidc-ca.crt
Processo de Auditoria de RBAC
Passo 1: Enumere Todas as Vinculações
…
Perguntas frequentes
O que é RBAC?
RBAC (Role-Based Access Control) é um sistema que define o que usuários ou serviços podem fazer dentro do Kubernetes com base nas 'funções' que eles têm.
Por que 'cluster-admin' é perigoso?
A permissão 'cluster-admin' dá controle total sobre todo o cluster Kubernetes. Usá-la para muitas pessoas ou serviços aumenta o risco de erros ou ataques.
O que significa 'least-privilege'?
Significa dar a cada usuário ou serviço apenas as permissões mínimas necessárias para realizar seu trabalho, e nada mais. É um princípio de segurança fundamental.
Detalhes
Descrição original do autor
Hardens Kubernetes RBAC by designing least-privilege Roles and ClusterRoles, auditing RoleBindings, eliminating cluster-admin sprawl, separating service accounts, and integrating an external OIDC identity provider. Use when tightening cluster access control, removing excessive ClusterRoleBindings, or hardening service-account permissions against escalation and lateral movement. Keywords: RBAC, Rol
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5944
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC