Java Desktop System Configuration Manager 릴리스 1.1 설치 안내서

2장 LDAP 서버

이 장에서는 Configuration Manager와 함께 사용하는 LDAP 서버 설정 및 배포에 대한 정보를 제공합니다.

개념

Java Desktop System Configuration Manager 프레임워크 내에서, 구성 데이터는 엔티티와 연결되어 있습니다. 여기서 엔티티는 LDAP 저장소의 항목이며 회사의 조직 구조 요소에 해당합니다.

인식되는 엔티티는 다음과 같습니다.

조직 및 사용자 엔티티는 사용자 트리를 정의하는 데 사용되고 도메인 및 호스트 엔티티는 호스트 트리를 정의합니다. 두 트리는 독립적이지만 프레임워크에서 유사한 방식으로 처리됩니다.

조직 및 도메인 엔티티와 다른 항목 간의 관계는 저장소에서 항목의 물리적 위치에 의해 정의됩니다 . 즉, 트리에서 두 엔티티 아래에 위치하는 항목은 모두 조직과 도메인 엔티티에 포함될 수 있습니다. 역할과 사용자 또는 호스트 간의 관계는 사용자 및 호스트 항목의 속성에 의해 정의됩니다.

엔티티에 연결된 구성 데이터는 프레임워크에서 관리하는 특수 항목에 저장됩니다. 특수 항목은 각 항목에 연결된 서비스 이름과 서비스 컨테이너로 식별됩니다.

설치

기존 LDAP 서버를 Configuration Manager와 함께 사용하려면 다음 작업을 수행해야 합니다.

배포 도구

기존 LDAP 서버를 Configuration Manager와 함께 사용하려면 설치 CD에 있는 다음 배포 도구가 필요합니다.

스키마 확장

구성 데이터는 해당 항목에 연결된 항목 트리에 저장됩니다. 각 트리에서 사용되는 개체 클래스와 속성을 LDAP 서버에 저장하려면 먼저 개체 클래스와 클래스를 LDAP 서버 스키마에 추가해야 합니다. 예를 들어, 제공된 스키마 확장 파일은 LDIF 형식을 사용하여 개체와 클래스를 Sun JavaTM System Directory Server에 추가합니다. 다른 LDAP 서버에 개체와 클래스를 추가하려면 해당 서버에서 인식하는 형식을 사용해야 합니다.

조직 매핑

LDAP 항목과 Configuration Manager 엔티티 간의 매핑을 정의하려면 Organization 매핑 파일을 편집해야 합니다. LDAP 저장소의 레이아웃에 맞는 값을 각 키에 입력해야 합니다.

사용자 엔티티는 모든 엔티티가 사용하는 개체 클래스와 전체 저장소에서 고유한 값을 갖는 속성으로 식별됩니다. 관리 응용 프로그램에서의 사용자 표시에 영향을 주는 표시 이름 형식을 제공할 수 있으며, 조직 내의 사용자 항목이 컨테이너 항목을 사용할 경우 컨테이너 항목을 선택적으로 정의할 수도 있습니다. 키 이름과 해당 기본값은 다음과 같습니다.

# Object class that all user entries use
User/ObjectClass=inetorgperson
# Attribute whose value in user entries is unique within the repository
User/UniqueIdAttribute=uid
# Optional container in organization entries of the user entries, 
# remove line if not used
User/Container=ou=People
# Display name format within the management application
User/DisplayNameFormat=sn, givenname

역할 엔티티는 사용할 수 있는 개체 클래스 목록과 해당 이름 지정 속성으로 식별됩니다. 각 목록의 항목은 <item1>,<item2>,...,<itemN> 형식으로 정렬되어야 합니다. 즉, 동일한 수의 항목이 목록에 있어야 하고 n번째 개체 클래스에는 n번째 이름 지정 속성을 사용해야 합니다. 두 키는 역할과 사용자 간의 관계는 물론 역할과 호스트 간의 관계도 정의합니다. VirtualMemberAttribute 키는 사용자 또는 호스트 항목에서 쿼리할 수 있는 값을 가진 속성을 지정해야 하며 항목이 속해 있는 역할의 전체 DN을 포함해야 합니다. MemberAttribute 키는 검색 필터에 사용할 사용자 또는 호스트 항목의 속성을 지정해야 합니다. 사용자 또는 호스트가 속해 있는 역할의 전체 DN을 포함해야 합니다. VirtualMemberAttribute 키에는 서비스 클래스 가상 속성을 사용할 수 있지만 MemberAttribute 키는 필터에 사용할 수 있는 물리적 속성이어야 합니다. 키 이름과 해당 기본값은 다음과 같습니다.

