Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)35 mil · #5944

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-rbac-hardening-for-kubernetes/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-rbac-hardening-for-kubernetes/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-kubernetes

Ou 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.md
Conteú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

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5944
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas