Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Esta versão do GitHub Enterprise foi descontinuada em 2022-06-03. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Usar LDAP

Se você usar o Lightweight Directory Access Protocol (LDAP) para centralizar o acesso em todos os aplicativos, você poderá integrar o GitHub Enterprise Server configurando autenticação do LDAP para sua instância.

Sobre a autenticação do LDAP para GitHub Enterprise Server

O LDAP é um protocolo popular do aplicativo para acesso e manutenção de serviços de informações de diretórios e é um dos protocolos mais comuns para integração de softwares de terceiros com grandes diretórios de usuários da empresa. Para obter mais informações, consulte "Lightweight Directory Access Protocol" na Wikipedia.

Se você usar um diretório do LDAP para autenticação centralizada, você poderá configurar a autenticação do LDAP para as pessoas que usam your GitHub Enterprise Server instance.

If you want to allow authentication for some people who don't have an account on your external authentication provider, you can allow fallback authentication to local accounts on your GitHub Enterprise Server instance. Para obter mais informações, consulte "Permitir a autenticação integrada para usuários de fora do seu provedor".

Serviços LDAP compatíveis

O GitHub Enterprise Server se integra aos seguintes serviços LDAP:

  • Active Directory;
  • FreeIPA;
  • Oracle Directory Server Enterprise Edition;
  • OpenLDAP;
  • Open Directory;
  • 389-ds.

Considerações de nome de usuário no LDAP

GitHub Enterprise Server normalizes a value from your external authentication provider to determine the username for each new personal account on your GitHub Enterprise Server instance. Para obter mais informações, consulte "Considerações de nome de usuário para autenticação externa".

Configurar o LDAP na your GitHub Enterprise Server instance

Depois que você configurar o LDAP, os usuários poderão acessar a instância com as credenciais LDAP. Quando os usuários acessarem pela primeira vez, seus nomes de perfil, endereços de e-mail e chaves SSH serão definidos com os atributos LDAP do diretório.

Quando você configurar o acesso LDAP dos usuários pelo Console de gerenciamento, suas licenças de usuário não serão usadas até que o primeiro usuário faça login na sua instância. No entanto, se você criar uma conta manualmente usando as configurações de administrador do site, a licença do usuário é imediatamente contabilizada.

Aviso: antes de configurar o LDAP na your GitHub Enterprise Server instance, verifique se o serviço LDAP oferece suporte a resultados paginados.

  1. From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .

    Screenshot of the rocket ship icon for accessing site admin settings

  2. If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.

    Screenshot of "Site admin" link

  3. Na barra lateral esquerda, clique em Console de gerenciamento. Console de gerenciamento aba na barra lateral esquerda

  4. Na barra lateral esquerda, clique em Authentication. Aba de autenticação na barra lateral de configurações

  5. Em "Authentication" (Autenticação), selecione LDAP. Selecionar LDAP

  6. Optionally, to allow people without an account on your external authentication system to sign in with built-in authentication, select Allow built-in authentication. Para obter mais informações, consulte "Permitir a autenticação integrada para usuários de fora do seu provedor". Selecionar caixa de autenticação integrada

  7. Defina as configurações.

Atributos LDAP

Use estes atributos para finalizar a configuração LDAP na your GitHub Enterprise Server instance.

