서비스 클래스(CoS) 메커니즘은 클라이언트 응용 프로그램에 대해 항목이 검색되면서 계산된 속성을 생성하여 항목 관리를 간소화하고 필요한 저장 공간을 줄여줍니다. CoS 메커니즘을 사용하면 항목 간에 속성을 공유할 수 있습니다. 또한 그룹 및 역할과 마찬가지로 CoS는 도우미 항목을 사용합니다.
배포 시 CoS를 사용하는 방법에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.0 Deployment Planning Guide의 Managing Attributes With Class of Service를 참조하십시오.
디렉토리 서버에서 CoS가 구현되는 방법에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.0 Reference의 9 장, Directory Server Class of Service를 참조하십시오.
모든 검색 작업으로 CoS에서 생성된 속성의 존재 여부를 테스트하거나 속성 값을 비교할 수 있습니다. 계산된 속성의 이름은 필터링된 역할에 사용된 내부 필터를 제외하고 클라이언트 검색 작업의 모든 필터 문자열에 사용할 수 있습니다.
다음 절에서는 각 CoS 항목의 데이터 읽기 및 쓰기 보호에 대한 일반 원칙에 대해 설명합니다. 개별 액세스 제어 지침(ACI)을 정의하는 자세한 절차는 6 장, 디렉토리 서버 액세스 제어를 참조하십시오.
CoS 정의 항목에는 생성된 속성 값이 포함되어 있지 않지만 해당 값을 찾을 수 있는 정보를 제공합니다. CoS 정의 항목 읽기는 값이 포함된 템플리트 항목을 찾는 방법을 보여줍니다. 이 항목에 대한 쓰기는 계산된 속성이 생성되는 방법을 수정합니다.
따라서 CoS 정의 항목에 대한 읽기 ACI와 쓰기 ACI를 모두 정의해야 합니다.
CoS 템플리트 항목에는 생성된 CoS 속성 값이 포함되어 있습니다. 따라서 최소한 읽기와 업데이트 모두에 대해 ACI로 템플리트의 CoS 속성을 보호해야 합니다.
포인터 CoS의 경우 단일 템플리트 항목의 이름을 바꾸면 안 됩니다. 대부분의 경우 전체 템플리트 항목을 보호하는 것이 가장 간단합니다.
클래식 CoS의 경우 모든 템플리트 항목은 공통 부모가 정의 항목에 지정되어 있습니다. 이 부모 항목에 템플리트만 저장된 경우 부모 항목에 대한 액세스 제어를 통해 템플리트를 보호합니다. 그러나 부모 아래의 다른 항목에 액세스해야 하는 경우에는 템플리트 항목을 개별적으로 보호해야 합니다.
간접 CoS의 경우 액세스해야 하는 사용자 항목을 포함하여 디렉토리의 모든 항목이 템플리트가 될 수 있습니다. 필요에 따라 디렉토리를 통해 CoS 속성에 대한 액세스를 제어하거나 템플리트로 사용되는 각 항목에서 CoS 속성이 보안되는지 확인합니다.
계산된 CoS 속성이 생성되는 CoS 정의 범위 내의 모든 항목은 값 계산에도 사용됩니다.
CoS 속성이 대상 항목에 이미 있는 경우 CoS 메커니즘에서는 기본적으로 이 값을 무시하지 않습니다. 이 동작을 원하지 않는 경우 CoS를 정의하여 대상 항목을 무시하거나, 잠재적인 모든 대상 항목에서 CoS 속성을 보호합니다.
간접 CoS와 클래식 CoS는 모두 대상 항목의 지정자 속성을 사용합니다. 이 속성은 사용할 템플리트 항목의 DN 또는 RDN을 지정합니다. ACI를 사용하여 CoS 범위 전체에서 이 속성을 전역적으로 보호하거나 각 대상 항목에서 필요에 따라 개별적으로 보호해야 합니다.
생성된 다른 CoS 속성 및 역할을 기준으로 계산된 CoS 속성을 정의할 수 있습니다. 계산된 CoS 속성을 보호하려면 이러한 종속성을 파악하여 보호해야 합니다.
예를 들어 대상 항목의 CoS 지정자 속성이 nsRole일 수 있습니다. 따라서 ACI를 사용하여 역할 정의도 함께 보호해야 합니다.
일반적으로 계산된 속성 값 계산에 포함되는 모든 속성이나 항목은 읽기 및 쓰기 액세스 제어를 위한 ACI가 있어야 합니다. 따라서 복잡한 종속성을 체계적으로 계획하거나 간소화하여 이후의 액세스 제어 구현 시의 복잡성을 줄여야 합니다. 다른 계산된 속성에 대한 종속성을 최소로 유지하면 디렉토리 성능이 향상되고 유지 관리가 쉬워집니다.
모든 구성 정보와 템플리트 데이터는 디렉토리 항목으로 저장되기 때문에 LDAP 명령줄 도구를 사용하여 CoS 정의를 구성 및 관리할 수 있습니다. 이 절에서는 명령줄에서 CoS 정의 항목과 CoS 템플리트 항목을 만드는 방법에 대해 설명합니다.
모든 CoS 정의 항목에는 LDAPsubentry 객체 클래스가 있으며 cosSuperDefinition 객체 클래스로부터 상속됩니다. 또한, 각각의 CoS 유형은 특정 객체 클래스로부터 상속되고 해당 속성을 포함합니다. 아래 표에는 CoS 정의 항목의 유형별 객체 클래스와 속성이 나와 있습니다.
표 9–1 CoS 정의 항목의 객체 클래스 및 속성
CoS 유형 |
CoS 정의 항목 |
---|---|
포인터 CoS |
objectclass: top objectclass: LDAPsubentry objectclass: cosSuperDefinition objectclass: cosPointerDefinition cosTemplateDN: DN cosAttribute: attributeName override merge |
간접 CoS |
objectclass: top objectclass: LDAPsubentry objectclass: cosSuperDefinition objectclass: cosIndirectDefinition cosIndirectSpecifier: attributeName cosAttribute: attributeName override merge |
클래식 CoS |
objectclass: top objectclass: LDAPsubentry objectclass: cosSuperDefinition objectclass: cosClassicDefinition cosTemplateDN: DN cosSpecifier: attributeName cosAttribute: attributeName override merge |
모든 경우에 cosAttribute는 여러 값을 가집니다. 각 값은 CoS 메커니즘으로 생성되는 속성을 정의합니다.
CoS 정의 항목에서 다음 속성을 사용할 수 있습니다. 각 속성에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.0 Man Page Reference의 개별 속성을 참조하십시오.
표 9–2 CoS 정의 항목 속성
속성 |
CoS 정의 항목에서의 용도 |
---|---|
cosAttribute attributeName override merge |
값을 생성할 계산된 속성 이름을 정의합니다. 이 속성은 여러 값을 가지며, 각각의 값은 템플리트에서 값이 생성될 속성 이름을 나타냅니다. override 및 merge 한정자는 표 아래에 설명된 특별한 경우에 CoS 속성 값이 계산되는 방법을 지정합니다. attributeName에는 하위 유형이 포함될 수 없습니다. 하위 유형이 있는 속성 이름은 무시되지만 cosAttribute의 다른 값은 정상적으로 처리됩니다. |
cosIndirectSpecifier attributeName |
간접 CoS에서 값이 사용되어 템플리트 항목을 식별하는 대상 항목의 속성 이름을 정의합니다. 이름이 지정된 속성을 지정자라고 하며 각 대상 항목의 전체 DN 문자열이 포함되어야 합니다. 이 속성은 한 개의 값을 갖지만 attributeName은 많은 템플리트를 지정하기 위해 여러 값을 가질 수 있습니다. |
cosSpecifier attributeName |
클래식 CoS에서 값이 사용되어 템플리트 항목을 식별하는 대상 항목의 속성 이름을 정의합니다. 이름이 지정된 속성을 지정자라고 하며 템플리트 항목의 RDN에 있는 문자열이 포함되어야 합니다. 이 속성은 한 개의 값을 갖지만 attributeName은 많은 템플리트를 지정하기 위해 여러 값을 가질 수 있습니다. |
cosTemplateDN DN |
포인터 CoS 정의에 템플리트 항목의 전체 DN을 제공하거나 클래식 CoS 정의에 템플리트 항목의 기본 DN을 제공합니다. 한 개의 값을 갖습니다. |
cosAttribute 속성은 CoS 속성 이름 뒤에 두 개의 한정자(override 한정자 및 merge 한정자)를 허용합니다.
override 한정자는 CoS에 의해 동적으로 생성되는 속성이 항목에 이미 있는 경우의 동작을 설명합니다. override 한정자는 다음 중 하나입니다.
default(한정자 없음) - 항목에 저장된 실제 속성 값이 계산된 속성과 같은 유형이면 서버에서 실제 속성 값을 무시하지 않음을 나타냅니다.
override - 값이 항목과 함께 저장되더라도 서버는 항상 CoS에 의해 생성된 값을 반환함을 나타냅니다.
operational - 속성이 검색에서 명시적으로 요청되는 경우에만 반환됨을 나타냅니다. 작동 가능 속성은 스키마 검사를 통과하지 않아도 반환될 수 있습니다. operational 한정자는 override 한정자와 동일하게 작동합니다.
스키마에서 작동 가능으로 정의된 속성만 작동 가능으로 설정할 수 있습니다. 예를 들어 CoS에서 description 속성 값을 생성한 경우 description 속성은 스키마에서 작동 가능으로 표시되지 않았으므로 operational 한정자를 사용할 수 없습니다.
merge 한정자가 없거나 merge-schemes입니다. 이 한정자는 계산된 CoS 속성이 여러 템플리트나 여러 CoS 정의에서 여러 값을 가질 수 있도록 허용합니다. 자세한 내용은 여러 값을 갖는 CoS 속성을 참조하십시오.
아래 명령을 실행하여 override 한정자가 있는 포인터 CoS 정의 항목을 만들 수 있습니다.
dn: cn=pointerCoS,dc=example,dc=com objectclass: top objectclass: LDAPsubentry objectclass: cosSuperDefinition objectclass: cosPointerDefinition cosTemplateDn: cn=exampleUS,cn=data cosAttribute: postalCode override |
이 포인터 CoS 정의 항목은 해당 항목이 postalCode 속성 값을 생성하는 템플리트 항목 cn=exampleUS,cn=data과 관련되어 있음을 나타냅니다. 또한 override 한정자는 해당 속성이 대상 항목에 있는 경우 postalCode 속성 값보다 우선함을 나타냅니다.
CoS 속성이 operational 또는 override 한정자로 정의되는 경우 CoS 범위 내의 항목에 있는 해당 항목의 "실제" 값에 대해 쓰기 작업을 수행할 수 없습니다.
merge-schemes 한정자를 지정하면 생성된 CoS 속성은 다음 두 가지 방법으로 여러 값을 가질 수 있습니다.
간접 CoS나 클래식 CoS에서 대상 항목의 지정자 속성은 여러 값을 가질 수 있습니다. 이 경우, 각각의 값은 템플리트를 지정하고 각 템플리트의 값이 생성된 값에 포함됩니다.
모든 유형에서 cosAttribute에 동일한 속성 이름이 포함된 여러 개의 CoS 정의 항목이 있을 수 있습니다. 이 경우, 모든 정의에 merge-schemes 한정자가 포함되어 있으면 생성된 속성에는 각 정의에서 계산된 값이 모두 포함됩니다.
두 경우가 함께 발생하여 더 많은 값을 정의할 수도 있습니다. 하지만 중복 값은 항상 생성된 속성에 한 번만 반환됩니다.
merge-schemes 한정자가 없는 경우, 템플리트 항목의 cosPriority 속성을 사용하여 생성된 속성에 대해 모든 템플리트에 지정되는 한 개의 값을 결정합니다. 이 시나리오에 대해서는 다음 절에서 설명합니다.
merge-schemes 한정자는 대상에서 정의된 "실제" 값과 템플리트에서 생성된 값을 병합하지 않습니다. merge 한정자는 override 한정자와 별개로 작동하므로 모든 쌍이 가능하며 각 한정자의 동작은 상호 보충됩니다. 또한 순서에 상관 없이 속성 이름 뒤에 한정자를 지정할 수 있습니다.
한 속성에 여러 개의 CoS 정의가 있는 경우 모두 동일한 override 및 merge 한정자를 사용해야 합니다. CoS 정의에 여러 개의 한정자 쌍이 있으면 한 개의 쌍이 임의로 선택되어 모든 정의에서 사용됩니다.
여러 CoS 정의가 있거나 여러 값을 가진 한정자가 있지만 merge-schemes 한정자가 없는 경우 디렉토리 서버는 우선 순위 속성을 사용하여 계산된 속성의 단일 값을 정의하는 단일 템플리트를 선택합니다.
cosPriority 속성은 모든 템플리트 중에서 특정 템플리트의 전역 우선 순위를 나타냅니다. 우선 순위 0(제로)이 가장 높은 우선 순위입니다. cosPriority 속성이 없는 템플리트는 가장 낮은 우선 순위로 간주됩니다. 두 개 이상의 템플리트가 속성 값을 제공하지만 우선 순위가 같은 경우(또는 없는 경우)에는 임의로 값이 선택됩니다.
merge-schemes 한정자를 사용하는 경우 템플리트 우선 순위는 고려되지 않습니다. 병합하는 경우에는 정의된 우선 순위에 관계 없이 해당되는 모든 템플리트가 값을 정의합니다. 다음 절에 설명된 것처럼 cosPriority 속성은 CoS 템플리트 항목에 정의됩니다.
cosPriority 속성에 음수 값은 지정할 수 없습니다. 또한 간접 CoS에서 생성된 속성은 우선 순위를 지원하지 않습니다. 간접 CoS 정의의 템플리트 항목에는 cosPriority를 사용하지 마십시오.
포인터 CoS 또는 클래식 CoS를 사용할 경우 템플리트 항목에 LDAPsubentry 및 cosTemplate 객체 클래스가 포함되어 있습니다. 이 항목은 특별히 CoS 정의에 대해 작성되어야 합니다. CoS 템플리트 항목을 LDAPsubentry 객체 클래스의 한 인스턴스로 만들면 구성 항목에 영향을 받지 않고 일반 검색을 수행할 수 있습니다.
간접 CoS 기법의 템플리트는 디렉토리에 있는 임의의 기존 항목으로,대상을 미리 식별하거나 LDAPsubentry 객체 클래스를 제공할 필요는 없지만 보조 cosTemplate 객체 클래스가 있어야 합니다. 간접 CoS 템플리트는 계산된 속성과 해당 값을 생성하기 위해 CoS를 평가할 때만 액세스됩니다.
CoS 템플리트에는 대상 항목의 CoS에서 생성된 속성과 값이 항상 포함되어 있어야 합니다. 속성 이름은 CoS 정의 항목의 cosAttribute 속성에 지정됩니다.
아래 예에서는 postalCode 속성을 생성하는 포인터 CoS에 대한 가장 높은 우선 순위의 템플리트 항목을 보여줍니다.
dn: cn=ZipTemplate,ou=People,dc=example,dc=com objectclass: top objectclass: LDAPsubentry objectclass: extensibleobject objectclass: cosTemplate postalCode: 95054 cosPriority: 0 |
다음 절에서는 템플리트 항목 예 및 CoS 정의 항목의 유형별 예를 제공합니다.
다음 명령은 cosPointerDefinition 객체 클래스를 가진 포인터 CoS 정의 항목을 만듭니다. 이 정의 항목은 이전 절의 예에 설명된 CoS 템플리트 항목을 사용하여 ou=People,dc=example,dc=com 트리의 모든 항목에 대한 공통 우편 번호를 공유합니다.
$ ldapmodify -a -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - dn: cn=pointerCoS,ou=People,dc=example,dc=com objectclass: top objectclass: LDAPsubentry objectclass: cosSuperDefinition objectclass: cosPointerDefinition cosTemplateDn: cn=ZipTemplate,ou=People,dc=example,dc=com cosAttribute: postalCode |
CoS 템플리트 항목(cn=ZipTemplate,ou=People,dc=example,dc=com)은 postalCode 속성에 저장된 값을 ou=People,dc=example,dc=com 접미어에 있는 모든 항목에 제공합니다. 아래 명령을 실행하여 같은 하위 트리에서 우편 번호가 없는 항목을 검색하면 생성된 속성 값이 표시됩니다.
$ ldapsearch -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - \ -b "ou=People,dc=example,dc=com" -s sub "(cn=*Jensen)" dn: cn=Babs Jensen,ou=People,dc=example,dc=com cn: Babs Jensen ... postalCode: 95054 |
간접 CoS는 cosIndirectSpecifier 속성의 속성 이름을 지정하여 각 대상에 고유한 템플리트를 찾습니다. 간접 CoS의 템플리트 항목은 다른 사용자 항목을 포함하여 디렉토리에 있는 모든 항목이 될 수 있습니다. 이 예에서 간접 CoS는 대상 항목의 manager 속성을 사용하여 CoS 템플리트 항목을 식별합니다. 템플리트 항목은 관리자의 사용자 항목입니다. 관리자의 사용자 항목은 생성할 속성 값을 포함합니다. 이 경우 값은 departmentNumber의 값입니다.
다음 명령은 cosIndirectDefinition 객체 클래스를 포함하는 간접 CoS 정의 항목을 만듭니다.
$ ldapmodify -a -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - dn: cn=generateDeptNum,ou=People,dc=example,dc=com objectclass: top objectclass: LDAPsubentry objectclass: cosSuperDefinition objectclass: cosIndirectDefinition cosIndirectSpecifier: manager cosAttribute: departmentNumber |
그런 다음, cosTemplate 객체 클래스를 템플리트 항목에 추가하고 이 항목이 생성될 속성을 정의하는지 확인합니다. 이 예에서는 모든 관리자 항목이 템플리트입니다.
$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - dn: cn=Carla Fuentes,ou=People,dc=example,dc=com changetype: modify add: objectclass objectclass: cosTemplate - add: departmentNumber departmentNumber: 318842 |
이 CoS를 사용하면 manager 속성이 포함된 대상 항목(ou=People,dc=example,dc=com 아래의 항목)에 자동으로 해당 관리자의 부서 번호가 지정됩니다. departmentNumber 속성은 서버에 없기 때문에 대상 항목에 대해 계산됩니다. 그러나 departmentNumber 속성은 대상 항목의 일부로 반환됩니다. 예를 들어 Babs Jensen의 관리자가 Carla Fuentes로 정의된 경우 해당 부서 번호는 다음과 같습니다.
$ ldapsearch -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - \ -b "ou=People,dc=example,dc=com" -s sub "(cn=*Jensen)" dn: cn=Babs Jensen,ou=People,dc=example,dc=com cn: Babs Jensen ... manager: cn=Carla Fuentes,ou=People,dc=example,dc=com departmentNumber: 318842 |
이 예에서는 클래식 CoS로 우편 주소를 생성하는 방법을 보여줍니다. 생성된 값은 CoS 정의의 cosTemplateDN 및 대상 항목의 cosSpecifier 속성 값 조합으로 배치되는 템플리트 항목에 지정됩니다. 다음 명령은 cosClassicDefinition 객체 클래스를 사용하여 정의 항목을 만듭니다.
$ ldapmodify -a -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - dn: cn=classicCoS,dc=example,dc=com objectclass: top objectclass: LDAPsubentry objectclass: cosSuperDefinition objectclass: cosClassicDefinition cosTemplateDn: ou=People,dc=example,dc=com cosSpecifier: building cosAttribute: postalAddress |
같은 명령을 실행하여 각 건물의 우편 주소를 제공하는 템플리트 항목을 만듭니다.
dn: cn=B07,ou=People,dc=example,dc=com objectclass: top objectclass: LDAPsubentry objectclass: extensibleobject objectclass: cosTemplate postalAddres: 7 Old Oak Street, Anytown, CA 95054 |
이 CoS를 사용하면 building 속성이 포함된 대상 항목(ou=People,dc=example,dc=com 아래의 항목)에 자동으로 해당 우편 주소가 지정됩니다. CoS 기법은 RDN에 지정자 속성 값이 있는 템플리트 항목을 검색합니다. 이 예에서 Babs Jensen이 건물 B07에 지정되어 있으면 우편 주소는 다음과 같이 생성됩니다.
$ ldapsearch -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - \ -b "ou=People,dc=example,dc=com" -s sub "(cn=*Jensen)" dn: cn=Babs Jensen,ou=People,dc=example,dc=com cn: Babs Jensen ... building: B07 postalAddress: 7 Old Oak Street, Anytown, CA 95054 |
항목의 역할을 기반으로 항목에 대한 속성 값을 생성하는 클래식 CoS 체계를 만들 수 있습니다. 예를 들어 역할 기반의 속성을 사용하여 서버에서 항목별 제한을 조회하도록 설정할 수 있습니다.
역할 기반의 속성을 만들려면 nsRole 속성을 클래식 CoS의 CoS 정의 항목에 있는 cosSpecifier로 사용합니다. nsRole 속성은 여러 값을 가질 수 있으므로 두 개 이상의 템플리트 항목이 있는 CoS 체계를 정의할 수 있습니다. 사용할 템플리트 항목을 명확히 지정하기 위해 CoS 템플리트 항목에 cosPriority 속성을 추가할 수 있습니다.
예를 들어 관리자 역할의 구성원이 표준 메일함 할당량을 초과할 수 있도록 허용하는 CoS를 작성할 수 있습니다. 관리자 역할은 다음과 같습니다.
dn: cn=ManagerRole,ou=People,dc=example,dc=com objectclass: top objectclass: LDAPsubentry objectclass: nsRoleDefinition objectclass: nsComplexRoleDefinition objectclass: nsFilteredRoleDefinition cn: ManagerRole nsRoleFilter: (isManager=True) Description: filtered role for managers |
클래식 CoS 정의 항목은 다음과 같이 만들어집니다.
dn: cn=generateManagerQuota,ou=People,dc=example,dc=com objectclass: top objectclass: LDAPsubentry objectclass: cosSuperDefinition objectclass: cosClassicDefinition cosTemplateDn: cn=managerCOS,ou=People,dc=example,dc=com cosSpecifier: nsRole cosAttribute: mailboxquota override |
CoS 템플리트 이름은 cosTemplateDn과 nsRole 값(역할 DN)의 조합이어야 합니다. 예를 들면 다음과 같습니다.
dn:cn="cn=ManagerRole,ou=People,dc=example,dc=com",\ cn=managerCOS,ou=People,dc=example,dc=com objectclass: top objectclass: LDAPsubentry objectclass: extensibleobject objectclass: cosTemplate mailboxquota: 1000000 |
CoS 템플리트 항목은 mailboxquota 속성 값을 제공합니다. override 한정자를 추가하면 CoS는 대상 항목에 있는 기존의 mailboxquota 속성 값을 모두 무시합니다. 역할 구성원인 대상 항목에는 다음과 같이 역할 및 CoS에서 생성된 계산된 속성이 지정됩니다.
$ ldapsearch -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -\ -b "ou=People,dc=example,dc=com" -s sub "(cn=*Fuentes)" dn: cn=Carla Fuentes,ou=People,dc=example,dc=comcn: Carla Fuentes isManager: TRUE...nsRole: cn=ManagerRole,ou=People,dc=example,dc=com mailboxquota: 1000000 |
역할 항목과 CoS 정의 항목은 해당 범위에 동일한 대상 항목이 포함되도록 디렉토리 트리에서 같은 위치에 있어야 합니다. CoS 대상 항목도 같은 위치에 있어야만 검색 및 유지 관리가 용이합니다.
디렉토리 서버에서는 CoS 플러그 인의 특정 특성을 모니터할 수 있습니다. CoS 모니터링 속성은 cn=monitor,cn=Class of Service,cn=plugins,cn=config 항목 아래에 저장됩니다. 이 항목 아래의 각 속성과 해당 속성이 제공하는 정보에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.0 Man Page Reference를 참조하십시오.
디렉토리 서버는 해당하는 여러 정의 항목을 임의로 구별할 경우 경고 메시지를 기록합니다. 경고 메시지의 형식은 다음과 같습니다.
Definition /defDN1/ and definition /defDN2/ compete to provide attribute '/type/' at priority /level/ |
서버에서 해당하는 여러 정의 항목을 임의로 구별하려는 경우 정보 메시지를 기록하도록 디렉토리 서버를 구성할 수도 있습니다. 이렇게 하려면 플러그 인의 메시지를 포함할 오류 로그를 설정합니다.
추가 로그 수준을 설정하면 로깅 부하가 높아질 수 있으므로 생산 서버에서는 로깅을 설정하지 않을 수 있습니다.
정보 메시지의 내용은 다음과 같습니다.
Definition /defDN1/ and definition /defDN2/ potentially compete to provide attribute '/type/' at priority /level/ |
그런 다음, 정의 항목에서 CoS 우선 순위를 적절하게 설정하여 해당 CoS의 모호성을 해결할지를 선택할 수 있습니다.