Sun Java System Communications Services 2005Q4 릴리스 노트

클라이언트의 LDAP 구성

Sun Java System Communications Services와 함께 릴리스되는 모든 클라이언트 제품에서는 회사 디렉토리와 자체 주소록을 검색할 수 있습니다. 이 기능이 작동하는 동안 LDAP를 약간 조정하여 성능을 향상시킬 수 있습니다.

이 절에서는 다음 항목에 대해 설명합니다.

국가별 검색 설정

Communications Express 또는 Connector for Microsoft Outlook을 사용할 경우 개인 연락처 또는 공용 주소록에서 특정 문자열을 검색하는 작업은 로켈별 작업입니다. 예를 들어, "Gaelle"를 검색하는 프랑스어 사용자는 문자열 "Gaelle"와 "Gaëlle"가 포함된 모든 항목이 표시될 것으로 예상합니다.

로켈을 기반으로 항목이 사용자에게 표시되는 방법을 관리하는 다양한 규칙을 조합 규칙 또는 조합 순서라고 합니다. 조합 순서는 언어와 주어진 언어 문자를 정렬하는 방법에 대한 문화적 정보를 제공합니다. 조합 순서는 사전순 문자 시퀀스, 액센트가 있는 문자를 액센트가 없는 문자와 비교하는 방법, 문자열을 비교할 때 무시할 수 있는 문자가 있는지 여부 등을 식별합니다. 또한, 조합 순서에서는 해당 언어의 읽기 방향(왼쪽에서 오른쪽, 오른쪽에서 왼쪽, 위에서 아래로 등)과 같은 해당 언어에 대한 문화 관련 정보를 고려합니다.

Sun Java System Directory Server는 다양한 로켈과 조합 규칙을 지원합니다. 자세한 내용은 Sun Java System Directory Server 5 2005Q1 Administration Reference의 “Identifying Supported Locales”를 참조하십시오. 사용자의 거주 지역에 따라 해당 환경에 가장 적합한 로켈을 선택해야 합니다. 다음 예제에서는 영어(미국) 로켈(OID = 1.3.6.1.4.1.42.2.27.9.4.34.1)을 사용합니다.

검색을 수행할 때 사용할 로켈을 지정하려면 Sun Java System Directory Server 5 2005Q1 Administration Reference의 “Searching an Internationalized Directory”에 설명된 일치 규칙 필터 구문을 사용합니다. 이 구문을 사용하여 로켈과 검색 유형(같음, 하위 문자열 등)을 지정할 수 있습니다.

예를 들어, 다음 필터는 CN 속성에서 영어(미국) 조합 규칙(1.3.6.1.4.1.42.2.27.9.4.34.1)을 사용하여 하위 문자열 비교(.6)를 수행합니다. 이 필터는 CN에서 “Gae”로 시작되는 문자열을 조사합니다.

cn:1.3.6.1.4.1.42.2.27.9.4.34.1.6:=Gae*

색인 업데이트

LDAP 검색 과정에서 발생하는 대부분의 성능 문제는 색인이 없거나 제대로 구성되어 있지 않기 때문에 발생합니다. 기본적으로 Directory Server는 Communications Express 또는 Connector for Microsoft Outlook에서 발급하는 조회를 색인화하여 적절한 시간 내에 결과를 반환하도록 구성되어 있습니다. 그럼에도 불구하고, Directory Server는 국가별 검색 기능이 설정되어 있지 않습니다. 따라서, 선택한 조합 규칙을 고려하도록 기존 색인을 변경해야 합니다. 자세한 내용은 Sun Java System Directory Server 5 2005Q1 Administration Guide의 “Managing Indexes” 절을 참조하십시오.

예를 들어, CN 속성은 기본적으로 userRoot 접미어로 색인화됩니다.

# ldapsearch -D "cn=Directory manager" -b 
"cn=cn,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config" 
"objectclass=*" 
cn=cn,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config 
objectClass=top objectClass=nsIndex 
cn=cn 
nsSystemIndex=false 
nsIndexType=pres 
nsIndexType=eq 
nsIndexType=sub

영어(미국) 조합 규칙을 사용하여 국가별 검색을 수행하려면 영어(미국) OID를 사용하여 nsMatchingRule 속성을 추가합니다. 클라이언트에서 하위 문자열 검색을 수행하므로 OID에 하위 문자열 접미어(“.6”)를 추가해야 합니다.