Nome do atributoTipoDescrição
HostObrigatórioHost LDAP, por exemplo, ldap.example.com ou 10.0.0.30. Se o nome do host só estiver disponível na rede interna, talvez seja necessário configurar antes o DNS da your GitHub Enterprise Server instance para que ele resolva o nome do host usando seus servidores de nomes internos.
PortaObrigatórioPorta em que os serviços de host LDAP estão escutando. Por exemplo: 389 e 636 (para LDAPS).
CriptografiaObrigatórioMétodo de criptografia usado para proteger as comunicações com o servidor LDAP. Por exemplo, básico (sem criptografia), SSL/LDAPS (criptografia desde o início) e StartTLS (atualizar para comunicação com criptografia no momento da conexão).
Usuário de pesquisa de domínioOpcionalO usuário do LDAP que procura outros usuários que efetuam o login para permitir a autenticação. Em geral, é uma conta de serviço criada especificamente para integrações de terceiros. Use um nome totalmente qualificado, como cn=Administrador,cn=Usuários,dc=Exemplo,dc=com. Com o Active Directory, também é possível usar a sintaxe [DOMAIN]\[USERNAME] (por exemplo, WINDOWS\Administrator) para o usuário de pesquisa de domínio.
Senha de pesquisa de domínioOpcionalSenha do usuário de pesquisa de domínio.
Grupos de administradoresOpcionalAo fazerem login no seu appliance, os usuários deste grupo são promovidos a administradores do site. Se você não configurar um grupo de administradores LDAP, a primeira conta de usuário LDAP que acessar seu appliance será automaticamente promovida a administrador do site.
Base de domínioObrigatórioDistinguished Name (DN) totalmente qualificado de uma subárvore LDAP em que você pretende procurar usuários e grupos. Você pode adicionar quantos quiser, mas cada grupo deve ser definido na mesma base de domínio que os usuários pertencentes a ele. Se você especificar grupos de usuários restritos, somente os usuários pertencentes a esses grupos estarão no escopo. É recomendável especificar o nível superior da sua árvore de diretórios LDAP como base de domínio e usar grupos de usuários restritos para controlar o acesso.
Grupos de usuários restritosOpcionalSe especificados, somente os usuários desses grupos poderão efetuar login. Você só precisa especificar os nomes comuns (CNs, Common Names) dos grupos e adicionar quantos grupos quiser. Se não houver grupos especificados, todos os usuários no escopo da base de domínio especificada poderão fazer login na sua instância do GitHub Enterprise Server.
ID de usuárioObrigatórioAtributo LDAP que identifica o usuário LDAP que tenta fazer a autenticação. Quando houver mapeamento estabelecido, os usuários poderão alterar seus nomes de usuário no GitHub Enterprise Server. Este campo deve ser sAMAccountName para a maioria das instalações do Active Directory, mas pode ser uid para outras soluções LDAP, como OpenLDAP. O valor padrão é uid.
Nome de perfilOpcionalNome exibido na págin de perfil do usuário no GitHub Enterprise Server. Se a Sincronização LDAP estiver habilitada, os usuários poderão alterar seus nomes de perfil.
E-mailsOpcionalEndereço de e-mail para a conta de usuário no GitHub Enterprise Server.
Chaves SSHOpcionalChaves SSH públicas vinculadas �  conta de um usuário no GitHub Enterprise Server. As chaves devem estar no formato OpenSSH.
Chaves GPGOpcionalChaves GPG vinculadas �  conta de um usuário no GitHub Enterprise Server.
Desabilitar autenticação LDAP em operações no GitOpcionalSe estiver selecionada, essa opção desativa o recurso dos usuários para usar senhas LDAP a fim de autenticar as operações no Git.
Habilitar verificação certificada LDAPOpcionalSe estiver selecionada, essa opção desativa a verificação de certificado LDAP.
SincronizaçãoOpcionalSe estiver selecionada, essa opção ativa a Sincronização LDAP.

Desabilitar autenticação de senha nas operações no Git

Selecione Disable username and password authentication for Git operations (Desabilitar autenticação de nome de usuário e senha para operações do Git) nas configurações LDAP para impor o uso de tokens de acesso pessoal ou chaves SSH, o que pode ajudar a impedir a sobrecarga do servidor por solicitações de autenticação LDAP. Essa configuração é recomendável porque servidores LDAP com resposta lenta, especialmente combinados a um grande número de solicitações devido �  sondagem, são uma causa comum de interrupções e problemas de desempenho.

Desabilitar autenticação de senha LDAP na caixa de seleção do Git

Quando esta opção estiver selecionada, se tentar usar uma senha para as operações do Git pela linha de comando, o usuário receberá está mensagem de erro: A autenticação de senha não é permitida para operações do Git. Você deve usar um token de acesso pessoal.

Habilitar verificação certificada LDAP

Selecione Enable LDAP certificate verification (Habilitar verificação certificada LDAP) nas suas configurações LDAP para validar o certificado de servidor LDAP que você usa com o TLS.

Caixa de seleção de verificação certificada LDAP

