4.3. 디렉터리 항목 그룹화
디렉터리 관리를 단순화하기 위해 생성한 그룹 항목. Directory Server는 항목 메서드를 그룹화하는 다음과 같은 방법을 지원합니다.
- 그룹
- 역할
4.3.1. Directory Server의 그룹 정보
그룹은 사용자 컬렉션입니다. Directory Server에는 고유한 멤버만 있는 인증서 그룹, URL 그룹 및 고유 그룹과 같이 허용되는 멤버십 유형을 반영하는 여러 그룹 유형이 있습니다. 각 유형의 그룹(예: groupOfUniqueNames
)과 같은 해당 멤버 특성(예: uniqueMember
)을 정의합니다.
그룹 유형은 멤버 유형을 식별합니다. 그룹 구성은 Directory Server가 그룹에 멤버를 추가하는 방법에 따라 달라집니다. Directory Server에는 다음 두 가지 그룹 유형이 있습니다.
- 정적 그룹
- 정적 그룹에는 유한 및 정의된 멤버 목록이 있습니다. 그룹 항목에 멤버를 수동으로 추가합니다.
- 동적 그룹
- 동적 그룹은 필터를 사용하여 그룹에 멤버를 추가합니다. 따라서 그룹 필터와 일치하는 항목 수가 변경되므로 멤버 수가 지속적으로 변경됩니다.
그룹은 항목에 대한 작업을 수행하지 않지만 LDAP 클라이언트는 작업을 수행하기 위해 그룹을 관리할 수 있습니다.
4.3.1.1. 사용자 항목에 그룹 멤버십 나열
그룹은 사용자 DN의 목록입니다. 기본적으로 그룹 항목에는 멤버십 정보가 포함되어 있으며 사용자 항목에 이 정보가 포함되지 않습니다.
MemberOf 플러그인은 그룹 멤버 항목을 사용하여 사용자 항목을 동적으로 업데이트하고 사용자가 속한 그룹을 반영합니다. 플러그인은 지정된 멤버 특성을 사용하여 그룹 항목을 자동으로 검색하고 모든 사용자 DN을 추적하며 그룹 이름을 사용하여 사용자 항목에 해당 memberOf
특성을 생성합니다.
사용자가 속한 모든 그룹의 이름은 memberOf
속성으로 나열되며 memberOf
속성 값을 관리할 수 있습니다.
기본적으로 MemberOf 플러그인은 Directory Server가 그룹과 동일한 데이터베이스에 저장하는 사용자 내의 잠재적 멤버만 검색합니다. Directory Server가 사용자 및 그룹을 다른 데이터베이스에 저장하는 경우, 플러그인에서 사용자와 그룹 간의 관계를 정의할 수 없기 때문에 MemberOf 플러그인은 사용자 항목을 업데이트하지 않습니다.
memberOfAllBackends
속성을 활성화하여 구성된 모든 데이터베이스를 검색하도록 MemberOf 플러그인을 구성합니다.
플러그인 항목에서 다중 값 memberofgroupattr
을 설정하여 여러 유형의 그룹을 관리하도록 MemberOf 플러그인의 단일 인스턴스를 구성할 수 있습니다.
4.3.1.2. 그룹에 자동으로 새 항목 추가
그룹 멤버십에 따라 암호 정책, 액세스 제어 목록 및 기타 규칙을 적용할 수 있습니다. 그룹을 사용하면 디렉터리에 정책을 일관되고 안정적으로 적용할 수 있습니다.
새 항목이 생성될 때 새 항목을 자동으로 할당하면 Directory Server가 관리자 작업 없이 해당 항목에 즉시 적절한 정책과 기능을 적용할 수 있습니다.
Automembership 플러그인을 사용하면 정적 그룹이 동적 그룹처럼 작동할 수 있습니다. Automembership 플러그인은 항목 특성, 디렉터리 위치 및 정규식에 따라 일련의 규칙을 사용하여 사용자를 지정된 그룹에 자동으로 할당합니다.
LDAP 검색 필터와 일치하는 항목을 다른 속성의 값에 따라 다른 그룹에 추가해야 하는 인스턴스가 있을 수 있습니다. 예를 들어 IP 주소 또는 물리적 위치에 따라 시스템을 다른 그룹에 추가해야 합니다. 또는 직원 ID 번호에 따라 사용자를 다른 그룹에 배치해야 합니다.
automember 정의는 중첩된 항목 세트로, Auto membership 플러그인 컨테이너, automember 정의, 해당 정의에 대한 정규식 조건입니다.
Directory Server는 항목이 Directory Server에 새로 추가된 경우에만 그룹에 항목을 자동으로 할당합니다. automember 규칙을 충족하도록 수정한 기존 항목 또는 항목의 경우 수정 작업을 실행하여 적절한 그룹 멤버십을 할당합니다.
4.3.2. Directory Server의 역할 정보
역할은 정적 그룹 및 동적 그룹으로 작동합니다. 그룹을 사용하면 Directory Server에서 그룹 항목에 항목을 멤버로 추가합니다. 역할로 Directory Server는 역할 속성을 항목에 추가한 다음 해당 속성을 사용하여 역할 항목의 멤버를 자동으로 식별합니다.
역할을 사용하면 다음과 같은 방법으로 사용자를 구성할 수 있습니다.
- 역할 멤버를 명시적으로 나열합니다. 역할을 볼 때 이 역할에 대한 전체 멤버 목록을 볼 수 있습니다. 역할을 쿼리하여 동적 그룹에서 수행할 수 없는 멤버십을 확인할 수 있습니다.
-
항목이 속한 역할을 확인합니다. 항목을 볼 때 Directory Server가 항목의 특성으로 역할 멤버십을 결정하므로 항목이 속한 역할을 확인할 수 있습니다. 그룹의
memberOf
속성과 유사합니다. 유일한 차이점은 이 기능이 작동하도록 플러그인 인스턴스를 활성화하거나 구성할 필요가 없다는 것입니다. - 적절한 역할을 할당합니다. Directory Server는 역할이 아닌 항목을 통해 역할 멤버십을 할당합니다. 따라서 단일 단계에서 항목을 편집하여 사용자가 속한 역할을 쉽게 할당하고 제거할 수 있습니다.
관리 역할은 정적 그룹으로 수행할 수 있는 모든 작업을 수행할 수 있습니다. 동적 그룹으로 필터링하는 것과 유사하게 필터링된 역할을 사용하여 역할 멤버를 필터링할 수 있습니다. 역할은 구현에 더 유연하고 클라이언트의 복잡성을 줄이기 때문에 그룹보다 쉽게 사용할 수 있습니다.
역할 유형을 사용하여 명시적으로 또는 동적으로 멤버를 지정할 수 있습니다. Directory Server는 다음 유형의 역할을 지원합니다.
- 관리 역할
- 관리 역할에는 명시적 멤버 목록이 있습니다.
- 필터링된 역할
- 항목에 역할에 정의된 특정 특성이 있는 경우 Directory Server는 필터링된 역할에 항목을 할당합니다. 역할 정의는 대상 속성에 대한 LDAP 필터를 지정합니다. 필터와 일치하는 항목에는 역할이 있음(의 멤버임)입니다.
- 중첩된 역할
- 중첩된 역할은 다른 역할을 포함하는 역할입니다.
하나의 작업에서 전체 항목 그룹을 활성화하거나 비활성화할 수 있습니다. 해당 역할이 속한 역할을 비활성화하여 역할 멤버를 일시적으로 비활성화할 수 있습니다.
역할을 비활성화하면 사용자는 역할 항목을 사용하여 서버에 계속 바인딩할 수 있습니다. 그러나 사용자는 이 역할에 속하는 항목을 사용하여 서버에 바인딩할 수 없습니다. 비활성화된 역할에 속하는 항목에는 nsAccountLock
속성이 true
로 설정되어 있습니다.
중첩된 역할을 비활성화하면 중첩된 역할 내의 모든 역할의 멤버인 경우 사용자가 서버에 바인딩할 수 없습니다. 중첩된 역할의 직접 또는 간접 멤버인 역할에 속하는 모든 항목은 nsAccountLock
을 true
로 설정합니다. 중첩의 어느 시점에서나 중첩 역할을 비활성화하면 해당 아래의 모든 역할과 사용자가 비활성화됩니다.
4.3.3. 그룹과 역할 결정
역할과 그룹은 동일한 목표를 달성할 수 있습니다. 관리되는 역할은 정적 그룹이 수행할 수 있는 모든 작업을 수행할 수 있지만 필터링된 역할은 동적 그룹과 동일한 방식으로 멤버를 필터링하고 식별할 수 있습니다. 역할과 그룹 모두 장단점이 있습니다. 역할 또는 그룹 또는 혼합 사용 여부를 결정하는 것은 요구 사항과 서버 리소스의 균형을 조정하는 데 따라 달라집니다.
역할은 클라이언트 측의 복잡성을 줄입니다. 역할을 사용하면 클라이언트 애플리케이션에서 항목에서 nsRole
작동 속성을 검색하여 역할 멤버십을 확인할 수 있습니다. 이 다중 값 속성은 항목이 속한 모든 역할을 식별합니다. 클라이언트 애플리케이션 관점에서 멤버십을 확인하는 방법은 균일하며 서버 측에서 수행됩니다.
그러나 역할에는 서버 복잡성이 증가해야 합니다. 역할을 평가하는 것은 서버가 클라이언트 애플리케이션에 대해 작업을 수행하기 때문에 그룹을 평가하는 것보다 리소스 집약적입니다.
그룹은 효과적으로 사용하기 위해 더 스마트하고 복잡한 클라이언트가 필요합니다. 예를 들어 애플리케이션 관점에서 동적 그룹은 그룹 멤버 목록을 제공하기 위해 서버에서 지원하지 않습니다. 대신 애플리케이션은 그룹 정의를 검색한 다음 필터를 실행합니다. 사용자 항목에는 적절한 플러그인을 구성하는 경우에만 그룹 멤버십 정보가 포함됩니다.
MemberOf 플러그인을 사용하여 그룹 멤버십 관리의 균형을 조정할 수 있습니다. MemberOf 플러그인은 사용자가 그룹에 추가될 때마다 사용자 항목에 memberOf
속성을 동적으로 생성합니다. 클라이언트는 그룹 항목에서 단일 검색을 실행하여 모든 멤버 목록을 가져오거나 사용자 항목에서 단일 검색을 실행하여 속하는 모든 그룹의 전체 목록을 가져올 수 있습니다.
멤버십이 수정되는 경우에만 서버에는 유지 관리 오버헤드가 있습니다. Directory Server는 지정된 멤버
(그룹) 및 memberOf
(사용자) 속성을 모두 데이터베이스에 저장하므로 검색에는 추가 처리가 필요하지 않으므로 클라이언트의 검색이 매우 효율적입니다.