Segurança e Conformidade
Gerenciamento de Segredos
- Sealed Secrets — todos os segredos commitados no Git como objetos
SealedSecretcriptografados com a chave pública do cluster - Reflector — espelha segredos entre namespaces sem duplicar a fonte da verdade
- Cada cluster tem seu próprio par de chaves sealed-secrets — um segredo selado criptografado para prod não pode ser descriptografado em dev
- Rotação de chaves de produção: trimestral
Isolamento de Rede
NetworkPolicy padrão em todo namespace:
ingress: permitir de namespaces do mesmo projeto
permitir do controlador de ingress da plataforma
egress: permitir para namespaces do mesmo projeto
permitir para namespaces da plataforma (monitoramento, logging)
permitir porta 53 (DNS)
negar todo o resto
Padrões de Segurança de Pod
Todo Deployment gerado pela plataforma inclui:
securityContext:
runAsNonRoot: true
runAsUser: 1000
fsGroup: 1000
containers[*]:
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop: [ALL]
Modelo RBAC
Provedor de Identidade (GitHub / Okta / Azure AD)
│ claim de membros de grupo
▼
Sujeito de Grupo Kubernetes
│ RoleBinding (Group → ClusterRole)
▼
Acesso a namespace (escopo por projeto, bloqueado por ambiente)
Remover um usuário do grupo no IdP revoga imediatamente todo acesso ao Kubernetes. Nenhuma limpeza manual de RBAC necessária.
Proteções de Produção
| Proteção | Mecanismo |
|---|---|
| Sem deploy automatizado em prod | ArgoCD syncWindows: deny + templatePatch remove o bloco automated das Applications de prod |
| Sem exclusão acidental de banco de dados | Crossplane deletionPolicy: Orphan em todos os Claims de prod |
| Sem contorno de convenção | CI de validação (validate-conventions.yaml executando validate-namespaces.sh) bloqueia PRs não conformes de serem mesclados |
| Bloqueio do developer em prod | RBAC — RoleBindings de prod simplesmente não são criados para o papel developer |
| Sem segredos em texto plano | Sealed Secrets obrigatório — os desenvolvedores geram segredos de forma self-service segura via template create-secret do Backstage |