Sun Java System Directory Server Enterprise Edition 6.3 관리 설명서

26장 클라이언트와 디렉토리 프록시 서버 간의 연결

클라이언트와 디렉토리 프록시 서버 간의 연결, 연결 처리기의 개요와 연결 처리기에 사용되는 기준 및 정책에 대한 설명은 Sun Java System Directory Server Enterprise Edition 6.3 Reference의 20 장, Connections Between Clients and Directory Proxy Server를 참조하십시오.

이 장은 다음 내용으로 구성되어 있습니다.

연결 처리기 만들기, 구성 및 삭제

연결 처리기 만들기, 구성 및 삭제 방법과 데이터 보기에 대한 선호도 구성 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.

Procedure연결 처리기를 만드는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 연결 처리기를 만듭니다.


    $ dpconf create-connection-handler -h host -p port connection-handler-name
    
  2. (옵션) 연결 처리기 목록을 봅니다.


    $ dpconf list-connection-handlers -h host -p port
    

Procedure연결 처리기를 구성하는 방법

시작하기 전에

연결 처리기의 등록 정보는 디렉토리 프록시 서버 인스턴스에 정의된 다른 연결 처리기의 등록 정보와 관련하여 정의해야 합니다. 모든 연결 처리기의 등록 정보를 고려하여 서로 다른 기준 집합을 지정함으로써 우선 순위가 올바르게 지정되도록 합니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 연결 처리기의 키 등록 정보와 상대적 우선 순위를 확인하려면 세부 정보 표시 목록을 봅니다.


    $ dpconf list-connection-handlers -h host -p port -v
    Name                        is-enabled  priority  description
    --------------------------  ----------  --------  ---------------------------
    anonymous                   false       99        unauthenticated connections
    default connection handler  true        100       default connection handler

    연결 처리기 anonymousdefault connection handler는 디렉토리 프록시 서버 인스턴스를 만들 때 함께 만들어집니다.

  2. 연결 처리기의 모든 등록 정보를 봅니다.


    $ dpconf get-connection-handler-prop -h host -p port connection-handler-name
    

    새 연결 처리기의 기본 등록 정보는 다음과 같습니다.


    aci-source                     :  -
    allowed-auth-methods           :  anonymous
    allowed-auth-methods           :  sasl
    allowed-auth-methods           :  simple
    allowed-ldap-ports             :  ldap
    allowed-ldap-ports             :  ldaps
    bind-dn-filters                :  any
    data-view-routing-custom-list  :  -
    data-view-routing-policy       :  all-routable
    description                    :  -
    domain-name-filters            :  any
    enable-data-view-affinity      :  false
    ip-address-filters             :  any
    is-enabled                     :  false
    is-ssl-mandatory               :  false
    priority                       :  99
    request-filtering-policy       :  no-filtering
    resource-limits-policy         :  no-limits
    schema-check-enabled           :  false
    user-filter                    :  any
  3. 연결 처리기의 우선 순위를 구성합니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name priority:value
    

    우선 순위는 1에서 100까지의 번호 중 하나일 수 있으며, 여기서 1이 우선 순위가 가장 높습니다. 디렉토리 프록시 서버 인스턴스에 대해 연결 처리기가 우선 순위대로 평가됩니다.

  4. (옵션) 연결 처리기의 DN 필터링 등록 정보를 지정합니다.

    이 등록 정보를 사용하면 바인드 DN의 일부 또는 전체를 기준으로 액세스를 제어할 수 있습니다. 등록 정보 값은 정규 표현식입니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     bind-dn-filters:regular-expression
    

    바인드 DN 필터는 JavaTM 정규 표현식의 형식을 사용합니다. Java 정규 표현식 만들기에 대한 자세한 내용은 http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html을 참조하십시오.

    예를 들어 ou=people,dc=example,dc=com의 사용자의 모든 바인드를 이름이 secure-handler인 연결 처리기에 보내려면 다음과 같이 bind-dn-filters 등록 정보를 설정합니다.


    $ dpconf set-connection-handler-prop -h host1 -p 1389 secure-handler \
     bind-dn-filters:"uid=.*,ou=people,dc=example,dc=com"
  5. (옵션) 이 연결 처리기에 사용하는 요청 필터링 정책의 이름을 지정합니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     request-filtering-policy:policy-name
    

    여기서 policy-name은 기존 요청 필터링 정책의 이름입니다. 요청 필터링 정책을 만들고 구성하는 방법에 대한 자세한 내용은 요청 필터링 정책 및 검색 데이터 숨기기 규칙 만들기 및 구성을 참조하십시오.

  6. (옵션) 이 연결 처리기에 사용하는 자원 제한 정책의 이름을 지정합니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     resource-limits-policy:policy-name
    

    여기서 policy-name은 기존 자원 제한 정책의 이름입니다. 자원 제한 정책을 만들고 구성하는 방법에 대한 자세한 내용은 자원 제한 정책 만들기 및 구성을 참조하십시오.

  7. 단계 2에 나열된 다른 등록 정보를 구성합니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     property:value [property:value ...]

    예를 들어 연결 처리기가 SSL 연결만을 허용하도록 구성합니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     is-ssl-mandatory:true

    등록 정보에 대한 설명과 유효한 값 목록을 보려면 다음 명령을 실행합니다.


    $ dpconf help-properties connection-handler
  8. 연결 처리기를 활성화합니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name is-enabled:true
  9. 필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.

    디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.

