Aula 5
Controle de usuários no desenvolvimento colaborativo
Professor: Ricardo Pires
3º Técnico DS - Desenvolvimento de Sistemas II
🚀 Roteiro (105 min)
- Ritmo: Conceito → Código → Resolução de Problema.
- Foco: acesso, rastreabilidade e segurança no ciclo de desenvolvimento.
- Meta: colaboração com governança técnica.
🧠 Conceito: identidade e responsabilidade
- Cada integrante usa conta individual.
- Permissão por papel (RBAC).
- Nada de usuário compartilhado.
dev -> Pull Request -> reviewer -> maintainer -> main🔐 Regras mínimas de segurança
-
MFA obrigatório.
-
Branch protection em
main. -
CI bloqueando merge com teste falho.
-
Secrets fora do código (vault/env).
-
Resultado: trilha de auditoria confiável.
💻 Exemplo prático (política de PR)
Regras de merge:
[ ] 1 aprovação obrigatória
[ ] Build e testes verdes
[ ] Sem push direto na main
[ ] Histórico de revisão preservado- Evita “subiu e quebrou” em produção.
🗣️ Desafio do Código - O Bug de Produção
Token de acesso de ex-colaborador permanece ativo e dispara alteração indevida em configuração.
Impacto:
- Risco de segurança
- Indisponibilidade parcial
- Necessidade de rollback urgente- Causa: processo fraco de revogação de acesso.
✅ Desafio do Código - A Solução do Sênior
- Revogar acessos no desligamento imediatamente.
- Automatizar checklist de offboarding.
- Auditar permissões periodicamente.
Governança contínua -> menos incidente -> time mais confiável🎯 Checklist final da Aula 5
- Há separação clara de papéis no repositório?
- O merge depende de review e CI?
- Existe trilha de auditoria por autor?
- O processo de revogação de acesso está formalizado?
📝 Atividades práticas em sala (30 min)
Exercício 1: Configuração de repositório
Analisar este cenário de repositório e identificar problemas:
Repositório "sistema-vendas":
- Branch main: sem proteção
- Todos os devs: admin rights
- CI: opcional
- Secrets: no código fonte (hardcoded)
- MFA: não obrigatórioTarefas:
- Listar todos os riscos identificados
- Priorizar por criticidade (alta/média/baixa)
- Propor solução para os 3 principais
Exercício 2: Política de commit
Escrever policy de commit para o time considerando:
- Formato de mensagem
- Quando fazer commit
- Como fazer merge
- Quem pode aprovar PR
✅ Gabarito das atividades
Gabarito 1 - Riscos identificados:
Alta criticidade:
- Secrets hardcoded (vazamento de credenciais)
- Sem branch protection (push direto na main)
- Admin rights para todos (acesso excessivo)
Média criticidade: 4. CI opcional (deploy com erro) 5. Sem MFA (conta comprometida)
Soluções propostas:
- Mover secrets para vault/environment variables
- Ativar branch protection na main
- Implementar RBAC (dev/reviewer/maintainer)
Gabarito 2 - Política de commit:
Formato: tipo(escopo): descrição
Exemplo: feat(auth): adicionar validação de JWT
Regras:
- Commit pequeno e atômico
- PR obrigatório para main
- 1 aprovação mínima
- CI verde obrigatório
- Revisor não pode ser o autorAtividade rápida
- Documentar política de acesso do projeto atual.
- Alinhar papéis e responsabilidades na equipe.