Papéis e Permissões 🔐⚓︎
Estratégia de Segurança⚓︎
Com o objetivo de promover um elevado nível de segurança para a organização SPLOR no GitHub, foi pensada uma política clara de papéis e permissões visando garantir o controle adequado sobre os repositórios e recursos da organização.
Atenção!
É oportuno e importante lembrar que, para além dos dados sensíveis dos próprios integrantes da equipe SPLOR, como CPF, e-mails pessoais etc., alguns dos conjuntos de dados geridos pela organização contém informações sensíveis de terceiros, exigindo ainda mais cuidado e responsabilidade no controle de acessos e permissões, especialmente com a segurança da nossa própria senha. 👉 Importante ver duplo fator de autenticação (2FA)
Papéis na Organização⚓︎
Owners (Proprietários)⚓︎
Apenas membros da Assessoria de Inteligência de Dados (AID) serão configurados como "owners" da organização. Esta restrição é fundamental para:
- Controle centralizado das configurações da organização
- Gestão de segurança consistente
- Prevenção de mudanças não autorizadas
- Auditoria adequada das ações administrativas
As responsabilidades dos owners são:
- Configurar políticas de segurança da organização
- Gerenciar times e permissões
- Configurar integrações e webhooks
- Aprovar mudanças críticas
- Gerenciar billing e recursos premium
Members (Membros)⚓︎
Todos os demais colaboradores da SPLOR serão configurados como members da organização, com permissões específicas baseadas em suas necessidades de trabalho.
Papeis de quem cria um repositório
Quando uma pessoa criar um repositório ("nova pasta") dentro da organização SPLOR, ela será automaticamente considerada como "owner" daquele repositório específico. Isso significa que:
- Ela terá controle total sobre o repositório criado
- Poderá configurar colaboradores e permissões
- Poderá deletar o repositório (se tiver permissão de admin)
- Será responsável pela gestão do repositório
Transferência de ownership (propriedade)
Para garantir a continuidade dos projetos e evitar perda de acesso, recomenda-se:
- Transferir ownership para um time da organização quando apropriado
- Documentar claramente quem é o responsável por cada repositório
- Configurar proteções de branch para repositórios críticos
- Estabelecer processos de backup e recuperação
Diferentes Níveis de Permissão⚓︎
No GitHub, existem diferentes níveis de permissão e papéis que variam conforme o contexto em que você está atuando: no nível da organização, do repositório ou do time (equipe). Cada um desses níveis define o que cada pessoa pode visualizar, modificar ou administrar, garantindo segurança e flexibilidade na colaboração. Compreender essas diferenças é fundamental para manter o controle adequado dos acessos e das responsabilidades dentro dos projetos.
Níveis de permissão no GitHub
Nível | Papel | Descrição |
---|---|---|
Organizacional | Owner | Apenas membros da AID |
Member | Todos os colaboradores SPLOR | |
Repositório | Admin | Controle total do repositório |
Maintain | Pode gerenciar issues, pull requests e releases | |
Write | Pode fazer push de código e criar branches | |
Read | Pode visualizar e clonar o repositório | |
Time | Member | Membro do time |
Maintainer | Pode gerenciar membros do time |
Políticas de Segurança⚓︎
Proteção de Branches⚓︎
- main/master: Sempre protegida
- Requer pull request para mudanças
- Requer code review de pelo menos um maintainer
- Requer status checks para passar
Deleção de Repositórios⚓︎
- Apenas owners podem deletar repositórios da organização
- Membros individuais podem deletar apenas repositórios que criaram
- Recomenda-se confirmação adicional para repositórios críticos
Merge de Pull Requests⚓︎
- Apenas owners e maintainers podem fazer merge
- Requer aprovação de pelo menos um reviewer
- Status checks devem passar antes do merge
Matriz de Responsabilidades⚓︎
Ação | Owner | Member | Repository Owner |
---|---|---|---|
Criar repositório | ✅ | ✅ | ✅ |
Deletar repositório | ✅ | ❌ | ✅ (próprio) |
Configurar proteções | ✅ | ❌ | ✅ |
Gerenciar times | ✅ | ❌ | ❌ |
Fazer merge em main | ✅ | ❌ | ✅ |
Aprovar PRs | ✅ | ✅ (se maintainer) | ✅ |
🚀 Processo de Onboarding⚓︎
Para Novos Colaboradores⚓︎
- Criar conta no GitHub
- Solicitar acesso à organização SPLOR
- Ser adicionado ao time correspondente
- Receber treinamento sobre políticas de segurança
- Configurar 2FA (obrigatório)
Para Novos Repositórios⚓︎
- Criar repositório com nome padronizado
- Configurar proteções de branch
- Adicionar colaboradores apropriados
- Configurar labels e templates
- Documentar no handbook