implementing-pod-security-admission-controller
Ajuda seu agente a configurar regras de segurança para contêineres no Kubernetes, garantindo que apenas aplicações seguras sejam executadas.
O que ela faz
Este recurso ajuda a configurar e gerenciar o controlador de segurança de Pods do Kubernetes (PSA). Ele garante que seus aplicativos rodem de forma segura, seguindo padrões definidos.
Quando usar
- ✓Ao configurar a segurança de pods pela primeira vez em um cluster Kubernetes.
- ✓Para definir regras de segurança padrão para todo o cluster.
- ✓Para verificar por que um pod foi bloqueado ou por que a segurança não está funcionando como esperado.
Exemplo do que pedir para a IA
“Como configuro o nível de segurança 'restrito' para o 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
Você define regras de segurança aplicando rótulos (labels) específicos aos namespaces ou configurando um arquivo centralizado para todo o cluster. Isso diz ao Kubernetes quais padrões de segurança cada namespace deve seguir.
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-pod-security-admission-controllerOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-pod-security-admission-controller/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 Controlador de Admissão Pod Security
Visão Geral
O Pod Security Admission (PSA) é um controlador de admissão nativo do Kubernetes (estável desde a v1.25) que aplica os Padrões de Segurança de Pod (Pod Security Standards) no nível do namespace. Ele substitui o PodSecurityPolicy (PSP), que foi descontinuado, e oferece três perfis de segurança: Privileged, Baseline e Restricted, com três modos de aplicação: enforce, audit e warn.
Quando Usar
- Configurando o PSA em um cluster pela primeira vez
- Definindo a aplicação padrão em todo o cluster via
AdmissionConfiguration - Isentando namespaces do sistema, contas de serviço ou classes de runtime da aplicação
- Depurando por que um pod foi rejeitado, ou por que a aplicação está silenciosamente sem funcionar
- Planejando um rollout seguro:
warneauditprimeiro,enforcequando as violações chegarem a zero - Extraindo violações do PSA do log de auditoria do kube-apiserver
Não é esta habilidade: decidir sob qual perfil uma carga de trabalho deve ser executada, ou quais
securityContext mudanças o Restricted exige. Use
implementing-kubernetes-pod-security-standards.
Pré-requisitos
- Kubernetes v1.25+ (PSA é estável/GA)
- kubectl com acesso cluster-admin
- Sem dependência de ferramentas externas - PSA é nativo do kube-apiserver
Padrões de Segurança de Pod
Perfil Privileged
- Sem restrições - Nenhuma restrição aplicada
- Caso de uso: Pods de nível de sistema (kube-system, monitoramento)
Perfil Baseline
- Minimamente restritivo - Previne escalonamento de privilégios conhecido
- Bloqueia: contêineres privilegiados, hostPID, hostIPC, hostNetwork, hostPorts, certos tipos de volume, adição de capacidades além dos padrões de runtime
Perfil Restricted
- Altamente restritivo - Segue as melhores práticas de segurança
- Requer: não root, drop ALL capabilities, seccomp RuntimeDefault, considerações sobre sistema de arquivos raiz somente leitura
- Bloqueia: Tudo no Baseline, mais execução como root, escalonamento de privilégios, tipos de volume não aprovados
Modos de Aplicação
| Modo | Comportamento | Caso de Uso |
|---|---|---|
| enforce | Rejeita pods que violam a política | Aplicação em produção |
| audit | Registra violações no log de auditoria | Avaliação pré-aplicação |
| warn | Exibe avisos para o usuário | Feedback do desenvolvedor |
Implementação
Aplicar ao Namespace via Labels
# Restricted enforcement with audit and warn
apiVersion: v1
kind: Namespace
metadata:
name: production
labels:
pod-security.kubernetes.io/enforce: restricted
pod-security.kubernetes.io/enforce-version: v1.28
pod-security.kubernetes.io/audit: restricted
pod-security.kubernetes.io/audit-version: v1.28
pod-security.kubernetes.io/warn: restricted
pod-security.kubernetes.io/warn-version: v1.28
# Baseline enforcement for staging
apiVersion: v1
kind: Namespace
metadata:
name: staging
labels:
pod-security.kubernetes.io/enforce: baseline
pod-security.kubernetes.io/enforce-version: v1.28
pod-security.kubernetes.io/audit: restricted
pod-security.kubernetes.io/audit-version: v1.28
pod-security.kubernetes.io/warn: restricted
pod-security.kubernetes.io/warn-version: v1.28
# Privileged for system namespaces
apiVersion: v1
kind: Namespace
metadata:
name: kube-system
labels:
pod-security.kubernetes.io/enforce: privileged
Aplicar Labels com kubectl
# Set restricted enforcement
kubectl label namespace production \
pod-security.kubernetes.io/enforce=restricted \
pod-security.kubernetes.io/enforce-version=v1.28 \
pod-security.kubernetes.io/audit=restricted \
pod-security.kubernetes.io/warn=restricted
# Set baseline enforcement
kubectl label namespace staging \
pod-security.kubernetes.io/enforce=baseline \
pod-security.kubernetes.io/audit=restricted \
pod-security.kubernetes.io/warn=restricted
# Check current labels
kubectl get namespace production -o jsonpath='{.metadata.labels}' | jq .
Teste de Dry-Run
# Test what would happen with restricted policy on a namespace
kubectl label --dry-run=server --overwrite namespace staging \
pod-security.kubernetes.io/enforce=restricted
# Output shows existing pods that would violate the policy
# Warning: existing pods in namespace "staging" violate the new PodSecurity enforce level "restricted:latest"
Padrões em Todo o Cluster (AdmissionConfiguration)
# /etc/kubernetes/psa-config.yaml
apiVersion: apiserver.config.k8s.io/v1
kind: AdmissionConfiguration
plugins:
- name: PodSecurity
configuration:
apiVersion: pod-security.admission.config.k8s.io/v1
…
Perguntas frequentes
Quais são os níveis de segurança disponíveis?
Existem três níveis: 'Privileged' (sem restrições), 'Baseline' (minimamente restritivo) e 'Restricted' (altamente restritivo, seguindo melhores práticas).
Quais são os modos de aplicação?
Os modos são 'enforce' (bloqueia pods que violam a regra), 'audit' (registra as violações) e 'warn' (avisa o usuário sobre violações).
Preciso instalar algo extra?
Não, o controlador de segurança de Pods (PSA) já vem integrado nas versões mais recentes do Kubernetes (v1.25+).
Detalhes
Descrição original do autor
Configures and operates the Kubernetes Pod Security Admission (PSA) controller that enforces Pod Security Standards: namespace enforce/audit/warn labels, cluster-wide defaults via AdmissionConfiguration, exemptions for usernames, runtime classes and namespaces, version pinning, and troubleshooting pods the controller rejected. Use when wiring PSA up on a cluster, setting cluster-wide default enfor
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5934
- 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
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC