LDAP 정보 구조

다음 절은 LDAP 정보 구조, 즉 LDAP 디렉토리의 요소와 요소를 구조화하는 방법을 설명합니다. 이 절에서는 다음과 같은 기본 LDAP 개념을 설명합니다.

  • 엔트리
  • 속성
  • 고유 이름
  • 객체 클래스 및 속성 유형을 포함한 스키마

엔트리

LDAP의 기본 정보 객체는 엔트리입니다. 엔트리는 하나 이상의 속성으로 구성됩니다. 엔트리는 디렉토리 스키마("스키마" 참조)에서 정의한 내용 규칙을 따릅니다.

LDAP 디렉토리의 터미널 노드가 아닌 각 노드가 엔트리입니다. 앞의 그림에서 각 항목이 엔트리입니다. 예를 들어, 첫 번째 다이어그램에서 미국과 Ferrari가 모두 엔트리입니다. 미국 엔트리의 속성에는 Language 속성이 포함될 수 있고, Ferrari 엔트리에는 최고 경영자에 대한 엔트리가 포함될 수 있습니다.

속성

LDAP 디렉토리 엔트리는 하나 이상의 속성으로 구성됩니다. 속성은 유형과 값을 갖습니다. 값에 포함될 수 있는 정보를 유형에서 결정합니다. 또한 유형에서는 값을 처리하는 방법을 지정합니다. 예를 들어, 속성에 다중치의 여부를 유형에서 결정합니다. 전자 메일 주소가 포함되는 메일 속성 유형에는 다중치가 가능하므로 한 사람에 대한 여러 개의 전자 메일 주소를 저장할 수 있습니다.

일반적으로 사용하는 일부 속성 유형에는 약식 키워드 유형 이름이 있습니다. 대개 이 유형은 더 긴 유형 이름에 해당되고 두 개의 이름을 서로 교환해서 사용할 수 있습니다. 다음 테이블에서는 LDAP 디렉토리에서 사용하는 공통 속성 유형 키워드를 나열합니다.

키워드
긴 이름
설명
c
CountryName

st
stateOrProvinceName

l
LocalityName
일반적으로 도시를 나타내지만 어떤 지역 단위라도 될 수 있습니다.
street
StreetAddress

o
OrganizationName

ou
OrganizationalUnitName

cn
CommonName
일반적으로 이름과 성을 나타냅니다.
sn
SurName

dc
domaincomponent

mail
mail
전자 메일 주소

이 장을 작성할 때 Netscape에서는

http://developer.netscape.com/docs/manuals/directory/schema2/41/contents.htm 위치에 있는 자사 웹 사이트에 표준 속성 이름 목록을 제공했습니다.

자세한 정보는 "속성 유형"을 참조하십시오.

고유 이름(DN)

엔트리의 고유 이름(DN: Distinguished Name)이 디렉토리의 엔트리를 고유하게 식별합니다. DN은 상대 고유 이름(RDN: Relative Distinguished Name)으로 구성됩니다. RDN은 부모 엔트리의 자식 중에서 엔트리를 식별합니다. 예를 들어, "LDAP 정보" 의 첫 번째 그림에서 Ferrari 엔트리의 RDN은 "o=Ferrari"입니다.

엔트리의 DN은 RDN 다음에 해당 부모의 DN으로 구성됩니다. 즉, 디렉토리 트리의 루트까지 엔트리의 RDN과 각 엔트리의 부모 엔트리로 구성됩니다. RDN은 쉼표와 선택적인 공백으로 분리됩니다. 예를 들어, 첫 번째 그림에서 Ferrari 엔트리의 DN은 "o=Ferrari, c=Italy"입니다.

파일 시스템 경로 이름과 URL을 사용하여 올바른 LDAP 이름 포맷을 입력해야 검색 작업이 성공합니다.

참고:   RDN은 디렉토리 엔트리의 속성입니다. 전체 DN은 아닙니다. 그러나 질의의 attributes 목록에 "dn"을 지정하여 전체 DN을 출력할 수 있습니다. 자세한 정보는 CFML 참 조를 참조하십시오. ColdFusion에서는 항상 쉼표 뒤에 공백을 사용하여 DN을 반환합니다.