# List of object classes for roles
Role/ObjectClass=nsRoleDefinition
# Aligned list of corresponding naming attributes
Role/NamingAttribute=cn
# Physical attribute (usable in a filter) containing the DNs 
# of the roles of a user/host
Role/MemberAttribute=nsRoleDN
# Attribute whose query on a user or host return the DNs of the 
# roles it belongs to
Role/VirtualMemberAttribute=nsRole

조직 엔티티는 정렬된 개체 클래스 목록과 해당 이름 지정 속성 목록을 사용하여 역할과 유사한 방식으로 식별됩니다. 키 이름과 해당 기본값은 다음과 같습니다.

# List of object classes for organizations
Organization/ObjectClass=organization
# Aligned list of corresponding naming attributes
Organization/NamingAttribute=o

도메인 엔티티는 조직 엔티티와 유사한 방식으로 식별됩니다. 키 이름과 해당 기본값은 다음과 같습니다.

# List of object classes for domains
Domain/ObjectClass=ipNetwork
# Aligned list of corresponding naming attributes
Domain/NamingAttribute=cn

호스트 엔티티는 사용자 엔티티와 유사한 방식으로 식별됩니다. 키 이름과 해당 기본값은 다음과 같습니다.

# Object class that all host entries use
Host/ObjectClass=ipHost
# Attribute whose value in host entries is unique within the repository
Host/UniqueIdAttribute=cn
# Optional container in domain entries of the host entries, 
# remove line if not used
Host/Container=ou=Hosts

사용자 프로필 매핑

LDAP 사용자 항목 속성과 Configuration Manager 사용자 항목 속성 간의 매핑을 정의하려면 사용자 프로필 매핑 파일을 편집해야 합니다. 각 키는 Configuration Manager의 사용자 속성을 나타내며 조직 매핑으로 식별되는 사용자 항목 속성의 이름 값으로 지정할 수 있습니다. User/DisplayNameFormat 설정에 사용되는 속성은 User Profile 매핑에서 지정해야 합니다. 키 이름과 해당 기본값은 다음과 같습니다.

# inetOrgPerson.givenName
org.openoffice.UserProfile/Data/givenname = givenname
# person.sn
org.openoffice.UserProfile/Data/sn = sn
# inetOrgPerson.initials
org.openoffice.UserProfile/Data/initials = initials
# organizationalPerson.street
org.openoffice.UserProfile/Data/street = street,postalAddress,streetAddress 
# organizationalPerson.l (city)
org.openoffice.UserProfile/Data/l = l
# organizationalPerson.st (state)
org.openoffice.UserProfile/Data/st = st
# organizationalPerson.postalCode
org.openoffice.UserProfile/Data/postalcode = postalcode
# country.c (country)
org.openoffice.UserProfile/Data/c = 
# organizationalPerson.o (company)
org.openoffice.UserProfile/Data/o = o,organizationName
# deprecated -- no LDAP corollary
org.openoffice.UserProfile/Data/position =
# organizationalPerson.title
org.openoffice.UserProfile/Data/title = title
# inetOrgPerson.homePhone
org.openoffice.UserProfile/Data/homephone = homephone
# organizationalPerson.telephoneNumber 
org.openoffice.UserProfile/Data/telephonenumber = telephonenumber
# organizationalPerson.facsimileTelephoneNumber
org.openoffice.UserProfile/Data/facsimiletelephonenumber = 
facsimiletelephonenumber,officeFax
# inetOrgPerson.mail
org.openoffice.UserProfile/Data/mail = mail

배포

LDAP 저장소의 상태를 반영하여 매핑 파일의 사용자 정의가 끝나면 파일을 배포할 수 있습니다. 필요한 개체 클래스와 속성이 LDAP 서버 스키마에 이미 포함되어 있으면 createServiceTree 스크립트를 직접 실행할 수 있지만, 그렇지 않은 경우에는 deployApoc 스크립트를 실행해야 합니다.