Quando esta opção estiver selecionada, o certificado será validado para garantir o seguinte:

  • Se o certificado contiver ao menos um nome alternativo da entidade (SAN, Subject Alternative Name), um dos SANs deve corresponder ao nome do host LDAP. Do contrário, o nome comum (CN) corresponderá ao nome de host LDAP.
  • O certificado não deve estar expirado.
  • O certificado deve estar assinado por uma autoridade de certificação (CA, Certificate Authority) confiável.

Habilitar a Sincronização LDAP

Observação: As equipes que usam Sincronização LDAP são limitadas a um máximo de 1499 integrantes.

A Sincronização LDAP permite sincronizar os usuários do GitHub Enterprise Server e a associação da equipe nos seus grupos LDAP estabelecidos. Assim, é possível estabelecer o controle de acesso baseado em função para os usuários do seu servidor LDAP, em vez de fazer isso manualmente no GitHub Enterprise Server. Para obter mais informações, consulte "Criar equipes".

Para habilitar a Sincronização LDAP, selecione Synchronize Emails (Sincronizar e-mails), Synchronize SSH Keys (Sincronizar chaves SSH) ou Synchronize GPG Keys (Sincronizar chaves GPG) nas configurações LDAP.

Caixa de seleção de sincronização

Depois que você habilitar a sincronização LDAP, um trabalho de sincronização será executado no período especificado para fazer as seguintes operações em cada conta de usuário:

  • Se você tiver permitido a autenticação integrada para usuários de fora do provedor de identidade e o usuário estiver usando a autenticação integrada, vá para o próximo usuário.
  • Se não houver mapeamento LDAP para o usuário, tente mapeá-lo para uma entrada LDAP no diretório. Se não for possível mapear o usuário para uma entrada LDAP, suspenda o usuário em questão e passe para o seguinte.
  • Se houver um mapeamento LDAP e a entrada LDAP correspondente no diretório estiver ausente, suspenda o usuário e passe para o seguinte.
  • Se a entrada LDAP correspondente tiver sido marcada como desativada e o usuário ainda não estiver suspenso, suspenda o usuário e passe para o seguinte.
  • Se a entrada LDAP correspondente não estiver marcada como desabilitada, se o usuário estiver suspenso e se a opção Reativar usuários suspensos estiver habilitada na central do administrador, cancele a suspensão do usuário.
  • Se um ou mais grupos restritos de usuários estiverem configurados na instância e a entrada do LDAP correspondente não for em um desses grupos, suspenda o usuário.
  • Se um ou mais grupos restritos de usuários estiverem configurados na instância, a entrada do LDAP correspondente será em um desses grupos. e Reativar usuários suspensos estiver habilitado no Centro de Administração, cancele a suspensão do usuário.
  • Se a entrada LDAP correspondente incluir um atributo name, atualize o nome do perfil do usuário.
  • Se a entrada LDAP correspondente estiver no grupo de administradores, promova o usuário a administrador do site.
  • Se a entrada LDAP correspondente não estiver no grupo de administradores, rebaixe o usuário para uma conta regular.
  • Se um campo LDAP User (Usuário LDAP) estiver definido para e-mails, sincronize as configurações de e-mail do usuário com a entrada LDAP. Defina a primeira entrada LDAP mail como e-mail principal.
  • Se um campo LDAP User (Usuário LDAP) estiver definido para chaves SSH públicas, sincronize as chaves SSH públicas do usuário com a entrada LDAP.
  • Se um campo LDAP User (Usuário LDAP) estiver definido para chaves GPG públicas, sincronize as chaves GPG públicas do usuário com a entrada LDAP.

Observação: as entradas LDAP só podem ser marcadas como desabilitadas se você usar o Active Directory, e se o atributo userAccountControl estiver presente e sinalizado com ACCOUNTDISABLE. Algumas variações do Diretório Ativo, como AD LDS e ADAM, não são compatíveis com o atributo userAccountControl.

Um trabalho de sincronização também será executado no período especificado para fazer as seguintes operações em cada equipe mapeada para um grupo LDAP:

  • Se um grupo LDAP correspondente de uma equipe tiver sido removido, remova todos os integrantes da equipe.
  • Se as entradas do integrante LDAP tiverem sido removidas do grupo LDAP, remova os usuários correspondentes da equipe. Se o usuário não for mais integrante de qualquer equipe na organização, remova o usuário da organização. Se o usuário perder o acesso a qualquer repositórios, exclua todas as bifurcações privadas que ele possa ter nesses repositórios.
  • Se as entradas do integrante LDAP tiverem sido adicionadas ao grupo LDAP, adicione os usuários correspondentes �  equipe. Se o usuário recuperar o acesso a quaisquer repositórios, restaure todas as bifurcações privadas dos repositórios que foram excluídos porque o usuário perdeu o acesso nos últimos 90 dias.

