Administração do GitHub

Objetivo

Como um admin, o seu objetivo é apenas manter tudo funcionando sem problemas para os usuários.

Equipes

É possível criar equipes/teams na sua organização com permissões de acesso.

O GitHub permite que você sincronize as equipes com gruops de IdP (provedores de identidade), como o Microsoft Entra ID. Com essa sincronização, você pode gerenciar tarefas, gerenciar a integração de noos membros, novas permissões e etc. (OBS.: Esse reurso só fucniona se você tiver o GitHub enterprise Cloud e um domínio verificado.)

Os membros de uma equipe com permissões de Mantenedor de equipe ou Administrador do repositório podem:

  • Criar uma nova equipe e alterar as existentes
  • Excluir ou renomear uma equipe
  • Adicionar membros da organição a uma equipe ou removê-los
  • Sincronizar a associação de uma equipe a um grupo do IdP
  • Adicionar colaboradores externos (pessoas que não são membros explicitamente da sua organização) a repositórios da equipe
  • Habilitar ou desabilitar as discussões na página da equipe
  • Alterar a visibilidade da equipe dentro da organização
  • Gerenciar a atribuição de revisão de código automática para as solicitações de PRs
  • Agendar lembretes
  • Alterar a imagem de perfil da equipe

Boas práticas

  • Criar equipes alinhadas com a hierarquia do grupo ou da empresa (trazendo o mundo real para o virtual)
  • Simplificar processos de revisão de PR criando equipes com base nos interesses ou numa tecnologia específica e os individuos podem optar por participar dessas equipes de acordo com os seus interesses ou habilidades técnicas.
  • Sincronizar as equipes do GitHub com o seu IdP.

Organização

Os membros de uma organização com permissões de proprietários podem:

  • Convidar usuários para entrar na organização ou remover eles
  • Organizar os usuários em uma equipe e conceder perissões de mantenedor de equipe aos membros da organização
  • Adicionar colaboradores externos a repositórios
  • Conceder níveis de permissão de repositorio a determinados repositórios
  • Configurar a segurança da organização
  • Configurar a cobrança ou atribuir um gerente de cobrança para a organização
  • Extrair vários tipos de informações sobre os repositórios por meio de scripts

OBS.: É recomendavel configurar apenas uma organização para os seus usuários e repositórios. Se por algum motivo seja obrigatório a criação de mais de uma organização, você deve saber que:

  • Não é possivel duplicar uma organização ou compartilhar configurações entre duas organizações
  • Dependendo das politicas dos provedores de software, pode acontecer de ter custos adicionar se precisar instalar alguns aplicativos em varias organizaçãoes
  • Gerenciar varias organizações é bem mais complexo

Enterprise

Os membros de uma empresa que possui o GitHub Enterprise Cloud e Server que possuem as permissões de proprietarios podem:

  • Habilitar o logon único da SAML para a sua conta corporativa, permitindo que cada membro vincule sua identidade externa em seu IdP à conta do GitHub
  • Adicionar ou remover organizações da empresa
  • Configurar a cobrança ou atribuir um gerente de cobrança a todas as organizações na empresa
  • Configurar as politicas e outras configurações que se aplicam a todas as organizações, repositorios e membros da empresa
  • Extrair varios tipos de informações sobre as organizações por meio de scripts
  • Usar o GitHub Connect para integrar o GitHub Enterprise Server ao GitHub.com

Gerenciar a autenticação dos usuários no GitHub

Nome e senha

Os admins podem permitir que os usuários façam login usando o método padrão. Mas, o GitHub não dá mais suporte à autenticação de senha para operações git ou para o uso da API.

Tokens de acesso pessoal (PATs)

Essa é uma alternativa mais segura ao uso de senha ao usar a API do GitHub ou a linha de comando.

Os usuários devem gerar um token por meio da opção de configurações do GitHub e vinculam as permissões de token a um repositório ou a uma organização.

Quando eles quiserem interagir com a linha de comando do git, por exemplo, eles podem inserir o token quando lhes fores solicitados o nome de usuários e a senha.

Chaves SSH

Os usuáarios podem se conectar a servidores e serviços remotos e se autenticar por meio de SSH.

Ao configurar o SSH, os usuários geram uma chave SSH, adicionam-na ao ssh-agent e, em seguida, adicionam a chave à sua conta do GitHub. Adicionar a chave SSH ao agente SSH garante que ela tenha uma frase secreta como camada extra de segurança. Os usuários podem configurar a cópia local do Git deles para fornecer a frase secreta automaticamente, ou podem fornecê-la manualmente sempre que usarem a ferramenta de linha de comando do Git para interagir com o GitHub.

Você pode usar chaves SSH com um repositório de uma organização que utiliza o login unico SSO via SAML.

Deploy keys/Chaves de implantação

Essas chaves são um outro tipo de chave SSH que permite o usuário acesso a apenas a um repositório.

Seção de chaves de implantação
Seção de chaves de implantação

Autenticação de dois fatores (2FA)

Essa autenticação também conhecida como autenticação multifator (MFA), adiciona uma camada extra de proteção à seua conta do Github.

É possivel impor a autenticação para os membros da empresa.

OBS.:

  • Para organizações no GitHub Team e no GitHub Enterprise Cloud, é possivel exigir que os membros, colaboradores externos habilitem esssa autenticação para suas contas pessoais.
  • Para EMUs (Usuários Gerenciados corporativos) e GitHub Enterprise Server, os admins podem exigir para somente contas gerenciadas por empresas, mas não pdem impor para as contas pessoais dos usuários.
Obrigação da autenticação de dois fatores
Obrigação da autenticação de dois fatores

SSO do SAML

Você pode configurar o SSO do SAML para proteger acesso aos recursos da sua organização, como repositórios, issues, PRs, etc. Ao tentar acessar esses recursos, GitHub redireciona os usuários para autenticar com o IdP da sua organização.

O GitHub dá suporte à provedores que implemenam o padão SAML 2.0.

LDAPL (Lightweight Directory Acess Protocol)

Disponivel apenas para o GitHub Enterprise Server.