deployApoc 스크립트는 Sun JavaTM System Directory Server에서 사용하도록 작성되었으며 제공된 스키마 확장 파일을 올바른 디렉토리에 복사하고 LDAP 서버를 순환시킨 다음 createServiceTree 스크립트를 호출합니다. 스키마 저장소에 있는 파일을 복사하고 서버를 다시 시작할 수 있는 권한을 가진 사용자가 다음 명령을 실행하여 이 스크립트를 호출해야 합니다.

./deployApoc <Directoy Server Directory>

<Directoy Server Directory> 매개 변수는 디렉토리 서버 설치의 slapd-<server name> 하위 디렉토리 경로여야 합니다. 설치 시 기본 디렉토리를 사용하고 서버 이름을 myserver.mydomain으로 지정한 경우 이 디렉토리는 /var/Sun/mps/slapd-myserver.mydomain이 됩니다.

직접 호출했든 deployApoc 스크립트에서 호출했든 관계 없이 createServiceTree 스크립트는 사용자에게 LDAP 서버 위치(호스트 이름, 포트 번호 및 기본 DN)와 관리 권한이 있는 사용자의 정의(전체 DN, 암호)를 표시합니다. 그런 다음 이 스크립트는 LDAP 서버에 부트스트랩 서비스 트리를 만들어 매핑 파일을 저장합니다. 누구든지 다음 명령을 실행하여 스크립트를 실행할 수 있습니다.

./createServiceTree

이 스크립트는 사용자에게 다음 정보를 확인합니다.

다음 DN을 가진 항목이 만들어집니다.

ou=ApocRegistry,ou=default,ou=OrganizationConfig,ou=1.0,ou=ApocService,ou=services, <baseDN>

이 항목에는 두 매핑 파일의 내용이 채워집니다.

이미 설명한 것처럼 deployApoc 스크립트는 설치 디렉토리, 레이아웃 및 스키마 확장 절차가 Sun Java System Directory Server와 거의 일치하는 LDAP 서버를 가정하여 작업을 수행합니다. 다른 디렉토리를 사용하려면 createServiceTree 스크립트를 실행하기 전에 스키마를 수동으로 확장해야 합니다. OpenLDAP 및 ActiveDirectory 사용과 관련된 자세한 내용은 부록 C, OpenLDAP 및 Active Directory를 Configuration Manager와 함께 사용를 참조하십시오.

이렇게 만들어진 트리는 엔티티에 연결된 구성 데이터를 보관하는 트리와 일치하며 Sun Java System Identity Server에서 서비스 관리에 사용되는 트리 구조와 연결됩니다.

추가 고려 사항

Configuration Manager 프레임워크에서는 데스크탑에서 지정한 사용자 또는 호스트 식별자에 연결된 전체 DN을 식별하기 위해 읽기 및 검색 권한이 있는 LDAP 서버 연결을 구성할 수 있어야 합니다. 따라서 익명 연결을 허용하도록 저장소를 구성하거나 읽기 및 검색 액세스 권한이 있는 특수 사용자를 만들어야 합니다.

관리 응용 프로그램은 엔티티로 매핑되는 항목 아래에 해당 엔티티의 구성 데이터를 보관할 서비스 트리를 만듭니다. 이 때문에 관리 목적으로 사용되는 사용자 항목에는 관리하는 항목에 하위 항목을 만들 수 있는 권한이 있어야 합니다.

프레임워크에서 데스크탑 클라이언트 사용자는 AnonymousGSSAPI의 두 가지 방법으로 인증될 수 있습니다. Anonymous 방법을 사용할 경우 데스크탑 클라이언트가 LDAP 서버에서 데이터를 검색할 때 자격 증명을 제공하지 않으므로 전체 저장소에서 읽기 및 검색에 대한 익명 액세스를 허용해야 합니다. GSSAPI 방법(인증에 커버로스 사용)을 사용하려면, Sun JavaTM System Directory Server 5 2004Q2 관리 안내서의 "인증 및 암호화 관리” 장에 설명된 대로 LDAP 서버를 구성해야 합니다.