Procedure연결 처리기를 삭제하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. (옵션) 연결 처리기 목록을 봅니다.


    $ dpconf list-connection-handlers -h host -p port
    
  2. 연결 처리기를 한 개 이상 삭제합니다.


    $ dpconf delete-connection-handler -h host -p port connection-handler-name [connection-handler-name ... ]

Procedure데이터 보기에 대한 선호도를 구성하는 방법

연결이 연결 처리기에 할당될 때 해당 연결의 요청이 해당 연결 처리기에 구성된 데이터 보기 목록 또는 구성된 모든 데이터 보기에 표시됩니다. 해당 연결의 연속적인 요청은 첫 번째 요청에 사용된 데이터 보기에만 표시됩니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 데이터 보기에 대한 선호도를 활성화합니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     enable-data-view-affinity:true
  2. (옵션) 연결 처리기가 요청을 데이터 보기의 사용자 정의 목록에 전달하도록 구성합니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name data-view-routing-policy:custom
  3. (옵션) 데이터 보기 목록을 구성합니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     data-view-routing-custom-list:view-name [data-view-routing-custom-list:view-name ...]

    데이터 보기의 기존 목록에 데이터 보기를 추가하려면 이 명령을 사용합니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     data-view-routing-custom-list+:view-name
    

    데이터 보기의 기존 목록에서 데이터 보기를 제거하려면 이 명령을 사용합니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     data-view-routing-custom-list-:view-name
    

요청 필터링 정책 및 검색 데이터 숨기기 규칙 만들기 및 구성

요청 필터링 정책에 대한 개요는 Sun Java System Directory Server Enterprise Edition 6.3 ReferenceRequest Filtering Policies for Connection Handlers를 참조하십시오. 검색 데이터 숨기기 규칙에 대한 개요는 Sun Java System Directory Server Enterprise Edition 6.3 ReferenceSearch Data Hiding Rules in the Request Filtering Policy를 참조하십시오.

요청 필터링 정책 및 검색 데이터 숨기기 규칙을 만들고 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.

Procedure요청 필터링 정책을 만드는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 요청 필터링 정책을 만듭니다.


    $ dpconf create-request-filtering-policy policy-name
    
  2. 요청 필터링 정책을 연결 처리기에 연결합니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     request-filtering-policy:policy-name
    

Procedure요청 필터링 정책을 구성하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 요청 필터링 정책의 등록 정보를 봅니다.


    $ dpconf get-request-filtering-policy-prop -h host -p port policy-name
    

    요청 필터링 정책의 기본 등록 정보는 다음과 같습니다.


    allow-add-operations                :  true
    allow-bind-operations               :  true
    allow-compare-operations            :  true
    allow-delete-operations             :  true
    allow-extended-operations           :  true
    allow-inequality-search-operations  :  true
    allow-modify-operations             :  true
    allow-rename-operations             :  true
    allow-search-operations             :  true
    allowed-comparable-attrs            :  all
    allowed-search-scopes               :  base
    allowed-search-scopes               :  one-level
    allowed-search-scopes               :  subtree
    allowed-subtrees                    :  ""
    description                         :  -
    prohibited-comparable-attrs         :  none
    prohibited-subtrees                 :  none
  2. 단계 1에 나열된 등록 정보를 하나 이상 설정하여 요청 필터링 정책을 구성합니다.


    $ dpconf set-request-filtering-policy-prop -h host -p port policy-name \
      property:value [property:value ...]

    단계 1에 나열된 등록 정보를 설정하여 다음과 같은 요청 필터링 정책의 기능을 구성합니다.

    • 클라이언트가 수행할 수 있는 작업 유형

    • 클라이언트에게 표시되거나 표시되지 않는 하위 트리

    • 검색 작업 범위

    • 검색 필터 유형

    • 검색 및 비교 작업에서 비교하거나 비교할 수 없는 속성 유형

