LDAP / ActiveDirectory BindDN 구문


8

클라이언트의 Linux 기반 하드웨어 방화벽 문제를 해결하고 있습니다. 이 하드웨어 방화벽은 Single SignOn 인증을 위해 ActiveDirectory에 연결됩니다.

ActiveDirectory는 내가 아는 한 LDAP의 변형 된 버전 일뿐 아니라 같은 BindDN 구문을 사용합니다. 틀린 경우 수정하십시오.

클라이언트는 이것을 BindDN으로 구성했습니다. 실제 문자열은 개인 정보 보호를 위해 대체되었지만 특수 문자와 공백은 남아 있습니다. "somerandomplace \ fubar fubaz"

이것은 나에게 유효한 BindDN 구문이 아닌 것 같습니다. 전에 LDAP로 작업 한 적이 있지만 테스트 버튼을 눌러이 BindDN을 테스트하면 테스트에 성공합니다. BindDN의 문자 중 하나만 변경하고 테스트를 다시 실행하면 테스트가 실패합니다.

문제가 무엇인지 파악하려고합니다.

A) BindND의 뉘앙스와 관련 구문을 완전히 이해하지 못합니다.

또는

B) 기기가 입력을 제대로 확인하지 못하고 테스트를 성공으로 잘못 식별하는 경우

답변:


14

LDAP는 단지 프로토콜입니다. Greg가 말했듯이 Microsoft의 Active Directory에서의 구현은이를 정의하는 다양한 RFC를 준수합니다. (그에게 +1)

더그의 대답은 그가 유효한 바인드 DN의 한 예를 제공한다는 점에서 부분적으로 맞습니다. 그러나 Active Directory에서는 특히 바인드 DN 값을 다른 형식으로도 보낼 수 있습니다. 내 의견으로는 사용하기에 가장 좋은 형태 UserPrincipalName (UPN)는 명시 적으로 변경되지 않는 한 일반적으로 다음과 같은 형태입니다.

  • <sAMAccountName> @ <도메인 FQDN> (예 : user1@contoso.com)

일반 DN 값에 비해이 이점은 사용자 계정을 AD 내에서 이동할 수 있으며 자격 증명을 사용하는 응용 프로그램에서 구성을 업데이트 할 필요가 없다는 것입니다.

또한 기존 NetBIOS 형식 일 수 있으며이 형식은 클라이언트가 사용중인 것으로 보입니다.

  • <도메인 NetBIOS 이름> \ <sAMAccountName> (예 : CONTOSO \ user1)

이것은 UPN 값과 동일한 이점을 갖지만 다시 레거시로 간주됩니다. NetBIOS 이름은 오래 전에 죽었을 것이지만, 그것은 다른 스레드에 대한 열망입니다.


감사합니다! DN의 3 가지 형태에 대한이 의견은 제가 놓친 퍼즐 조각입니다.
Mark E. Haase

UPN을 LDAP DN으로 사용할 수 있다는 것을 몰랐습니다. 단.
Jonathon Reinhart

1
AD에 대한 외부 인증 만 지원하는 응용 프로그램 공급 업체 (LDAP를 통해)를 알고있는 응용 프로그램 공급 업체 수에 놀랐습니다.
Ryan Bolger

2

바인드 DN은 사용자 컨테이너에있는 사용자의 CN = username, CN = Users, DC = yourdomain, DC = com입니다.

Active Directory가 인식하는 경우 sAMAccountname 속성을 검색하기 때문에 사용자 이름 만 입력하면 작동 할 수 있습니다. 도메인 이름 앞에 사용자 이름을 붙이지 마십시오.


1

Microsoft의 LDAP 구현은 호환됩니다. 모든 문자는 DN에서 유효합니다. 특수 문자가 있으면 이스케이프해야합니다. 공백이 앞뒤로 나오지 않는 한 탈출 할 필요가 없습니다. 문자는 백 슬래시 또는 \ nn 16 진수로 이스케이프 할 수 있습니다.

고유 이름
http://msdn.microsoft.com/en-us/library/windows/desktop/aa366101%28v=vs.85%29.aspx

space or # character at the beginning of a string    0x20
space character at the end of a string    0x20
,    comma    0x2C
+    plus sign    0x2B
"    double quote    0x22
\    backslash    0x5C
<    left angle bracket    0x3C
>    right angle bracket    0x3E
;    semicolon    0x3B
LF   line feed    0x0A
CR   carriage return    0x0D
=    equals sign    0x3D
/    forwards slash    0x2F 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.