검색

5.6. 동적으로 고유 번호 값 할당 정보

download PDF
일부 항목 속성에는 uidNumbergidNumber 와 같은 고유 번호가 있어야 합니다. Directory Server는 DCNA(Distributed Numeric Assignment) 플러그인을 사용하여 지정된 속성에 대해 고유한 번호를 자동으로 생성하고 제공할 수 있습니다.
대부분의 경우 UID/GID 번호 또는 PIN 번호와 같은 고유 숫자 속성이 필요합니다. 서버는 DNA 플러그인 인스턴스를 사용하여 숫자를 생성할 속성을 지정하므로 해당 특성이 항목에 추가될 때마다 고유한 값을 할당할 수 있습니다.
참고
속성 고유성은 DNA 플러그인으로 반드시 보존되는 것은 아닙니다. 플러그인은 겹치지 않는 범위만 할당하지만 관리 속성에 대해 수동으로 할당되는 번호를 사용할 수 있으며 수동으로 할당한 번호가 고유하거나 필요하지 않습니다.

5.6.1. 디렉터리 서버가 고유 번호를 관리하는 방법

고유 번호를 할당하는 문제는 숫자를 생성하는 것이 아니라 효과적으로 숫자를 관리하여 항목이 복제되고 모든 서버에 충분한 숫자 범위를 할당할 때 다른 할당된 숫자와 충돌하지 않도록하는 것입니다.
서버의 DNA 플러그인은 인스턴스에서 발행할 수 있는 사용 가능한 다양한 번호를 할당합니다. 범위 정의는 매우 간단하며 서버의 사용 가능한 다음 번호(범위의 하위 끝)와 최대값(범위의 최상위 끝)이라는 두 가지 속성으로 설정됩니다. 초기 하단 범위는 플러그인 인스턴스가 구성되면 설정됩니다. 그런 다음 하단 값이 플러그인에 의해 업데이트됩니다. 사용 가능한 번호를 범위로 분할하면 서버는 서로 겹치지 않고 계속 숫자를 할당할 수 있습니다.
서버는 내부적으로 정렬된 검색을 수행하여 다음 지정된 범위가 이미 사용되고 있는지 확인합니다. 관리 속성에 적절한 순서 일치 규칙이 있는 같음 인덱스가 있어야 합니다.
멀티 공급 업체 복제의 경우 각 공급 업체를 임계값으로 구성 할 수 있으므로 범위에서 숫자가 부족하기 시작하면 다른 공급 업체의 추가 범위를 요청할 수 있습니다. 각 공급자는 별도의 구성 입력에 현재 범위를 추적합니다. 구성 항목은 다른 모든 공급업체에 복제되므로 각 공급자는 해당 구성을 확인하여 새 범위에 연결할 서버를 찾을 수 있습니다.
개별 서버 및 범위 구성 항목에 설정된 범위는 Directory Server 에서 항목에 대해 번호를 효율적으로 배포하는 방법입니다.
DNA 플러그인은 단일 특성 유형 또는 단일 범위의 고유 번호에서 여러 특성 유형에 고유 번호를 할당할 수 있습니다.
이렇게 하면 속성에 고유 번호를 할당하기 위한 몇 가지 옵션이 제공됩니다.
  • 단일 고유 숫자 범위에서 단일 특성 유형에 할당된 단일 번호입니다.
  • 단일 항목에 대해 두 속성에 할당된 동일한 고유 번호입니다.
  • 동일한 고유 숫자 범위에서 두 개의 서로 다른 숫자가 할당되었습니다.
대부분의 경우 특성 유형별로 할당된 고유 번호를 사용하는 것으로 충분합니다. 새 직원 항목에 employeeID 를 할당할 때는 각 직원 항목에 고유한 employeeID 가 할당되어야 합니다.
그러나 동일한 숫자 범위의 고유 번호를 여러 특성에 할당하는 것이 유용할 수 있습니다. 예를 들어 posixAccount 항목에 uidNumbergidNumber 를 할당할 때 동일한 번호를 두 특성에 할당하도록 DNA Plug-in을 구성할 수 있습니다.
DNA 플러그인은 항상 디렉터리 트리의 특정 영역( 범위)과 해당 하위 트리 내의 특정 항목 유형에 적용됩니다( 필터).
종종 완전히 다른 사용자는 디렉터리 트리의 다른 분기에 저장됩니다. 예를 들어 호스팅 서비스에는 ou=Example Corp. 분기에 하나의 클라이언트 사용자가 있고 ou=Acme Company 분기에 있는 다른 클라이언트 사용자가 있을 수 있습니다. 이 경우 할당된 번호는 하위 트리 내에서 고유해야 하지만 전체 디렉터리에서는 고유해야 하는 것은 아닙니다. 이 경우 ou=Example Corp. 분기의 Barbara Jensen이 모두 해당 항목에 uidNumber:5있고 ou=Acme Company 분기에 uidNumber:5 가 있어야 합니다. 이는 별도의 조직이기 때문입니다. 특정 하위 트리에 범위를 적용하는 것은 dnaScope: ou=people,dc=example,dc=com 과 같은 DNA 범위에 설정됩니다.
고유 번호는 접두사를 사용하여 다양한 종류의 사용자 항목을 식별하여 범위를 구분할 수도 있습니다. 예를 들어, DNA 접두사가 acme 로 설정된 경우 Acme Company 분기의 고유 번호는 uid: acme 5 와 같이 숫자 앞에 acme가 있습니다.

