Como posso configurar o Redmine => autenticação do Active Directory?

9

Primeiro, não sou administrador do AD no local, mas meu gerente me pediu para tentar integrar minha instalação pessoal do Redmine ao ActiveDirectory, a fim de testá-la para uma distribuição em maior escala.

Nosso servidor AD está no host: port ims.example.com:389e eu tenho um usuário IMS/me.

No momento, também tenho um usuário meno Redmine usando autenticação local.

Eu criei um método de autenticação LDAP do ActiveDirectory no RedMine com os seguintes parâmetros:

Host: ims.example.com
Port: 389
Base DN: cn=Users,dc=ims,dc=example,dc=com

On-The-Fly User Creation: YES
Login: sAMAccountName
Firstname: givenName
Lastname: sN
Email: mail

Testar esta conexão funciona muito bem.

No entanto, não fui autenticado com êxito.

Criei um usuário administrador de backup para poder voltar à meconta se eu quebrar as coisas e tentei mudar mepara usar as credenciais do ActiveDirectory. No entanto, quando o faço, nada funciona para fazer login. Tentei todas essas opções de nome de login:

  • me
  • IMS/me
  • IMS\me

Eu usei minha senha de domínio conhecida, mas não há alegria.

Então, que configuração estou errada ou que informações preciso adquirir para fazer isso funcionar?

Chris R
fonte

Respostas:

13

Ok, aqui estão as configurações específicas que eu precisava para fazer isso funcionar:

Host: ims.example.com
Port: 389
User: MYDOMAIN\accountName
Password: *******
Base DN: dc=mydomain,dc=example,dc=com

On-The-Fly User Creation: YES
Login: sAMAccountName
Firstname: givenName
Lastname: sN
Email: mail

O truque foi remover cn=Usersdo DN Base, após o qual tudo se juntou.

A outra coisa notável foi a inclusão de um usuário para ler o diretório.

Por fim, o usuário que faz login usa seu nome de usuário sem qualificação de domínio e sua senha de domínio como de costume. Nosso domínio não requer um endereço de email, portanto, há uma etapa adicional em que o endereço de email deve ser definido durante a criação do usuário, mas isso é bastante direto.

Chris R
fonte
Ahh ... nem pensei em perguntar se suas contas de usuário estavam no contêiner padrão "CN = Usuários, ..." ou não.
Evan Anderson
Seria mais útil saber como eu poderia ter determinado isso. Eu só cheguei nessa configuração por tentativa e erro.
Chris R
Isso foi em grande parte tentativa e erro para mim também, já que criei manualmente meu próprio plug-in de autenticação do AD para o Devise que nem sequer requer uma conta específica de leitura do AD; ele se liga e se autentica no AD usando o nome de usuário / senha. Isso foi muito útil, Chris, obrigado.
Ben Kreeger
Um esclarecimento (demorei uma tarde inteira): A conta precisa ser formatada como um nome distinto - não como um nome de login.
coz
Para mim, a correção como adicionar o domínio à conta do usuário da consulta, por exemplo, a parte MYDOMAIN.
Andy Arismendi
6

Um truque para encontrar o DN base para autenticação LDAP do ActiveDirectory é verificar qual é o nome de domínio totalmente qualificado dos usuários. você pode verificar isso com:

whoami /FQDN

se você estiver logado como esse usuário, que retorna algo como

CN=John Doe,OU=users,OU=department,DC=corp,DC=domain,DC=com

e o DN base pode ser encontrado removendo o primeiro CN.

OU=users,OU=department,DC=corp,DC=domain,DC=com
Remco Schoeman
fonte
Obrigado por isso. Eu não conhecia esse comando, muito útil.
Jasonmmiraglia
4

Não tenho familiaridade com o Redmine, mas com certeza parece que você está tentando fazer uma ligação anônima ao Active Directory para validar credenciais. Isso não vai funcionar. Tendo configurado vários produtos para integração LDAP com o AD, esse é um problema comum que eu já vi.

Pronto para uso, o AD exige que os clientes se autentiquem ao vincular-se ao diretório para executar consultas.

Dê uma olhada nesta postagem do wiki do Redmine re: configurando a autenticação LDAP. Eles estão falando sobre a especificação de uma conta e senha para o Redmine usar (uma que tenha direitos de ler o diretório - um simples "Usuário de Domínio" fará) para vincular ao diretório.

Evan Anderson
fonte
De que forma devo colocar o nome de usuário? Eles realmente não explicar que na postagem wiki (que era o meu ponto de partida para este processo de qualquer maneira)
Chris R
Especificamente, eu tentei IMS\mee não parecia funcionar. Também não consigo obter detalhes sobre por que está falhando.
Chris R
Eu especificaria o nome de usuário de ligação na sintaxe DOMAIN \ samAccountName. Quanto a descobrir por que está falhando, eu recomendo obter um sniffer (tcpdump, wireshark, Microsoft "Network Monitor", etc) incorporado e trazer isso para o problema. Não há maneira mais rápida de descobrir o que está sendo dito no fio do que olhar para o que está sendo dito no fio. (Parece bobagem, mas muitas pessoas nem pensam em procurar lá ...) Então, pelo menos, você pode ver se os parâmetros que você especificou estão sendo passados ​​conforme o esperado.
Evan Anderson
O Wireshark está se tornando uma dádiva de Deus aqui. Obrigado por essa dica. Encontrei alguns problemas e divulgarei os detalhes em breve.
Chris R
Ver o que as caixas estão dizendo entre si deixa clara a causa de muitos problemas. Fico feliz em saber que você conseguiu!
Evan Anderson
3

Use um navegador ldap e verifique visualmente a estrutura ... o luma no ubuntu funciona bem, o ldapper para o mac também.


fonte
Na verdade, ele não funcionou com meu servidor LDAP, mas posso ver como seria útil.
Chris R