Como parte de sua configuração de otimização, LDAP Sync não irá transferir sua estrutura de equipe aninhada. Para criar relacionamentos de equipe filhos e pais, você deve recriar manualmente a estrutura de equipe aninhada e sincronizá-la com o grupo LDAP correspondente. Para obter mais informações, consulte "Creating teams" (Criar equipes)

Aviso de segurança:

Quando a Sincronização LDAP está ativada, os administradores do site e os proprietários da organização podem pesquisar grupos no diretório LDAP aos quais pretendem mapear a equipe.

Esse procedimento pode resultar na divulgação de informações confidenciais da organização para contratados ou outros usuários sem privilégios, inclusive:

  • A existência de grupos LDAP específicos visíveis para o usuário de pesquisa de domínio;
  • Integrantes do grupo LDAP que tenham contas de usuário no GitHub Enterprise Server, divulgadas ao criar uma equipe sincronizada com o grupo LDAP.

Se não houver intenção de divulgar essas informações, sua empresa ou organização deve restringir as permissões do usuário de pesquisa de domínio configurado no Console de administração. Caso não seja possível fazer essa restrição, entre em contato com o GitHub Enterprise Support.

Classes de grupo de objeto LDAP compatíveis

O GitHub Enterprise Server é compatível com as seguintes classes de grupo de objeto LDAP. Os grupos podem ser aninhados.

  • grupo
  • groupOfNames
  • groupOfUniqueNames
  • posixGroup

Exibir e criar usuários LDAP

É possível exibir a lista completa de usuários LDAP que têm acesso �  sua instância, e você também pode provisionar novos usuários.

  1. Faça login no your GitHub Enterprise Server instance em http(s)://HOSTNAME/login.

  2. From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .

    Screenshot of the rocket ship icon for accessing site admin settings

  3. If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.

    Screenshot of "Site admin" link

  4. Na barra lateral esquerda, clique em LDAP users (Usuários LDAP). Guia de usuários LDAP

  5. Para procurar um usuário, digite um nome (total ou parcialmente) do usuário e clique em Search (Pesquisar). Os usuários serão exibidos nos resultados da pesquisa. Se o usuário não existir, clique em Create (Criar) para provisionar a nova conta. Pesquisa LDAP

Atualizar contas LDAP

Se a Sincronização LDAP estiver desabilitada, as alterações nas contas LDAP não serão sincronizadas automaticamente com o GitHub Enterprise Server.

Sincronizar contas LDAP manualmente

  1. Faça login no your GitHub Enterprise Server instance em http(s)://HOSTNAME/login.

  2. From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .

    Screenshot of the rocket ship icon for accessing site admin settings

  3. If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.

    Screenshot of "Site admin" link

  4. No campo de busca, digite o nome do usuário e clique em Search (Pesquisar). campo de pesquisa de configurações de administrador do site

  5. Nos resultados da pesquisa, clique no nome do usuário. Opções de pesquisa das configurações do administrador

  6. No canto superior direito da página, clique em Admin. Ferramentas Administrativas

  7. Na barra lateral esquerda, clique em Admin. Ferramentas Administrativas

  8. Em "LDAP," clique em Sync now (Sincronizar agora) para atualizar manualmente a conta com os dados do seu servidor LDAP. Botão LDAP sync now (Sincronizar LDAP agora)

Você também pode usar a API para acionar uma sincronização manual.

Revogar o acesso �  your GitHub Enterprise Server instance

Se a Sincronização LDAP estiver habilitada, remover as credenciais LDAP do usuário suspenderá a conta do usuário após a execução de sincronização seguinte.

Se a Sincronização LDAP não estiver habilitada, você deve suspender manualmente a conta do GitHub Enterprise Server após remover as credenciais LDAP. Para obter mais informações, consulte "Suspender e cancelar a suspensão de usuários".