5.6.2. DNA를 사용하여 속성에 값 할당

Directory Server에서 특성 값 생성을 처리할 수 있는 여러 가지 방법이 있습니다.
가장 간단한 경우 사용자 항목이 unique-number 속성이 필요하지만 속성이 없는 오브젝트 클래스가 있는 디렉터리에 추가됩니다. 값이 없는 관리 속성을 추가(또는 필요)하면 DNA 플러그인이 트리거되어 값을 할당합니다. 항목이 추가되면 플러그인은 항목이 플러그인의 범위 및 필터 세트에 따라 정의된 범위와 일치하는지 확인합니다. 항목이 범위와 일치하고 DNA가 해당 범위에 대해 관리하는 특성이 추가되는 항목에서 누락된 경우 DNA 플러그인에서 다음 값을 할당합니다. 이 옵션은 DNA 플러그인이 단일 속성에 고유한 값을 할당하도록 구성된 경우에만 작동합니다.
예를 들어 posixAccount 오브젝트 클래스에는 uidNumber 특성이 필요합니다. uidNumber 특성이 DNA Plug-in에 의해 관리되고 필터 범위 내의 uidNumber 속성 없이 사용자 항목이 추가되면 서버는 새 항목을 확인하고 관리 uidNumber 특성이 필요하다는 것을 확인하고 자동으로 할당된 값으로 속성을 추가합니다.
 ldapmodify -a -D "cn=Directory Manager" -W -p 389 -h server.example.com -x

 dn: uid=jsmith,ou=people,dc=example,dc=com
 objectClass: top
 objectClass: person
 objectClass: posixAccount    
 uid: jsmith
 cn: John Smith
 ....
플러그인은 누락된 속성을 처리하고, 서버에서 사용 가능한 다음 번호를 요청하고, 항목에 대한 값을 제공합니다.
비슷하고 더 관리하기 쉬운 옵션은 매직 번호를 사용하는 것입니다. 이 매직 번호는 관리된 속성, 서버의 범위 외부, 숫자 또는 단어 외부에 있는 템플릿 값이며, 플러그인에서 새 할당된 값으로 교체해야 함을 인식합니다. 해당 번호를 사용하여 항목이 추가되고 항목이 구성된 DNA 플러그인의 범위 및 필터 내에 있는 경우, 매직 번호를 사용하면 플러그인이 자동으로 트리거되어 새 값을 생성합니다.
DNA Plug-in이 uidNumbergidNumber 모두에 동일한 고유 번호를 posixAccount 항목에 할당하도록 구성된 경우, DNA 플러그인은 두 특성에 동일한 번호를 할당합니다. 이렇게 하려면 매직 번호를 지정하여 두 관리 특성을 모두 수정 작업에 전달합니다. 예를 들면 다음과 같습니다.
 ldapmodify -a -D "cn=Directory Manager" -W -p 389 -h server.example.com -x

 dn: uid=jsmith,ou=people,dc=example,dc=com
 objectClass: top
 objectClass: person
 objectClass: posixAccount
 uid: jsmith
 cn: John Smith
 uidNumber: magic    
 gidNumber: magic    
 ....
매직 번호는 LDIF에서 항목을 가져오거나 여러 다른 특성에 대한 고유 번호를 생성하기 위해 DNA 플러그인을 트리거하는 데 매우 유용합니다.
DNA 플러그인은 새롭고 고유한 값만 생성합니다. DNA 플러그인에 의해 제어되는 속성에 대해 특정 값을 사용하도록 항목을 추가하거나 수정한 경우 지정된 수가 사용됩니다. DNA Plug-in은 이를 덮어쓰지 않습니다.
참고
속성 고유성은 DNA 플러그인으로 반드시 보존되는 것은 아닙니다. 플러그인은 겹치지 않는 범위만 할당하지만 관리 속성에 대해 수동으로 할당되는 번호를 사용할 수 있으며 수동으로 할당한 번호가 고유하거나 필요하지 않습니다.

5.6.3. 복제와 함께 DNA 플러그인 사용

다중 제공 복제를 사용하면 서버에서 참조하는 두 개의 항목이 있습니다.
  • DNA 플러그인의 관리형 범위
  • 서버의 사용 가능한 범위에 대한 정보를 저장하는 공유 구성 항목
플러그인 인스턴스가 생성되면 DNA 플러그인에서 공급자 구성과 함께 공유 구성 항목 아래에 항목을 자동으로 생성합니다. 예를 들면 다음과 같습니다.
dn: dnaHostname=ldap1.example.com+dnaPortNum=389,cn=Account UIDs,ou=Ranges,dc=example,dc=com
objectClass: extensibleObject
objectClass: top
dnahostname: ldap1.example.com
dnaPortNum: 389
dnaSecurePortNum: 636
dnaRemainingValues: 1000
서버에 새로운 숫자 범위가 필요한 경우 컨테이너 항목 아래에 있는 구성 항목을 검색합니다. 사용 가능한 범위가 가장 높은 서버를 찾으면 확장 작업 요청을 해당 범위에 할당하도록 보냅니다. 두 번째 서버가 동의하면 두 번째 서버는 요청 서버를 새 범위 할당으로 보냅니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.