LDAP에서 바인드 DN은 정확히 무엇입니까?


19

LDAP 서버에 연결하고 쿼리를 실행하는 다양한 코드를 작성했지만 항상 저에게 큰 도움이되었습니다. 내가 실제로 이해하지 못하는 것은 바인드 DN의 개념입니다. 다음 ldapsearch은 openldap에서 제공되는 명령 줄 도구 를 사용하는 예 입니다. (인증 부족은 무시하십시오.)

ldapsearch -h 1.2.3.4 -D dc=example,dc=com [query]

이것의 목적과 기능은 무엇입니까 -D dc=example,dc=com? 디렉토리 계층의 특정 위치에 바인딩해야하는 이유는 무엇입니까? 쿼리가 적용되는 디렉토리의 어느 부분을 설정해야합니까? 예를 들어 디렉토리의 루트 노드가 dc=com이고 두 개의 자식 ( dc=foodc=bar)이있는 경우 dc=foo,dc=com하위 트리가 아닌 하위 트리 에 대해 쿼리를 원할 수 dc=bar,dc=com있습니까?

답변:


18

바인드 DN은 LDAP 내부에 바인드하여 수행하려는 작업을 수행 할 수있는 객체입니다. 일부 (다수?) LDAP 인스턴스는 익명 바인드를 허용하지 않거나 익명 바인드를 사용하여 특정 조작을 수행 할 수 없으므로 해당 조작을 수행하기 위해 ID를 얻으려면 bindDN을 지정해야합니다.

비슷한 기술적이지 않은 방식으로-그리고 이것은 그렇습니다 – 은행은 당신이 그들에게 어떤 종류의 신분증을주지 않고 들어 와서 금리를 볼 수있게 해줍니다. 그러나 계좌를 개설하거나 돈을 인출하려면, 그들이 아는 신원을 갖기 위해-신원은 bindDN입니다.


bindDN이 항상 디렉토리의 노드에 해당합니까? 아니면 임의의 문자열이 될 수 있습니까?
dirtside

예. 암호 속성을 전달하거나 인증되지 않은 노드에 해당해야합니다.
John

토마토, 토마토 🍅 사용자 이름, DN 바인딩. 🤷🏻‍♂️
emallove

31

baseDNbindDN을 혼동하지 마십시오 .

검색 의 baseDN 이 시작점입니다. 검색을 시작할 위치입니다. 꽤 자명하다.

에서 binddn DN은 기본적으로 당신은 LDAP에 대해 인증하는 데 사용하는 자격 증명입니다. bindDN을 사용하는 경우 일반적으로 이와 연관된 비밀번호가 제공됩니다.

즉, bindDN을 지정할 때 해당 오브젝트 보안 액세스를 사용하여 LDAP 트리를 통과합니다.

이제 dc = example, dc = com 문자열 은 LDAP 트리의 "도메인"이므로 bindDN에 대한 최상의 는 아닙니다 . dc도메인 구성 요소를 나타내며 모든 LDAP 트리는 dc = string, dc = string 등의 형식으로 문자열을 사용하여 루트를 정의합니다. 그러나이 문자열은 나머지 트리와 같이 "경로"가 아닙니다.

유효한 예는 다음과 같습니다.

  • dc = example, dc = com
  • dc = mydomain
  • dc = 평균, dc = long, dc = 목록, dc = of, dc = 도메인

그러나 이러한 근본 요소는 불가분의 관계입니다. 그들은 나무의 나머지 부분과 같은 경로를 나타내는 여러 요소 인 것처럼 보이지만 그렇지 않습니다 . 예를 들어, 마지막 예에서 개체 dc = of, dc = domains 는 존재하지 않습니다.

"D : \ my \ folder \"와 같이 C : 드라이브의 이름을 지정한다고 상상해보십시오. 거기에있는 모든 경로는 "D : \ my \ folder \ my \ real \ path"와 같이 보일 것입니다. 실제 파일 경로는 \ my \ real \ path가되므로 혼란 스럽습니까? 이것이 LDAP의 기본 (루트) 모양과 dc = 요소의 집합입니다.

관련 링크 : http://docs.oracle.com/cd/E19199-01/816-6400-10/lsearch.html


7
불필요하게 혼란스러운 디자인처럼 보이지만 설명은 의미가 있습니다.
dirtside

1
예, 동의합니다. 루트 이름을 경로처럼 보이게하는 것이 최선의 선택은 아니지만 그 이유가 있어야한다고 생각합니다. 이제 모든 DN이 일련의 dc = 구성 요소로 끝나는 이유를 알았습니다. =)
Marcelo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.