#ldapmodify -D "cn=Directory manager"
dn: cn=cn,cn=index,cn=userRoot,cn=ldbm database, 
 cn=plugins,cn=config
changetype: modify
add: nsMatchingRule
nsMatchingRule: 1.3.6.1.4.1.42.2.27.9.4.34.1.6 

주 –

값의 시작 또는 마지막에 공백, 탭 또는 보이지 않는 문자를 추가하지 마십시오.



주 –

nsMatchingRule은 다중 값 속성입니다. 동일한 OID 또는 서로 다른 OID에 대해 다양한 검색 유형을 추가할 수 있습니다.


그런 다음 serverroot/slapd-instance 아래에 있는 db2index.pl 스크립트를 실행해야 합니다.

# perl db2index.pl -D "cn=Directory Manager" -w \ 
secret -n userRoot -t cn

이 작업은 온라인으로 실행되며 완료하는 데 많은 시간이 걸릴 수 있습니다. 또는, 접미어를 다시 초기화할 수 있습니다. Sun Java System Directory Server 5 2005Q1 Administration Guide의 “Reinitializing a Suffix”를 참조하십시오.

콘솔을 사용하여 nsMatchingRule을 추가할 수도 있습니다(Sun Java System Directory Server 5 2005Q1 Administration Guide의 “Managing Indexes” 절 참조).

다음 절에서는 수정해야 하는 색인 목록에 대해 설명합니다. 색인화되지 않은 검색이 수행되지 않는지 확인합니다. 이 확인 작업은 Directory Server 액세스 로그 파일을 조사하거나 검색 결과 항목에서 notes=U를 확인하면 됩니다.

Communications Express의 검색 필터 설정

Communications Express에 사용되는 검색 필터를 일치 규칙 구문에 맞게 변경해야 합니다. 이 변경 작업은 deployed-path/WEB-INF/ldappstore(개인 저장소) 및 deployed-path/WEB-INF/corp-dir(회사 디렉토리)에 있는 db_config.properties 파일에 지정된 조합 규칙 매개 변수를 사용하여 수행합니다.

매개 변수는 다음과 같습니다.

# Collation Rule
# Uncomment below to apply collation rule

# collation_rule=en-US

# Search Fields for which collation rule should be applied.
# The fields provided here should be disambiguator formatted fields
# e.g. entry/displayname, person/givenname etc.
# Uncomment below to supply the comma-separated fields

# search_fields=entry/displayname

조합 규칙을 사용하려면 collation_rulesearch_fields 매개 변수의 주석 처리를 제거합니다. 검색에서 별도의 필드 세트를 지정하려면 search_fields 값을 원하는 값으로 변경합니다. collation_rule에서는 검색 유형을 지정하는 접미어 없이 언어 태그 또는 언어에 해당하는 OID(예: 1.3.6.1.4.1.42.2.27.9.4.34.1)를 포함할 수 있습니다. 변경 후 웹 컨테이너 인스턴스를 시작해야 합니다.

Communications Express에 대한 국가별 검색을 위해서는 LDAP Server에서 다음 속성을 색인화해야 합니다.

회사 디렉토리에 대한 익명 액세스 허용

DN 및 비밀번호를 사용하여 바인딩하거나 익명으로 바인딩하도록 Connector for Microsoft Outlook을 구성할 수 있습니다. 회사 디렉토리에 대한 익명 액세스를 사용하려면 ou=people/ou=group 하위 트리의 루트 수준에 ACL을 추가합니다.

예를 들어, 루트 수준이 dc=red,dc=sesta,dc=com인 경우 다음을 수행합니다.

#ldapmodify -D "cn=Directory manager" 
dn: dc=red,dc=sesta,dc=com 
changetype: modify 
add: aci 
aci: (targetattr != "userPassword") 
  (version 3.0;acl "Anonymous access"; 
  allow (read,compare,search)
  (userdn = "ldap:///anyone");)

디렉토리 찾아보기 허용

이 7 2005Q4 릴리스의 새로운 기능인 Connector for Microsoft Outlook을 사용하면 최종 사용자가 디렉토리를 찾아볼 수 있습니다. 주소록 페이지를 표시하면 디렉토리에 있는 처음 10개 항목이 표시됩니다. 화면을 스크롤하거나 일부 문자를 입력하면 결과가 자동으로 새로 고쳐집니다. 이는 특정 사용자만 검색할 수 있었던 Connector for Microsoft Outlook의 이전 버전으로부터 변경된 기능입니다.

