ADR-003: Gestão de Acessos, Credenciais e Repositórios
Título
Adoção do padrão RBAC (Role-Based Access Control) para gerenciamento de acessos a repositórios e plataformas de infraestrutura do projeto.
Status
Aceito
Data
2026-02-27
Contexto
Em projetos acadêmicos e de código aberto, é comum a utilização de credenciais compartilhadas (ex: e-mails genéricos do grupo) para gerenciar repositórios e servidores. Contudo, essa prática fere os princípios de segurança da informação, dificulta a rastreabilidade de alterações e causa bloqueios operacionais relacionados à Autenticação de Dois Fatores (2FA), cujos tokens chegam a um único e-mail ou telefone.
Decisão
A equipe optou por adotar o padrão de mercado RBAC (Role-Based Access Control):
- Todo o código-fonte será armazenado em repositórios dentro de uma Organização no GitHub criada especificamente para o projeto.
- O acesso às plataformas de infraestrutura (Neon, Vercel, Railway) será feito exclusivamente por meio de convites direcionados aos e-mails pessoais ou institucionais de cada membro e do professor orientador.
- Nenhuma credencial genérica ou compartilhada será criada.
A alternativa descartada foi a criação de uma conta genérica com e-mail compartilhado para centralizar os cadastros, prática que, apesar de simples, compromete rastreabilidade e segurança.
Consequências
Positivas:
- Rastreabilidade: Trilha de auditoria clara sobre quem realizou cada alteração em repositórios e plataformas.
- Descentralização de dependência: Elimina o gargalo de depender de um único aluno para ações que exijam 2FA.
- Alinhamento com padrões de mercado: Prepara a equipe para práticas profissionais de controle de acesso.
Negativas:
- Esforço de configuração inicial: Exige tempo adicional para configurar a organização no GitHub e disparar convites para todos os membros em todas as três plataformas.
Conformidade
- Nenhum acesso deve ser concedido via conta genérica ou credencial compartilhada.
- O professor orientador deve receber convite com permissão de leitura em todos os repositórios.
- Cada desenvolvedor é responsável por não versionar o arquivo
.envno GitHub, especialmente a variávelDATABASE_URL. - Repositórios devem ter regras de proteção de branch ativas na branch principal.
Observações
- Autor: João Pedro Santos de Brito
- Versão: 1.0
- Changelog:
- 1.0 - 27/02/2026: versão inicial (João Pedro S. de Brito)
Referências: