Definindo o Mercurial com autenticação e autorização do Active Directory

19

Estou avaliando as possibilidades de mudar minha organização para a Mercurial, mas estou encontrando dois requisitos básicos para os quais não consigo encontrar indicadores adequados.

Como configuro o repositório central do Mercurial para autenticar usuários com o Active Directory central e permitir apenas que eles pressionem ou puxem se tiverem as credenciais corretas?

Como configuro um repositório de projetos Mercurial para permitir apenas que usuários pertencentes a um grupo específico enviem / recebam código-fonte? Precisamos que isso tenha autorização por projeto.

Em quais servidores HTTP (IIS ou Apache etc.) os dois requisitos acima são suportados?

Desculpas se estou perguntando algo óbvio ou se está faltando algo fundamental sobre como a autenticação e a autorização funcionam.

Martin Geisler
fonte
Duplicado de: serverfault.com/questions/83718/…
Martin Geisler

Respostas:

6

Fiz uma postagem de blog em quatro partes para configurar o Mercurial no IIS com autenticação do Active Directory e usar o hgwebdir.cgi para autorização por push. Ele abrange todo o processo de:

  • Configurando a interface da web hg da Mercurial no IIS.
  • Configurando a autenticação do IIS para o Mercurial, para que apenas usuários autorizados pelo diretório ativo (por exemplo, grupos / usuários de segurança) possam visualizar / acessar os repositórios pela interface da web hg ou pelo sistema de arquivos.
  • Configurando a autenticação do Active Directory para usuários do Mercurial, para que apenas usuários autorizados possam ver / acessar os repositórios aos quais têm acesso.
  • Configurando o hgwebdir.cgi via hgweb.config para configurar a autorização por push para repositórios de usuários especificados.
  • Ocultando hgwebdir.cgi usando o ISAPI Rewrite da Helicon na URL do seu repositório.
  • Customizando o estilo / sensação da interface do usuário da web hg para seu próprio gosto.

http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html

Espero que seja útil para as pessoas ...

BenAlabaster
fonte
4

Você pode fazer isso com o Apache. Veja como restringir o envio do Apache em:

http://mercurial.selenic.com/wiki/PublishingRepositories#pushing

Veja acima no mesmo arquivo como configurar o mercurial, suas permissões e todos os usuários permitidos pelo Apache.

Depois de configurar o mercurial e o Apache, você pode usar o mod_authnz_ldap para permitir apenas o acesso aos usuários do Active Directory:

http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html

Não se esqueça de verificar o parágrafo na configuração do Active Directory.

Isso deve ser o suficiente para você.

Boa sorte,
João Miguel Neves

jneves
fonte
O uso de authnz_ldap transmite senhas não criptografadas entre o cliente e o Apache. Estou tentando descobrir como evitar isso, mas não tendo muita sorte.
precisa saber é o seguinte