Procedure검색 데이터 숨기기 규칙을 만드는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 요청 필터링 정책에 대한 검색 데이터 숨기기 규칙을 하나 이상 만듭니다.


    $ dpconf create-search-data-hiding-rule -h host -p port policy-name rule-name \
     [rule-name ...]
  2. 검색 데이터 숨기기 규칙의 등록 정보를 봅니다.


    $ dpconf get-search-data-hiding-rule-prop policy-name rule-name
    

    검색 데이터 숨기기 규칙의 기본 등록 정보는 다음과 같습니다.


    attrs                              :  -
    rule-action                        :  hide-entry
    target-attr-value-assertions       :  -
    target-dn-regular-expressions      :  -
    target-dns                         :  -
  3. 단계 2에 나열된 등록 정보를 하나 이상 설정하여 검색 데이터 숨기기 규칙을 구성합니다.


    $ dpconf set-search-data-hiding-rule-prop -h host -p port policy-name rule-name \
      property:value [property:value ...]

    다음 규칙 작업 중 하나를 사용할 수 있습니다.

    hide-entry

    대상 항목이 반환되지 않습니다.

    hide-attributes

    대상 항목이 반환되지만 지정된 속성은 필터링됩니다.

    show-attributes

    대상 항목이 반환되지만 지정되지 않은 속성은 필터링됩니다.

    이 규칙은 다음 항목에 적용할 수 있습니다.

    target-dns

    지정된 DN이 있는 항목

    target-dn-regular-expressions

    지정된 DN 패턴이 있는 항목

    target-attr-value-assertions

    지정된 속성 이름 및 속성 값 쌍이 있는 항목(attrName#attrValue)

    다음 구성은 inetorgperson 유형의 항목을 숨기는 검색 데이터 숨기기 규칙을 정의합니다.


    $ dpconf set-search-data-hiding-rule-prop -h host1 -p port my-policy my-rule \
      target-attr-value-assertions:objectclass#inetorgperson

요청 필터링 정책 및 검색 데이터 숨기기 규칙의 예

다음 예에는 요청 필터링 정책 및 검색 데이터 숨기기 규칙이 포함되어 있습니다. 요청 필터링 정책이 검색 데이터 숨기기 규칙과 결합되면 데이터에 대한 액세스가 다음과 같이 제한됩니다.


예 26–1 요청 필터링 정책 예


allow-add-operations                :  false
allow-bind-operations               :  true
allow-compare-operations            :  true
allow-delete-operations             :  false
allow-extended-operations           :  false
allow-inequality-search-operations  :  true
allow-modify-operations             :  false
allow-rename-operations             :  false
allow-search-operations             :  true
allowed-comparable-attrs            :  all
allowed-search-scopes               :  base
allowed-search-scopes               :  one-level
allowed-search-scopes               :  subtree
allowed-subtrees                    :  ou=people,dc=sun,dc=com
description                         :  myRequestFilteringPolicy
prohibited-comparable-attrs         :  none
prohibited-subtrees                 :  none


예 26–2 검색 데이터 숨기기 규칙 예


attrs                              :  -
rule-action                        :  hide-entry
target-attr-value-assertions       :  objectclass:inetorgperson
target-dn-regular-expressions      :  -
target-dns                         :  -

자원 제한 정책 만들기 및 구성

자원 제한 정책에 대한 개요는 Sun Java System Directory Server Enterprise Edition 6.3 ReferenceResource Limits Policies for Connection Handlers를 참조하십시오. 자원 제한 정책을 만들고 구성하는 방법과 검색 제한을 사용자 정의하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.

Procedure자원 제한 정책을 만드는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 자원 제한 정책을 만듭니다.


    $ dpconf create-resource-limits-policy -h host -p port policy-name
    

    자원 제한 정책의 등록 정보를 수정하는 방법에 대한 자세한 내용은 자원 제한 정책을 구성하는 방법을 참조하십시오.

  2. 자원 제한 정책을 연결 처리기에 연결합니다.


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     resource-limits-policy:policy-name
    

Procedure자원 제한 정책을 구성하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 자원 제한 정책의 등록 정보를 봅니다.


    $ dpconf get-resource-limits-policy-prop -h host -p port policy-name
    

    자원 제한 정책의 기본 등록 정보는 다음과 같습니다.


    description                                 :  -
    max-client-connections                      :  unlimited
    max-connections                             :  unlimited
    max-simultaneous-operations-per-connection  :  unlimited
    max-total-operations-per-connection         :  unlimited
    minimum-search-filter-substring-length      :  unlimited
    referral-bind-policy                        :  default
    referral-hop-limit                          :  default
    referral-policy                             :  default
    search-size-limit                           :  unlimited
    search-time-limit                           :  unlimited
  2. 단계 1에 나열된 등록 정보를 하나 이상 설정하여 자원 제한 정책을 구성합니다.


    $ dpconf set-resource-limits-policy-prop -h host -p port policy-name \
      property:value [property:value ...]

Procedure검색 제한을 사용자 정의하는 방법

검색 기준 및 검색 범위에 따라 사용자 정의된 제한을 검색 작업에 정의할 수 있습니다. 검색 작업의 대상 DN 및 범위가 지정된 기준과 일치하면 최대 검색 결과 크기가 제한됩니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 사용자 정의 검색 제한을 하나 이상 만듭니다.


    $ dpconf create-custom-search-size-limit -h host -p port policy-name \
      custom-search-limit-name [custom-search-limit-name ...]
  2. 사용자 정의 검색 제한의 기준을 설정합니다.


    $ dpconf set-custom-search-size-limit-prop -h host -p port policy-name \
      custom-search-limit-name one-level-search-base-dn:value subtree-search-base-dn:value
    
  3. 검색이 단계 2의 기준 중 하나를 충족하면 반환되는 결과 수에 대한 제한을 설정합니다.


    $ dpconf set-custom-search-size-limit-prop -h host -p port policy-name \
     custom-search-limit-name search-size-limit:value
    
  4. 사용자 정의 검색 제한의 등록 정보를 봅니다.


    $ dpconf get-custom-search-size-limit-prop -h host -p port policy-name \
      custom-search-limit-name
    

    사용자 정의 검색 제한의 기본 등록 정보는 다음과 같습니다.


    one-level-search-base-dn  :  -
    search-size-limit         :  unlimited
    subtree-search-base-dn    :  -

디렉토리 프록시 서버를 연결 기반 라우터로 구성

Directory Proxy Server 5.2는 연결 기반 라우터입니다. Directory Proxy Server 5.2에서 클라이언트 연결이 특정 디렉토리 서버로 전달됩니다. 이 클라이언트 연결의 모든 요청은 연결이 끊어지거나 클라이언트가 바인딩 해제되기 전까지 동일한 디렉토리 서버로 전송됩니다.

Directory Proxy Server 6.3는 작업 기반 라우터입니다. 그러나, 호환을 위해 이 버전의 디렉토리 프록시 서버를 다음 절차에 설명된 것처럼 연결 기반 라우터로 구성할 수 있습니다.

Procedure디렉토리 프록시 서버를 연결 기반 라우터로 구성하는 방법

  1. 연결 처리기 만들기, 구성 및 삭제에 설명된 것처럼 연결 처리기를 하나 이상 만들고 구성합니다.

    기본 연결 처리기를 사용할 수도 있습니다.

  2. 모든 연결 처리기가 요청을 root data view에만 전달하도록 구성합니다.

    예를 들면 다음과 같습니다.


    $ dpconf set-connection-handler-prop -h host1 -p 1389 myConnectionHandler \
     data-view-routing-policy:custom data-view-routing-custom-list:"root data view"
  3. LDAP 데이터 소스 만들기 및 구성에 설명된 것처럼 각 백엔드 LDAP 서버에 데이터 소스를 만들고 구성합니다.

    예를 들면 다음과 같습니다.


    $ dpconf create-ldap-data-source -h host1 -p 1389 myDataSource host2:2389
  4. LDAP 데이터 소스 풀 만들기 및 구성에 설명된 것처럼 데이터 소스 풀을 만들고 구성합니다.

    예를 들면 다음과 같습니다.


    $ dpconf create-ldap-data-source-pool -h host1 -p 1389 myDataSourcePool
  5. 데이터 소스 풀에 LDAP 데이터 소스 첨부에 설명된 것처럼 모든 데이터 소스를 데이터 소스 풀에 연결합니다.

    예를 들면 다음과 같습니다.


    $ dpconf attach-ldap-data-source -h host1 -p 1389 myDataSourcePool myDataSource
  6. 바인드 재생을 사용하여 요청 전달에 설명된 것처럼 각 데이터 소스가 BIND 재생을 사용하여 클라이언트를 인증하도록 구성합니다.

    예를 들면 다음과 같습니다.


    $ dpconf set-ldap-data-source-prop -h host1 -p 1389 myDataSource \
     client-cred-mode:use-client-identity
  7. 클라이언트 선호도 구성에 설명된 것처럼 클라이언트 연결과 데이터 소스 풀 간에 선호도를 구성합니다.

    예를 들면 다음과 같습니다.


    $ dpconf set-ldap-data-source-pool-prop -h host1 -p 1389 myDataSourcePool \
     enable-client-affinity:true client-affinity-policy:read-write-affinity-after-write