Configurar permissões de repositório de controle de origem usando o GitHub

Concluído

Implementar permissões de repositório 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 suporta controles de acesso refinados que permitem que as equipes interajam entre si de forma eficiente, mantendo os princípios de privacidade, segurança e integridade de dados.

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

  • GitHub gratuito para contas pessoais: gratuito para uso individual, incluindo colaboradores ilimitados em repositórios públicos ilimitados com um conjunto completo de recursos e em repositórios privados ilimitados com um conjunto de recursos limitado, como
    problemas e solicitações 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 completo de recursos 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 de Ações do GitHub por mês e maior armazenamento de Pacotes GitHub.
  • 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 nível empresarial, incluindo todos os recursos da Equipe do GitHub, bem como recursos de segurança de nível empresarial, como logon único, logs de auditoria e controles de conformidade. Este plano é auto-hospedado e pode ser executado no local 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 bifurcar o 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, portanto, as permissões de propriedade não podem 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 de propriedade de uma conta pessoal.

Permissões de repositório no GitHub Pro

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

Permissões de repositório no GitHub gratuito 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 gravação 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 não administrativa padrão 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: ocultar comentários em repositórios públicos de propriedade da organização.
  • Gestores de segurança: leitura de todos os repositórios da organização.
  • Proprietários: todas as permissões relacionadas ao repositório, incluindo a adição de colaboradores, bem como a gravação e exclusão de repositórios.

Os proprietários da organização podem definir permissões básicas que se aplicam a todos os membros de uma organização ao acessar qualquer um de seus repositórios. As permissões básicas 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 aos repositórios pode ser implementado atribuindo funções de repositório integradas a membros da organização e colaboradores externos. Essas funções incluem:

  • Leia: Recomendado para colaboradores que não são de código e que desejam poder revisar o conteúdo do repositório.
  • Triagem: Recomendado para colaboradores que precisam gerenciar proativamente problemas, discussões e solicitações pull sem acesso de gravação.
  • Gravação: Recomendado para colaboradores que enviam ativamente por push para o repositório.
  • Manter: Recomendado para gerentes de projeto que precisam gerenciar o repositório sem acesso a ações sensíveis ou destrutivas.
  • Admin: 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

A equipe do GitHub inclui os mesmos níveis de permissão de repositório do 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 equipas são grupos de membros da organização. Os proprietários da organização e os mantenedores de equipe podem conceder permissão às equipes 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

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