성능을 유지하면서 이 기능을 사용할 수 있도록 커넥터에서는 VLV(Virtual List View) 및 서버측 검색 결과 정렬(RFC 2891)이라는 두 LDAP 컨트롤 확장을 사용합니다. 다음 ldapsearch 예제에서는 지원되는 컨트롤 목록을 반환합니다.

# ldapsearch -s base "objectclass=*" supportedControl 
supportedControl=2.16.840.1.113730.3.4.2 
supportedControl=2.16.840.1.113730.3.4.3 
supportedControl=2.16.840.1.113730.3.4.4 
supportedControl=2.16.840.1.113730.3.4.5 
supportedControl=1.2.840.113556.1.4.473  ------> Server Side Sort Control 
supportedControl=2.16.840.1.113730.3.4.9 ------> VLV Control 
supportedControl=2.16.840.1.113730.3.4.16 
supportedControl=2.16.840.1.113730.3.4.15 
supportedControl=2.16.840.1.113730.3.4.17 
supportedControl=2.16.840.1.113730.3.4.19 
supportedControl=1.3.6.1.4.1.42.2.27.9.5.2 
supportedControl=1.3.6.1.4.1.42.2.27.9.5.6 
supportedControl=2.16.840.1.113730.3.4.14 
supportedControl=1.3.6.1.4.1.1466.29539.12 
supportedControl=2.16.840.1.113730.3.4.12 
supportedControl=2.16.840.1.113730.3.4.18 
supportedControl=2.16.840.1.113730.3.4.13

Sun Java System Directory Server는 두 컨트롤을 모두 지원합니다. 그럼에도 불구하고, VLV 컨트롤은 기본적으로 인증된 사용자만 사용할 수 있습니다.

ldapsearch -D "cn=Directory Manager" -b \
"oid=2.16.840.1.113730.3.4.9,cn=features,cn=config" \
"objectclass=*" aci oid=2.16.840.1.113730.3.4.9,cn=features,cn=config \
aci=(targetattr != "aci")(version 3.0; acl "VLV Request Control"; \
allow( read, search, compare, proxy ) userdn = "ldap:///all";)

VLV 컨트롤에 대한 익명 액세스를 허용하려면 해당 ACI를 추가합니다.

#ldapmodify -D "cn=Directory Manager" \
dn: oid=2.16.840.1.113730.3.4.9,cn=features,cn=config \
changetype: modify add: aci aci: (targetattr !="aci")\
(version 3.0; acl "VLV Request Control"; allow (compare,read,search) \
userdn = "ldap:///anyone"; )

VLV와 정렬을 요구하는 검색 성능을 향상시키려면 Directory Server에서 찾아보기 색인을 만듭니다. 자세한 내용은 Sun Java System Directory Server 5 2005Q1 Administration Guide의 “Managing Browsing Indexing”를 참조하십시오. 각 찾아보기 색인은 단일 기본 DN, 검색 필터, 범위 및 정렬 속성별로 작성됩니다. 배포 구성 도구를 사용하여 클라이언트측에서 VLV 설정을 조정할 수 있습니다.

그럴 경우 cn 속성에 대한 정렬을 사용하여 dc=red,dc=iplanet,dc=com과 일치하는 기본 dn, (&(mail=*)(cn=*))과 일치하는 필터에 대한 찾아보기 색인을 만들어야 합니다. 찾아보기 색인 정보는 기본 dn을 포함하는 구성(이 경우 userRoot)에 추가됩니다.

#ldapmodify -D "cn=Directory Manager" 
dn: cn=Browsing red.sesta.com,cn=userRoot, 
cn=ldbm database,cn=plugins,cn=config 
changetype: add 
objectClass: top 
objectClass: vlvSearch 
cn: Browsing red.sesta.com 
vlvbase: dc=red,dc=sesta,dc=com 
vlvscope: 2 
vlvfilter: (&(mail=*)(cn=*)) 
aci: (targetattr="*") 
(version 3.0; acl "VLV for Anonymous"; 
allow (read,search,compare) 
userdn="ldap:///anyone";) 
dn: cn=Sort by cn, cn=Browsing red.sesta.com,cn=userRoot, 
cn=ldbm database,cn=plugins,cn=config 
changetype: add 
objectClass: top 
objectClass: vlvIndex 
cn: Sort by cn 
vlvSort: cn 

그런 다음 serverroot/slapd-instance 아래에 있는 vlvindex 명령을 실행합니다.

# ./vlvindex -n userRoot -T "Sort by cn"