3.11. 참조 무결성을 사용하여 항목 간 관계를 유지 관리


참조 무결성은 Directory Server가 관련 항목 간의 관계를 유지 관리하도록 하는 데이터베이스 메커니즘입니다. 이 기능을 사용하여 디렉터리의 한 항목에 대한 업데이트가 업데이트된 항목을 참조하는 다른 항목에 올바르게 반영되도록 할 수 있습니다.

예를 들어 디렉토리에서 사용자를 제거하고 Referential Integrity 플러그인이 활성화된 경우 서버는 사용자가 멤버인 모든 그룹에서 사용자를 제거합니다. 플러그인이 활성화되어 있지 않으면 관리자가 수동으로 제거할 때까지 사용자는 그룹의 멤버로 유지됩니다.

사용자 및 그룹 관리를 위해 Directory Server를 Directory Server를 사용하는 다른 제품과 통합하면 참조 무결성은 중요한 기능입니다.

3.11.1. Referential Integrity 플러그인이 작동하는 방식

Referential Integrity 플러그인을 활성화하면 멤버,uniqueMember,owner 에서 무결성 업데이트를 수행하고 작업 직후 기본적으로 도 특성을 볼 수 있습니다.

예를 들어 관리자가 디렉터리 내에서 그룹 또는 사용자를 삭제, 업데이트, 이름 변경 또는 이동하는 경우 Directory Server는 참조 무결성 로그 파일에 작업을 기록합니다. 그러면 Directory Server는 이 로그 파일의 고유 이름(DN)을 사용하고 플러그인 구성에 지정된 속성과 일치하는 항목을 검색한 다음 일치하는 항목을 업데이트합니다. 예를 들어 cn=demo,dc=example,dc=com 항목을 삭제한 후 플러그인은 member 속성이 cn=demo,dc=example,dc=com 으로 설정된 항목을 검색하고 이러한 멤버 속성을 제거합니다. 이후 플러그인은 uniqueMember,ownersee also 특성에 대해 동일하게 수행합니다.

기본적으로 Directory Server는 원래 작업과 동일한 트랜잭션에서 검색하고 업데이트합니다. 검색 및 업데이트 작업은 시간이 오래 걸릴 수 있으므로 원래 작업이 완료된 후 이를 지연할 수 있습니다. dsconf 플러그인 referential-integrity set 명령의 --update-delay 옵션을 사용하여 원래 작업을 무결성 업데이트와 분리할 수 있습니다.

수정 및 삭제 작업의 성능이 저하되지 않도록 하려면 참조 무결성 플러그인 구성에 지정한 속성을 인덱싱합니다.

3.11.2. 명령줄을 사용하여 Referential Integrity 플러그인 구성

명령줄을 사용하여 Referential Integrity 플러그인을 구성할 수 있습니다.

복제 토폴로지의 모든 공급자에 대해 이 절차를 수행합니다.

절차

  1. Referential Integrity 플러그인을 활성화합니다.

    # dsconf <instance_name> plugin referential-integrity enable
    Copy to Clipboard Toggle word wrap
  2. 플러그인이 사용자 항목의 삭제 또는 이름 변경 작업을 검색하는 하위 트리를 설정합니다.

    # dsconf <instance_name> plugin referential-integrity set --entry-scope "ou=People,dc=example,dc=com"
    Copy to Clipboard Toggle word wrap
  3. 선택 사항: 항목 범위 아래에 하위 트리를 제외합니다.

    # dsconf <instance_name> plugin referential-integrity set --exclude-entry-scope "ou=Special Users,ou=People,dc=example,dc=com"
    Copy to Clipboard Toggle word wrap

    이 명령은 ou=Special Users,ou=People,dc=example,dc=com 하위 트리에서 수행되는 삭제 또는 이름 변경 작업을 무시하도록 플러그인을 구성합니다.

  4. 플러그인에서 그룹 항목을 업데이트하는 하위 트리를 구성합니다.

    # dsconf <instance_name> plugin referential-integrity set --container-scope "ou=Groups,dc=example,dc=com"
    Copy to Clipboard Toggle word wrap
  5. 기본적으로 플러그인은 멤버,uniqueMember,owner 에서 무결성 업데이트를 수행하고 도 특성을 참조하십시오. 다른 속성을 지정하려면 다음을 입력합니다.

    # dsconf <instance_name> plugin referential-integrity set --membership-attr attribute_1 attribute_2
    Copy to Clipboard Toggle word wrap

    이 명령은 플러그인 구성의 속성 목록을 덮어씁니다. 속성을 추가하려면 현재 속성 목록과 추가 속성을 --membership-attr 옵션에 전달합니다.

  6. 선택 사항: 기본적으로 Directory Server는 참조 무결성 검사를 즉시 수행합니다. 지연을 설정하려면 다음을 입력합니다.

    # dsconf <instance_name> plugin referential-integrity set --update-delay=5
    Copy to Clipboard Toggle word wrap

    이 명령은 참조 무결성 검사를 5 초로 지연합니다. 여러 공급업체에 대한 참조 무결성을 활성화한 경우 지연을 설정하면 복제 루프 및 디렉터리 불일치가 발생할 수 있습니다. 이러한 문제를 방지하려면 토폴로지의 한 공급자에서만 플러그인을 활성화합니다.

  7. 인스턴스를 다시 시작합니다.

    # dsctl <instance_name> restart
    Copy to Clipboard Toggle word wrap

