Configurar permissões do repositório de controle do código-fonte usando o GitHub

Concluído

Implementar permissões de repositório do GitHub de maneira ideal envolve encontrar um equilíbrio adequado entre facilitar a colaboração e proteger as bases de código contra abuso e uso indevido. O GitHub dá suporte a controles de acesso refinados que permitem que as equipes interajam entre si com eficiência, mantendo os princípios de privacidade, segurança e integridade dos dados.

O modelo de permissão é diferente dependendo do tipo de conta do GitHub. Há cinco tipos de contas que indivíduos e organizações podem criar:

  • GitHub Gratuito para contas pessoais: gratuitamente para uso individual, incluindo colaboradores ilimitados em repositórios públicos ilimitados com um conjunto de recursos completo e em repositórios privados ilimitados com um conjunto de recursos limitado, como
    problemas e solicitações de pull.
  • GitHub Pro: para desenvolvedores profissionais, incluindo repositórios públicos e privados ilimitados, colaboradores ilimitados e ferramentas avançadas de revisão de código.
  • GitHub Gratuito para organizações: gratuito para organizações, incluindo colaboradores ilimitados em repositórios públicos ilimitados com um conjunto de recursos completo e em repositórios privados ilimitados com um conjunto de recursos limitado. Além dos recursos disponíveis com o GitHub Free para contas pessoais, o GitHub Free para organizações oferece limites mais altos de minutos do GitHub Actions por mês e armazenamento de Pacotes GitHub mais altos.
  • Equipe do GitHub: para equipes, incluindo todos os recursos do GitHub Pro, bem como permissões de equipe e usuário, ferramentas de revisão de código e ferramentas e recursos avançados em repositórios privados.
  • GitHub Enterprise: para organizações de grande porte, incluindo cada um dos recursos do GitHub Team, bem como recursos de segurança de nível empresarial, como logon único, logs de auditoria e controles de conformidade. Esse plano é auto-hospedado e pode ser executado localmente ou em um ambiente de nuvem (GitHub Enterprise Cloud).

Permissões de repositório no GitHub Gratuito para contas pessoais

GitHub Gratuito para contas pessoais: Para repositórios públicos, qualquer pessoa pode visualizar e criar um fork do repositório. Para repositórios privados, o proprietário do repositório tem controle total sobre quem pode acessar e contribuir para o repositório, com até três colaboradores permitidos. Pode haver apenas um proprietário para que as permissões de propriedade não possam ser compartilhadas com outra conta pessoal. Além disso, em um repositório privado, os proprietários do repositório só podem conceder acesso de gravação aos colaboradores. Em outras palavras, os colaboradores não podem ter acesso somente leitura a repositórios pertencentes a uma conta pessoal.

Permissões de repositório no GitHub Pro

O GitHub Pro inclui todos os mesmos níveis de permissão de repositório que o GitHub Free para contas pessoais, mas com recursos de colaboração mais avançados, como branches protegidos e proprietários de código.

Permissões de repositório no GitHub Free para organizações

O GitHub Free para organizações inclui a capacidade de criar equipes, que podem ter acesso a repositórios específicos com diferentes níveis de permissão. As equipes podem receber acesso de escrita ou acesso de administrador, e funções personalizadas podem ser criadas para conceder permissões específicas a diferentes usuários ou grupos.

A função padrão não administrativa para usuários em uma organização é o membro da organização. Por padrão, os membros da organização têm algumas permissões, incluindo a capacidade de criar repositórios.

Outras funções da organização têm permissões elevadas para repositórios, como:

  • Moderadores da organização: ocultação de comentários em repositórios públicos pertencentes à organização.
  • Gerentes de segurança: lendo todos os repositórios na organização.
  • Proprietários: todas as permissões relacionadas ao repositório, incluindo a adição de colaboradores, bem como escrever e excluir repositórios.

Os proprietários da organização podem definir permissões base que se aplicam a todos os membros de uma organização ao acessar qualquer um de seus repositórios. As permissões base não se aplicam a colaboradores externos. A concessão de um nível mais alto de acesso para repositórios individuais substitui a permissão base.

O acesso personalizado a repositórios pode ser implementado atribuindo funções de repositório internas a membros da organização e colaboradores externos. Essas funções incluem:

  • Leitura: Recomendado para colaboradores não técnicos que queiram examinar o conteúdo do repositório.
  • Triagem: recomendado para colaboradores que precisam gerenciar proativamente problemas, discussões e pull requests sem permissão para escrita.
  • Gravação: recomendado para colaboradores que fazem push para o repositório de forma ativa.
  • Manter: Recomendado para gerentes de projeto que precisam gerenciar o repositório sem acesso a ações confidenciais ou destrutivas.
  • Administrador: recomendado para pessoas que precisam de privilégios completos, incluindo ações confidenciais e destrutivas, como gerenciar a segurança ou excluir o repositório.

Permissões de repositório na Equipe do GitHub

O GitHub Team inclui todos os mesmos níveis de permissão de repositório que o GitHub Free para organizações, com a adição de suporte para equipes e recursos de segurança mais avançados, como intervalos de IP autorizados e autenticação de nível empresarial. As equipes são grupos de membros da organização. Os proprietários da organização e os mantenedores de equipe podem conceder às equipes permissão para repositórios.

Permissões de repositório no GitHub Enterprise Cloud

O GitHub Enterprise Cloud foi projetado para organizações de nível empresarial e inclui todos os recursos do GitHub Team, bem como o enterprise-leve

l recursos de segurança, como logon único, log de auditoria e controles de conformidade. O GitHub Enterprise Cloud dá suporte a controle muito granular sobre permissões de repositório, incluindo a capacidade de gerenciar permissões no nível do branch. Os proprietários da organização também podem criar funções personalizadas para conceder permissões mais granulares a diferentes usuários ou equipes do que aquelas disponíveis com as funções internas de leitura, triagem, gravação, manutenção e administração.