LDAP

LDAP에서 주요 objectClass 유형

hwanguu 2024. 10. 5. 17:00

1. top

  • 설명: 모든 LDAP 엔트리가 기본적으로 상속받는 추상적 (abstract) objectClass로, 다른 모든 objectClass는 이 top 클래스를 상속받습니다. 공통 속성을 정의하는 역할을 합니다.
  • 하위 속성:
    • objectClass: 이 속성은 해당 엔트리가 어떤 objectClass를 따르는지를 나타냅니다.
    • 이 외의 구체적인 속성은 없고, 모든 하위 objectClass에 기본 속성을 상속합니다.

2. person

  • 설명: 사용자의 기본 정보를 정의하는 objectClass입니다. top을 상속받아 사람에 대한 기본 정보를 저장합니다.
  • 필수 속성 (Must):
    • sn (Surname): 사용자의 성을 나타냅니다. (예: sn: Smith)
    • cn (Common Name): 사용자의 공통 이름입니다. (예: cn: Ava)
  • 선택 속성 (May):
    • userPassword: 사용자의 비밀번호를 암호화된 형태로 저장합니다. (예: {SHA}abc123def456)
    • telephoneNumber: 사용자의 전화번호를 저장합니다. (예: +1 234 567 8901)
    • seeAlso: 관련된 다른 엔트리의 참조를 나타냅니다.
    • description: 사용자를 설명하는 추가 정보입니다.

3. organizationalPerson

  • 설명: person을 상속받아 조직과 관련된 정보를 추가로 정의하는 objectClass입니다.
  • 필수 속성 (Must):
    • 없음 (기본적으로 person의 필수 속성을 상속받기 때문)
  • 선택 속성 (May):
    • title: 사용자의 직위를 나타냅니다. (예: title: Manager)
    • ou (Organizational Unit Name): 사용자가 속한 조직 단위를 나타냅니다. (예: ou: Sales)
    • postalAddress: 우편 주소를 나타냅니다.
    • telephoneNumber: 추가적인 전화번호를 저장할 수 있습니다. (상속 속성 포함)
    • facsimileTelephoneNumber: 팩스 번호를 저장합니다.
    • street: 사용자가 거주하거나 근무하는 거리 주소입니다.
    • description: 조직 내에서 사용자를 설명하는 추가적인 정보입니다.

4. inetOrgPerson

  • 설명: organizationalPerson을 상속하여 인터넷 관련 정보를 추가로 포함할 수 있는 objectClass입니다. 대부분의 디렉터리 서비스에서 사용자 관리를 위해 널리 사용됩니다.
  • 필수 속성 (Must):
    • 없음 (organizationalPerson과 person의 필수 속성을 상속받음)
  • 선택 속성 (May):
    • uid (User ID): 사용자를 고유하게 식별하는 ID입니다. (예: uid: ava.enter)
    • mail: 사용자의 이메일 주소입니다. (예: mail: ava.smith@company.com)
    • mobile: 휴대전화 번호입니다.
    • employeeNumber: 사용자의 직원 번호입니다.
    • homePhone: 자택 전화번호를 저장합니다.
    • givenName: 사용자의 이름 (예: givenName: Ava)
    • preferredLanguage: 사용자가 선호하는 언어입니다.
    • postalCode: 우편번호입니다.
    • l: 위치(city)를 나타냅니다. (예: l: New York)

5. organizationalUnit

  • 설명: **조직 단위(OU)**를 나타내는 objectClass로, 회사 내 부서나 팀과 같은 개념을 정의할 수 있습니다.
  • 필수 속성 (Must):
    • ou (Organizational Unit Name): 조직 단위의 이름입니다. (예: ou: IT)
  • 선택 속성 (May):
    • description: 조직 단위에 대한 설명입니다.
    • telephoneNumber: 조직 단위의 전화번호입니다.

6. organization

  • 설명: 전체 조직을 나타내는 objectClass입니다.
  • 필수 속성 (Must):
    • o (Organization Name): 조직 이름입니다. (예: o: Example Company)
  • 선택 속성 (May):
    • description: 조직에 대한 설명입니다. (예: description: Global Technology Solutions)
    • telephoneNumber: 조직의 전화번호입니다.

