Redmine => Active Directory 인증을 어떻게 설정합니까?


9

첫째, 저는 사이트의 AD 관리자가 아니지만 관리자가 대규모 롤아웃을 위해 테스트 구동하기 위해 개인 Redmine 설치를 ActiveDirectory와 통합하도록 요청했습니다.

우리의 AD 서버는 host : port에 ims.example.com:389있으며 사용자가 IMS/me있습니다.

현재 me로컬 인증을 사용하는 Redmine 사용자도 있습니다 .

RedMine에서 다음 매개 변수를 사용하여 ActiveDirectory LDAP 인증 방법을 만들었습니다.

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

이 연결을 테스트하면 정상적으로 작동합니다.

그러나 인증을받지 못했습니다.

백업 관리자를 생성하여 문제가 발생 me했을 때 계정으로 돌아올 수 me있으며 ActiveDirectory 자격 증명을 사용하도록 변경하려고 시도했습니다 . 그러나 일단 로그인하면 아무것도 작동하지 않습니다. 다음 로그인 이름 옵션을 모두 시도했습니다.

  • me
  • IMS/me
  • IMS\me

알려진 도메인 비밀번호를 사용했지만 기쁨은 없습니다.

그렇다면 어떤 설정이 잘못되었거나이 작업을 수행하기 위해 어떤 정보를 얻어야합니까?

답변:


13

자,이 작업을 수행하는 데 필요한 특정 설정은 다음과 같습니다.

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

트릭은 cn=Users기본 DN에서 제거 된 후 모든 종류가 함께 이루어졌습니다.

다른 주목할만한 것은 디렉토리를 읽을 사용자를 포함시키는 것이 었습니다.

마지막으로 로그인하는 사용자는 도메인 자격없이 사용자 이름과 평소와 같이 도메인 암호를 사용합니다. Google 도메인에는 이메일 주소가 필요하지 않으므로 사용자 생성 중에 이메일 주소를 설정해야하는 추가 단계가 있지만 매우 간단합니다.


아 ... 귀하의 사용자 계정이 "CN = Users, ..."기본 컨테이너에 있는지 여부를 묻지도 않았습니다.
Evan Anderson

내가 어떻게 그것을 결정할 수 있었는지 아는 것이 더 유용 할 것입니다. 시행 착오를 통해서만이 설정에 도달했습니다.
Chris R

특정 AD 읽기 계정이 필요하지 않은 Devise 용 자체 AD 인증 플러그인을 수동으로 롤링 했으므로 이는 매우 시행 착오였습니다. 사용자 이름 / 암호 로그인을 사용하여 AD에 바인딩하고 인증합니다. 이는 매우 도움이되었습니다. Chris, 감사합니다.
벤 크리거

한 가지 설명 (오후 오후 내내) : 계정은 로그인 이름이 아닌 고유 이름으로 형식화해야합니다.
coz

나를 위해 MYDOMAIN 부분과 같은 쿼리 사용자 계정에 도메인을 추가하는 것과 같은 수정 프로그램.
앤디 Arismendi

6

ActiveDirectory LDAP 인증을위한 기본 DN을 찾는 방법은 사용자가 정규화 된 도메인 이름을 확인하는 것입니다. 당신은 그것을 확인할 수 있습니다 :

whoami /FQDN

해당 사용자로 로그인 한 경우

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

기본 DN은 첫 번째 CN을 제거하여 찾을 수 있습니다.

OU=users,OU=department,DC=corp,DC=domain,DC=com

고마워 나는이 명령을 몰랐다. 매우 도움이되었다.
jasonmmiraglia

4

Redmine에 익숙하지 않지만 자격 증명의 유효성을 검사하기 위해 Active Directory에 익명 바인딩을 시도하는 것처럼 보입니다. 작동하지 않습니다. AD와의 LDAP 통합을 위해 여러 제품을 구성한 경우, 이것은 내가 본 일반적인 문제입니다.

AD는 기본적으로 클라이언트가 디렉터리에 바인딩 할 때 쿼리를 수행 할 때 인증해야합니다.

이 Redmine Wiki 게시물 re : LDAP 인증 구성을 살펴보십시오 . 그들은 Redmine이 디렉토리에 바인딩하기 위해 사용할 디렉토리와 디렉토리를 읽을 수있는 권한을 가진 계정과 비밀번호를 지정하는 것에 대해 이야기하고 있습니다.


사용자 이름을 어떤 형식으로 입력해야합니까? 그들은 실제로 위키 게시 (이 과정의 시작점)에서 설명하지는 않습니다.
Chris R

특히, 시도했지만 IMS\me작동하지 않는 것 같습니다. 실패 했는지에 대한 세부 정보를 얻을 수 없습니다 .
Chris R

DOMAIN \ samAccountName 구문에서 바인드 사용자 이름을 지정합니다. 실패 했는지 파악하는 한 스니퍼 (tcpdump, wireshark, 내장 Microsoft "Network Monitor"등)를 가져 와서 문제를 해결하는 것이 좋습니다. 와이어에서 말하는 것을 파악하는 것보다 와이어에서 말하는 것을 파악하는 더 빠른 방법은 없습니다. (어리석은 소리로 들리지만 많은 사람들이 거기에서 보려고 생각하지 않습니다 ...) 그런 다음 적어도 지정한 매개 변수가 예상대로 전달되는지 확인할 수 있습니다.
Evan Anderson

Wireshark는 여기서 신의 선물로 밝혀졌습니다. 그 팁 감사합니다. 나는 그것에 대한 몇 가지 문제를 발견했으며 곧 세부 사항을 살펴보고 게시 할 것입니다.
Chris R

상자가 서로 말하는 내용을 보면 많은 문제의 원인이 즉시 명확 해집니다. 당신이 그것을 작동하게되어 기쁘다!
Evan Anderson

3

ldap 브라우저를 사용하여 시각적으로 구조를 확인하십시오 ... 우분투의 luma는 잘 작동하고 ldapper는 Mac에서도 작동합니다.


실제로 내 LDAP 서버에서는 작동하지 않지만 그것이 어떻게 유용한 지 알 수 있습니다.
크리스 R

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.