LDAP; Lightweight Directory Access Protocol
네트워크 상에서 조직이나 개인정보 혹은 파일이나 디바이스 정보 등을 찾기 위한 소프트웨어 프로토콜
네트워크 상의 디렉터리 서비스 표준인 X.500의 DAP(Directory Access Protocol)을 기반으로 하는 lightweight DAP
DAP처럼 OSI 전체 계층을 지원하지 않고, TCP/IP 레이어 상에서 동작한다. 현재 버전은 LDAPv3다.
특정 데이터를 중앙에서 일괄적으로 관리하는 경우에 사용된다. 예로 들어 회사에서 구성원의 조직도를 관리하거나 이용자명과 비밀번호를 확인하여 인증하는 용도로 사용할 수 있다.
💡 디렉터리 서비스(Directory Service)
네트워크 자원을 통합하기 위해 디렉토리 정보를 저장, 구성 및 액세스 할 수 있는 소프트웨어 시스템
도메인 이름으로 IP 주소를 조회화는 DNS 또한 디렉터리 서비스 중 하나다.
구성
데이터 구조
LDAP은 계층적 트리 구조로 엔트리(Entry)라는 기본 단위로 정보를 저장한다. Entry는 Attribute로 구성된다.
요소 | 설명 |
엔트리 (Entry) | 디렉터리 정보에 대한 기본 단위 트리 구조의 각 노드에 해당한다. 각 Entry는 DN(Distinguished Name)으로 구분한다. 다수의 Attribute를 가질 수 있다. Root Entry는 Suffix라고도 한다. |
속성 (Attribute) | Entry를 구성하는 단위 Type과 Value로 이루어져 있다. |
유형 (Type) | Attribute 정보의 종류 예) 조직 단위(ou), 일반 이름(cn), 도메인 구성 요소(dc) 등등 |
값 (Value) | Attribute의 실질적인 데이터 |
즉, 속성이 존재하는 디렉터리에 정보를 저장하는 것처럼 이해할 수도 있다.
LDAP에서는 아래 목록의 Attribute Type을 사용할 수 있다.
String X.500 AttributeType
------------------------------
CN commonName
L localityName
ST stateOrProvinceName
O organizationName
OU organizationalUnitName
C countryName
STREET streetAddress
DC domainComponent
UID userid
용어
DIT (Directory Information Tree)
디렉터리 서비스 엔트리의 DN으로 구성된 계층적 트리 구조
DN (Distinguished Name; 고유 이름)
Entry를 고유하게 식별하며, DIT에서의 위치를 설명한다.
루트 Entry에서부터 해당 Entry까지의 경로에 존재하는 Entry의 RDN를 오른쪽에서부터 나열한 형식이다.
그림의 CN=Gerald Carter의 DN은 CN=Gerald Carter,OU=People,Dc=Plain,Dc=org이다.
RDN (relative distinguished name)
DN을 구성하는 요소. 쉼표로 구분된다.
CN=Gerald Carter의 DN은 CN=Gerald Carter,OU=People,Dc=Plain,Dc=org의 RDN은 아래와 같다.
- CN=Gerald Carter
- OU=People
- Dc=Plain
- Dc=org
4개의 구성 요소 전부 RDN이지만, 일반적으로 해당 엔트리의 RDN은 DN의 가장 왼쪽 구성 요소(CN=Gerald Carter)를 지칭한다.
참고 문서
[active-directory] LDAP 검색에서 CN, OU, DC 란 무엇입니까?
https://ldap.com/ldap-dns-and-rdns/
https://ldap.or.kr/ldap-%EC%9D%B4%EB%9E%80/
https://en.wikipedia.org/wiki/Directory_information_tree
https://yongho1037.tistory.com/796