다중치 RDN은 두 개 이상의 속성-값 쌍으로 구성됩니다. 다중치 RDN에서 속성-값 쌍은 플러스 기호(+)로 분리됩니다. 샘플 디렉토리에서 개인은 자신의 일반 이름과 전자 메일 주소로 구성된 복합 RDN(예: "cn=Robert Boyd + mail=rjboyd@macromedia.com")을 가질 수 있습니다.

스키마

스키마와 객체 클래스의 개념은 LDAP을 이해하는 핵심입니다. 이 장에서는 이에 대해 자세히 설명하지 않지만 다음 절에서는 cfldap 태그를 효율적으로 사용하는 방법을 제공합니다.

디렉토리 스키마는 디렉토리에 저장할 수 있는 내용을 결정하는 규칙 세트입니다. 최소한 다음 두 가지 기본적인 디렉토리 특징을 정의합니다.

  • 엔트리가 속할 수 있는 객체 클래스
  • 디렉토리 속성 유형

객체 클래스

객체 클래스를 사용하면 LDAP에서 관련된 정보를 그룹화할 수 있습니다. 주로 객체 클래스는 실제 객체나 개념에 해당합니다. 이러한 예로는 국가, 개인, 방 또는 도메인이 있으며 실제 이것은 모두 표준 객체 유형 이름입니다. LDAP 디렉토리의 모든 엔트리는 하나 이상의 객체 클래스에 속해야 합니다.

다음 특징들이 객체 클래스를 정의합니다.

  • 클래스 이름
  • 클랙스를 식별하는 고유한 객체 ID
  • 클래스의 엔트리에 반드시 포함되어야 할 속성 유형
  • 클래스의 엔트리에 선택적으로 포함될 수 있는 속성 유형
  • (선택 사항) 클래스가 파생된 상위 클래스

엔트리가 다른 클래스에서 파생된 클래스에 속할 경우 엔트리의 objectclass 속성에서는 가장 낮은 레벨의 클래스와 가장 낮은 레벨 클래스에서 파생된 모든 상위 클래스를 나열합니다.

디렉토리 엔트리를 추가, 수정 또는 삭제할 경우 엔트리의 객체 클래스를 가능한 한 다중치를 가지는 속성으로 처리해야 합니다. 예를 들어, 새 엔트리를 추가할 경우 cfldap 태그 attributes 속성에 객체 클래스를 지정합니다. 엔트리의 객체 클래스 이름을 검색하려면 질의 속성 목록에 "objectclass"를 지정합니다. 특정한 유형의 정보를 제공하는 엔트리를 검색하려면 cfldap 태그 filter 속성에 객체 클래스 이름을 사용합니다.

속성 유형

스키마의 속성 유형 사양에서 다음 특성을 정의합니다.

  • 속성 유형 이름
  • 속성 유형을 식별하는 고유한 객체 ID
  • (선택 사항) 유형이 하나의 값을 가지는지 다중치를 가지는지(기본 값은 다중치) 여부를 표시
  • 속성 구문과 매칭 규칙(예: 대/소문자 구분)

속성 유형 정의에서는 유형에서 나타내는 값의 범위나 크기에 대한 한계를 결정하거나 응용프로그램 관련 용도 표시기를 제공합니다. 표준 속성의 경우 등록된 숫자 ID에서 구문과 매칭 규칙 정보를 지정합니다. 속성 구문에 대한 자세한 정보는 
http://www.ietf.org/rfc/rfc2252.txt의 ETF RFC 2252를 참조하십시오.

creatorsName이나 modifyTimeStamp 같은 작업 속성은 디렉토리 서비스에서 관리하고 사용자 응용프로그램에서 변경할 수 없습니다.


[링크] LDAP 참고 사이트 

http://w.nya.kr/doku.php?id=%EC%B1%85:linux_administration_guide:chap25

블로그 이미지

오픈이지 제로킴

시큐어코딩 교육/컨설팅 전문가 그룹

티스토리 툴바