7. groupOfNames

  • 설명: 여러 사람들을 하나의 그룹으로 묶기 위해 사용되는 objectClass입니다.
  • 필수 속성 (Must):
    • cn (Common Name): 그룹의 공통 이름입니다. (예: cn: Admins)
    • member: 그룹에 속한 멤버의 DN(참조)입니다. (예: member: cn=Ava,ou=People,dc=company,dc=com)
  • 선택 속성 (May):
    • description: 그룹에 대한 설명입니다.

8. posixAccount

  • 설명: UNIX 시스템과 연동하기 위해 사용되는 objectClass입니다. 사용자 계정을 UNIX 시스템에서 관리하기 위한 속성을 포함합니다.
  • 필수 속성 (Must):
    • cn: 사용자의 공통 이름입니다.
    • uidNumber: 사용자의 고유한 ID 번호입니다. (예: uidNumber: 1001)
    • gidNumber: 사용자가 속한 그룹의 ID 번호입니다. (예: gidNumber: 1001)
    • homeDirectory: 사용자의 홈 디렉터리 경로입니다. (예: /home/ava)
  • 선택 속성 (May):
    • uid: 사용자 ID입니다.
    • loginShell: 사용자의 로그인 셸입니다. (예: /bin/bash)
    • gecos: 사용자 정보 필드로 보통 사용자의 전체 이름과 연락처 정보를 포함합니다.

9. posixGroup

  • 설명: UNIX 그룹을 정의하는 데 사용되는 objectClass입니다.
  • 필수 속성 (Must):
    • cn: 그룹의 이름입니다. (예: cn: Developers)
    • gidNumber: 그룹의 고유한 ID 번호입니다. (예: gidNumber: 2001)
  • 선택 속성 (May):
    • memberUid: 그룹에 속한 사용자들의 uid 목록입니다. (예: memberUid: ava.enter)

10. applicationProcess

  • 설명: 애플리케이션 프로세스를 나타내기 위한 objectClass로, 소프트웨어 프로세스와 관련된 정보를 정의할 수 있습니다.
  • 필수 속성 (Must):
    • cn: 애플리케이션의 이름입니다.
  • 선택 속성 (May):
    • description: 애플리케이션에 대한 설명입니다.

11. domain

  • 설명: 도메인 관련 정보를 저장하는 objectClass입니다.
  • 필수 속성 (Must):
    • dc (Domain Component): 도메인 구성 요소입니다. (예: dc: company)
  • 선택 속성 (May):
    • description: 도메인에 대한 설명입니다.

요약

  • top: 모든 엔트리의 상위 objectClass로, 기본적인 속성 구조를 상속합니다.
  • person, organizationalPerson, inetOrgPerson: 사용자의 기본 정보, 조직 정보, 인터넷 관련 정보를 정의하며 점차 확장된 형태를 가집니다.
  • organizationalUnit, organization: 조직과 조직 단위(부서, 팀)를 정의합니다.
  • groupOfNames, posixAccount, posixGroup: 그룹과 UNIX 시스템 연동을 위한 계정 및 그룹 정보를 정의합니다.
  • applicationProcess, domain: 애플리케이션 및 도메인 관련 정보를 저장하는 데 사용됩니다.

 

objectClass의 구조적 관계

LDAP에서 각 objectClass는 상속 구조를 가질 수 있습니다. 예를 들어:

  • inetOrgPerson은 organizationalPerson을 상속하고, organizationalPerson은 person을 상속하며, 모든 objectClass는 top을 상속합니다.
  • 상속을 통해 공통적인 속성을 여러 objectClass에서 재사용할 수 있습니다.

'LDAP' 카테고리의 다른 글

LDAP Docker로 실행하기  (3) 2024.10.06
LDAP  (3) 2024.10.05
LDAP 필터  (0) 2024.10.05
LDAP 용어 정리  (1) 2024.10.05
LDAP 검색 스코프(base, one, subree, children)  (1) 2024.10.05