검증

  1. 참조 무결성 플러그인 구성을 표시합니다.

    # dsconf <instance_name> plugin referential-integrity show
    ...
    nsslapd-plugincontainerscope: ou=Groups,dc=example,dc=com
    nsslapd-pluginentryscope: ou=People,dc=example,dc=com
    ...
    referint-membership-attr: member
    referint-membership-attr: uniquemember
    referint-membership-attr: owner
    referint-membership-attr: seeAlso
    referint-update-delay: 0
    ...
    Copy to Clipboard Toggle word wrap
  2. 그룹의 멤버 특성을 표시하여 그룹의 멤버 를 나열합니다.

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -b "cn=demoGroup,ou=Groups,dc=example,dc=com" member
    ...
    member: uid=demoUser,ou=People,dc=example,dc=com
    Copy to Clipboard Toggle word wrap
  3. uid=demoUser,ou=People,dc=example,dc=com 사용자를 삭제합니다.

    # dsidm <instance_name> -b "dc=example,dc=com" user delete "uid=demoUser,ou=People,dc=example,dc=com"
    Copy to Clipboard Toggle word wrap
  4. 그룹 멤버를 다시 표시합니다.

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -b "cn=demoGroup,ou=People,dc=example,dc=com" member
    Copy to Clipboard Toggle word wrap

    uid=demoUser,ou=People,dc=example,dc=com 이 더 이상 그룹의 멤버로 나열되지 않으면 Referential Integrity 플러그인이 작동합니다.

3.11.3. 웹 콘솔을 사용하여 참조 무결성 플러그인 구성

Directory Server 웹 콘솔을 사용하여 Referential Integrity 플러그인을 구성할 수 있습니다.

복제 토폴로지의 모든 공급자에 대해 이 절차를 수행합니다.

사전 요구 사항

  • 웹 콘솔에서 인스턴스에 로그인되어 있습니다.

절차

  1. 플러그인 참조 무결성.
  2. 플러그인을 활성화합니다.
  3. Actions Restart Instance (인스턴스 재시작)를 클릭합니다.
  4. 플러그인 참조 무결성.
  5. 기본적으로 플러그인은 멤버,uniqueMember,owner 에서 무결성 업데이트를 수행하고 도 특성을 참조하십시오. 다른 특성을 지정하려면 멤버십 속성 필드에서 목록을 업데이트합니다.
  6. Entry Scope 필드를 플러그인에서 사용자 항목의 삭제 또는 이름 변경 작업을 검색해야 하는 하위 트리의 DN으로 설정합니다.
  7. 선택 사항: 항목 범위 아래에 하위 트리를 제외하려면 제외 항목 범위 필드에 하위 트리의 DN을 입력합니다.
  8. 컨테이너 범위 필드를 플러그인에서 그룹 항목을 업데이트해야 하는 하위 트리의 DN으로 설정합니다.
  9. 선택 사항: 참조 무결성 로그 파일의 경로를 업데이트합니다. Directory Server는 이 파일을 사용하여 디렉터리의 변경 사항을 추적합니다. dirsrv 사용자에게 이 위치에 대한 쓰기 권한이 있어야 합니다.
  10. 선택 사항: 기본적으로 Directory Server는 참조 무결성 검사를 즉시 수행합니다. 지연을 설정하려면 업데이트 지연 필드에 설정합니다.

    여러 공급업체에 대한 참조 무결성을 활성화한 경우 지연을 설정하면 복제 루프 및 디렉터리 불일치가 발생할 수 있습니다. 이러한 문제를 방지하려면 토폴로지의 한 공급자에서만 플러그인을 활성화합니다.

  11. Save Config 를 클릭합니다.

검증

  1. 그룹의 멤버 특성을 표시하여 그룹의 멤버 를 나열합니다.

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -b "cn=demoGroup,ou=Groups,dc=example,dc=com" member
    ...
    member: uid=demoUser,ou=People,dc=example,dc=com
    Copy to Clipboard Toggle word wrap
  2. uid=demoUser,ou=People,dc=example,dc=com 사용자를 삭제합니다.

    # dsidm <instance_name> -b "dc=example,dc=com" user delete "uid=demoUser,ou=People,dc=example,dc=com"
    Copy to Clipboard Toggle word wrap
  3. 그룹 멤버를 다시 표시합니다.

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -b "cn=demoGroup,ou=People,dc=example,dc=com" member
    Copy to Clipboard Toggle word wrap

    uid=demoUser,ou=People,dc=example,dc=com 이 더 이상 그룹의 멤버로 나열되지 않으면 Referential Integrity 플러그인이 작동합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat