4.2. 디렉터리 트리 설계
- 데이터를 포함할 접미사 선택.
- 데이터 항목 간 계층적 관계를 확인합니다.
- 디렉터리 트리 계층 구조의 항목 이름 지정.
4.2.1. Suffix 선택 링크 복사링크가 클립보드에 복사되었습니다!
4.2.1.1. 접미사 이름 지정 링크 복사링크가 클립보드에 복사되었습니다!
- 전역적으로 고유합니다.
- 정적(정적)이므로 거의 변경되지 않습니다.
- 짧은 기능으로 아래 항목을 화면에 쉽게 읽을 수 있습니다.
- 사람이 쉽게 입력하고 기억할 수 있습니다.
dc 속성은 도메인 이름을 구성 요소 부분으로 분할하여 접미사를 나타냅니다.
DC는 도메인 이름의 구성 요소를 정의합니다.- C에는 ISO에 정의된 대로 국가 이름을 나타내는 두 자리 코드가 포함되어 있습니다.
- L은 항목이 위치하거나 항목과 연관된
시지, 도시 또는 기타 지리적 영역을 식별합니다. st은 항목이 있는 상태 또는 주를 식별합니다.- O는 항목이 속한 조직의 이름을 식별합니다.
4.2.1.2. 여러 Suffixes 이름 지정 링크 복사링크가 클립보드에 복사되었습니다!
그림 4.1. 데이터베이스에 여러 디렉터리 트리 포함
4.2.2. 디렉터리 트리 생성 링크 복사링크가 클립보드에 복사되었습니다!
4.2.2.1. 디렉터리 분기 링크 복사링크가 클립보드에 복사되었습니다!
- 기업에서 가장 큰 조직 하위 항목만 나타내기 위해 트리를 분기합니다.이러한 분기 지점은 회사 정보 서비스, 고객 지원, 영업 및 엔지니어링과 같은 부서로 제한되어야 합니다. 디렉터리 트리를 분기하는 데 사용되는 분할이 안정적인지 확인합니다. 엔터프라이즈가 자주 재구성되는 경우 이러한 유형의 분기를 수행하지 마십시오.
- 분기 지점의 실제 조직 이름이 아닌 기능 또는 일반 이름을 사용합니다.이름이 변경됩니다. 하위 트리의 이름을 변경할 수 있지만 하위 항목이 많은 하위 항목이 있는 대규모 접미사에 대해 길고 리소스를 많이 사용하는 프로세스가 될 수 있습니다. 조직의 기능을 나타내는 일반 이름(예: research 및 Development대신 Engineering 사용)을 사용하면 조직 또는 프로젝트를 변경한 후 하위 트리의 이름을 변경해야 할 가능성이 훨씬 적습니다.
- 유사한 기능을 수행하는 조직이 여러 개인 경우, 부서를 따라 분기하는 대신 해당 함수에 대한 단일 분기 지점을 생성해 보십시오.예를 들어 여러 마케팅 조직이 있지만 각 조직이 특정 제품 라인을 담당하는 경우 각각 단일 ou=Marketing 하위 트리를 생성합니다. 그런 다음 모든 마케팅 항목은 해당 트리에 속합니다.
엔터프라이즈 환경의 분기
디렉터리 트리 구조가 변경될 가능성이 없는 정보를 기반으로 하는 경우 이름 변경을 방지할 수 있습니다. 예를 들어 조직이 아닌 트리의 오브젝트 유형에 대한 구조를 기반으로 합니다. 이렇게 하면 비용이 많이 드는 작업인 고유 이름(DN)을 수정해야 하는 조직 단위 간 항목을 축소하는 것을 방지할 수 있습니다.
- ou=people
- ou=groups
- ou=services
그림 4.2. 환경 디렉터리 트리의 예
Cryostat 환경에서 분기
호스팅 환경의 경우 오브젝트 클래스 조직 (O)의 두 항목이 포함된 트리와 루트 접미사 아래에 있는 개체 클래스 organizationalUnit (ou)의 하나의 항목을 만듭니다. 예를 들어 ExampleHCI는 아래 표시된 대로 디렉터리를 분기합니다.
그림 4.3. cinder 디렉터리 트리의 예
4.2.2.2. 분기 지점 식별 링크 복사링크가 클립보드에 복사되었습니다!
그림 4.4. Example Corp의 디렉터리 트리입니다.
그림 4.5. 예제 Cryostat의 디렉터리 트리
- 일관성이 있어야 합니다.디렉터리 트리에서 고유 이름(DN) 형식이 일치하지 않는 경우 일부 LDAP 클라이언트 애플리케이션이 혼동될 수 있습니다. 즉,
l이 디렉토리 트리의 한 부분에서ou에 종속된 경우 디렉토리 서비스의 다른 모든 부분에서l이ou에 종속되어 있는지 확인합니다. - 기존 속성만 사용하십시오( 4.2.2.2절. “분기 지점 식별”에 표시됨).기존 속성을 사용하면 타사 LDAP 클라이언트 애플리케이션과의 호환성을 유지할 가능성이 높아집니다. 기존 속성을 사용하면 기본 디렉터리 스키마가 알려지므로 분기 DN에 대한 항목을 더 쉽게 빌드할 수 있습니다.
| 속성 | 정의 |
|---|---|
dc | 도메인 이름(예: dc=example )의 요소(예: dc=example,dc=com 또는 dc= mtv, dc=example,dc= com )와 같은 도메인에 따라 쌍으로 지정됩니다. |
c | 국가 이름입니다. |
o | 조직 이름입니다. 이 속성은 일반적으로 회사 부서, 학문적 징계 (인간, 과학), 자회사 또는 기업 내의 기타 주요 분기와 같은 대규모 부서 분기를 나타내는 데 사용됩니다. 4.2.1.1절. “접미사 이름 지정”. |
ou | 조직 단위입니다. 일반적으로 이 속성은 조직보다 엔터프라이즈의 소규모 분기를 나타내는 데 사용됩니다. 조직 단위는 일반적으로 이전 조직에 종속됩니다. |
st | 주 또는 주 이름입니다. |
L 또는 locality | 도시, 국가, 사무실 또는 시설 이름과 같은 지역입니다. |
4.2.2.3. 복제 고려 사항 링크 복사링크가 클립보드에 복사되었습니다!
그림 4.6. Example Corp의 디렉터리 트리의 초기 분기입니다.
그림 4.7. Example Corp의 확장 분기입니다.
그림 4.8. 예제 Cryostat의 디렉터리 분기
그림 4.9. Example Cryostat의 확장 분기
4.2.2.4. 액세스 제어 고려 사항 링크 복사링크가 클립보드에 복사되었습니다!
4.2.3. 항목 이름 지정 링크 복사링크가 클립보드에 복사되었습니다!
- 이름 지정에 대해 선택한 속성은 변경되지 않을 수 있습니다.
- 이름은 디렉터리에서 고유해야 합니다.고유한 이름을 사용하면 DN에서 디렉터리의 최대 하나의 항목을 볼 수 있습니다.
l 을 사용하여 조직을 대표하거나 조직 단위를 나타내는 데 c 를 사용하지 마십시오.
4.2.3.1. 개인 항목 이름 지정 링크 복사링크가 클립보드에 복사되었습니다!
commonName 또는 cn 특성을 사용하여 사용자 항목의 이름을 지정합니다. 즉, Babs Jensen이라는 이름의 항목에는 cn=Babs Jensen,dc=example,dc=com 의 고유 이름이 있을 수 있습니다.
cn 이 아닌 다른 속성을 가진 사람 항목을 식별하는 것입니다. 다음 속성 중 하나를 사용하는 것이 좋습니다.
uiduid속성을 사용하여 해당 사용자의 고유한 값을 지정합니다. 사용자 로그인 ID 또는 직원 번호가 포함될 수 있습니다. 호스팅 환경의 구독자는uid특성으로 식별해야 합니다.mailmail속성에는 항상 고유한 사람 이메일 주소가 포함되어 있습니다. 이 옵션을 사용하면 중복 속성 값(예: mail=bjensen@example.com,dc=example,dc=com)을 포함하는 어색한 DN이 발생할 수 있으므로uid속성에 사용할 다른 고유 값이 없는 경우에만 이 옵션을 사용합니다. 예를 들어 엔터프라이즈에서 임시 또는 계약직원에 직원 번호 또는 사용자 ID를 할당하지 않는 경우uid속성 대신mail속성을 사용합니다.employeeNumberinetOrgPerson 오브젝트 클래스의 직원의 경우employeeNumber와 같은 고용주가 할당한 특성 값을 사용하는 것이 좋습니다.
uid 및 cn 속성이 사람이 읽을 수 있는 이름을 사용한다고 가정합니다.
호스팅 환경에서 개인 등록 고려 사항
사용자가 서비스에 대한 구독자인 경우 항목은 개체 클래스 inetUser 여야 하며 항목에 uid 속성이 포함되어야 합니다. 속성은 customer 하위 트리 내에서 고유해야 합니다.
DIT에 Person Entries 배치
다음은 디렉터리 트리에 사람 항목을 배치하기 위한 몇 가지 지침입니다.
- 엔터프라이즈의 사용자는 조직의 항목 아래에 있는 디렉터리 트리에 있어야 합니다.
- 호스팅 조직의 구독자는 호스팅 조직의 ou=people 분기 아래에 있어야 합니다.
4.2.3.2. 그룹 항목 이름 지정 링크 복사링크가 클립보드에 복사되었습니다!
- 명시적으로 정의하는 정적 그룹은 멤버입니다. groupOfNames 또는 groupOfUniqueNames 오브젝트 클래스에는 그룹의 멤버 이름을 지정하는 값이 포함되어 있습니다. 정적 그룹은 디렉터리 관리자 그룹과 같이 멤버가 적은 그룹에 적합합니다. 정적 그룹은 수천 개의 멤버가 있는 그룹에 적합하지 않습니다.uniqueMember 는 groupOfUniqueNames 오브젝트의 필수 특성이므로 정적 그룹 항목에는 uniqueMember 속성 값이 포함되어야 합니다. 이 오브젝트 클래스에는 그룹 항목의 DN을 형성하는 데 사용할 수 있는
cn속성이 필요합니다. - 동적 그룹은 검색 필터 및 하위 트리가 있는 그룹을 나타내는 항목을 사용합니다. 필터와 일치하는 항목은 그룹의 멤버입니다.
- 역할은 정적 및 동적 그룹 개념을 통합합니다. 자세한 내용은 4.3절. “그룹화 디렉토리 항목”를 참조하십시오.
4.2.3.3. 조직 항목 이름 지정 링크 복사링크가 클립보드에 복사되었습니다!
조직 (o) 속성을 naming 속성으로 사용합니다.
4.2.3.4. 기타 유형의 항목 이름 지정 링크 복사링크가 클립보드에 복사되었습니다!
cn 속성을 사용합니다. 그런 다음 그룹 항목의 이름을 지정하려면 cn=administrators,dc=example,dc=com 과 같은 이름을 지정합니다.
commonName 속성을 지원하지 않는 경우가 있습니다. 대신 항목의 개체 클래스에서 지원하는 속성을 사용합니다.
4.2.4. Entries 및 Subtrees 이름 변경 링크 복사링크가 클립보드에 복사되었습니다!
예 4.1. 항목 DN 빌드
그림 4.10. Leaf Entry에 대한 modrdn 작업
그림 4.11. Subtree Entry에 대한 modrdn 작업
newsuperior 특성을 설정합니다.
그림 4.12. 새 상위 항목에 대한 수정 작업
entryrdn.db 인덱스에 저장되는 방법 때문에 새로운 우수성 및 하위 트리 이름 변경 작업이 가능합니다. 각 항목은 자체 키( 자체 링크 ) 및 해당 상위 링크(부모 링크 ) 및 모든 자식을 식별하는 하위 키로 식별됩니다. 부모와 자식을 항목에 대한 속성으로 취급하여 디렉터리 트리 계층 구조를 설명하는 형식이 있으며 모든 항목은 전체 DN이 아닌 고유한 ID와 RDN으로 설명되어 있습니다.
- 루트 접미사의 이름을 변경할 수 없습니다.
- 하위 트리 이름 변경 작업은 복제에 최소한의 영향을 미칩니다. 복제 계약은 데이터베이스의 하위 트리가 아닌 전체 데이터베이스에 적용되므로 하위 트리 이름 변경 작업에 복제 계약을 다시 구성할 필요가 없습니다. 하위 트리 이름 변경 작업이 정상적으로 복제된 후 모든 이름이 변경됩니다.
- 하위 트리의 이름을 변경하려면 모든 동기화 계약을 다시 구성해야 할 수 있습니다. 동기화 계약은 접미사 또는 하위 트리 수준에서 설정되므로 하위 트리의 이름을 변경하면 동기화가 중단될 수 있습니다.
- 하위 트리의 이름을 변경하려면 하위 트리에 대해 설정된 모든 하위 트리 수준 ACI와 하위 트리의 하위 항목에 대해 설정된 모든 항목 수준 ACI를 수동으로 구성해야 합니다.
- 하위 트리의 이름을 자식으로 변경할 수는 있지만 하위 트리를 자식으로 삭제할 수는 없습니다.
ou에서dc로 이동하는 것과 같이 하위 트리의 구성 요소를 변경하려고 하면 스키마 위반으로 실패할 수 있습니다. 예를 들어 organizationalUnit 오브젝트 클래스에는ou특성이 필요합니다. 해당 특성이 하위 트리 이름 변경의 일부로 제거되면 작업이 실패합니다.