Sun JavaTM System Directory Proxy Server 는 디렉토리 프록시 서버 인스턴스를 등록하고 관리할 수 있는 브라우저 인터페이스 및 명령줄 도구를 제공합니다. 브라우저 인터페이스는 디렉토리 서비스 제어 센터(Directory Service Control Center, DSCC)라고 합니다. 이 장에서는 DSCC 또는 명령줄을 사용하여 디렉토리 프록시 서버를 관리하는 데 필요한 기본 작업에 대해 설명합니다.
특정 작업을 수행하는 데 DSCC를 사용할지, 아니면 명령줄을 사용할지를 결정하려면 DSCC 및 명령줄 사용 시기 결정을 참조하십시오.
관리 프레임워크에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Deployment Planning Guide의 Directory Server Enterprise Edition Administration Model을 참조하십시오.
이 장은 다음 내용으로 구성되어 있습니다.
이 절에서는 디렉토리 프록시 서버의 DSCC에 액세스하는 방법에 대해 설명합니다.
디렉토리 서버에서와 동일한 방법으로 DSCC에 액세스합니다.
DSCC에 액세스하는 방법을 참조하십시오.
디렉토리 프록시 서버를 보고 관리하려면 프록시 서버 탭을 누릅니다.
다음 그림은 디렉토리 프록시 서버의 초기 창을 보여줍니다.
해당 서버를 보거나 관리하려면 디렉토리 프록시 서버 인스턴스를 누릅니다.
DSCC 사용에 대한 자세한 내용은 온라인 도움말을 참조하십시오.
디렉토리 프록시 서버 작업에 사용하는 명령줄 도구는 dpadm 및 dpconf라고 합니다. 이 명령을 사용하는 방법에 대한 자세한 내용은 dpadm(1M) 및 dpconf(1M) 설명서 페이지를 참조하십시오.
이 절에서는 dpadm 및 dpconf 명령 위치에 대해 설명합니다. 또한 환경 변수, 명령 간 비교와 명령 사용에 관한 도움말 위치에 대한 정보도 제공합니다.
디렉토리 프록시 서버 명령줄 도구는 기본적으로 다음 디렉토리에 있습니다.
install-path/dps6/bin |
설치 경로는 운영 체제에 따라 달라집니다. 모든 운영 체제에 대한 설치 경로는 기본 경로 및 명령 위치에 나와 있습니다.
dpconf 명령에는 환경 변수를 사용하여 미리 설정할 수 있는 몇 가지 옵션이 필요합니다. 이 명령을 사용할 때 옵션을 지정하지 않거나 환경 변수를 설정하지 않으면 기본 설정이 사용됩니다. 다음 옵션에 대한 환경 변수를 구성할 수 있습니다.
사용자 바인드 DN. 환경 변수: LDAP_ADMIN_USER. 기본값: cn=Proxy Manager
사용자 바인드 DN에 대한 비밀번호 파일. 환경 변수: LDAP_ADMIN_PWF. 기본값: 비밀번호를 요청하는 메시지 표시
호스트 이름 또는 IP 주소. 환경 변수: DIR_PROXY_HOST . 기본값: localhost
LDAP 포트 번호. 환경 변수: DIR_PROXY_PORT. 기본값: 서버 인스턴스가 root로 실행 중인 경우 389이고, 서버 인스턴스가 일반 사용자로 실행 중인 경우 1389입니다.
dpconf는 기본적으로 명확한 연결을 열도록 지정합니다. 환경 변수: DIR_PROXY_UNSECURED. 이 변수가 설정되지 않은 경우 dpconf는 기본적으로 보안 연결을 엽니다.
자세한 내용은 dpconf(1M) 설명서 페이지를 참조하십시오.
다음 표는 dpadm 및 dpconf 명령에 대한 비교 내용을 보여줍니다.
표 16–1 dpadm과 dpconf 명령 비교
|
dpadm 명령 |
dpconf 명령 |
---|---|---|
용도 |
디렉토리 프록시 서버의 로컬 인스턴스에서 프로세스 또는 파일 관리 |
디렉토리 프록시 서버의 로컬 또는 원격 인스턴스 구성 |
사용자 |
운영 체제 사용자 |
LDAP 사용자 |
로컬 또는 원격 |
이 명령은 인스턴스에 대해 로컬로 실행해야 합니다. 즉, 서버가 실행 중인 호스트에서 명령을 실행해야 합니다. |
이 명령은 인스턴스에 대해 로컬에서뿐만 아니라 네트워크상의 어느 위치에서도 실행할 수 있습니다. |
명령 사용 예 |
디렉토리 프록시 서버 인스턴스를 만듭니다. 디렉토리 프록시 서버 인스턴스를 시작하고 중지합니다. 인증서 데이터베이스를 관리합니다. |
디렉토리 프록시 서버 인스턴스의 구성을 수정합니다. 데이터 보기를 만듭니다. 데이터 소스 풀에서 로드 균형 조정을 구성합니다. |
서버 상태 |
서버가 실행 중이거나 중지된 상태일 수 있습니다. |
서버가 실행 중이어야 합니다. |
명령에서 서버 인스턴스를 식별하는 방법 |
인스턴스 경로를 지정합니다. 인스턴스 경로는 상대 경로이거나 절대 경로일 수 있습니다. |
호스트 이름 또는 IP 주소 및 포트 번호를 지정합니다. 이 명령은 LDAP 포트(-p) 또는 LDAPS 보안 포트(-P)를 사용합니다. 명령줄에 포트 번호를 지정하지 않으면 환경 변수 PROXY_PORT가 사용됩니다. 환경 변수가 설정되어 있지 않으면 기본 포트가 사용됩니다. |
특정 디렉토리 프록시 서버 등록 정보의 값은 여러 개일 수 있습니다. 다음 값을 지정하려면 아래 구문을 사용하십시오.
$ dpconf set-container-prop -h host -p port \ property:value [property:value] |
예를 들어 이름이 my-view인 LDAP 데이터 보기에 쓰기 가능한 속성을 여러 개 설정하려면 다음 명령을 입력합니다.
$ dpconf set-ldap-data-view-prop -h host1 -p 1389 \ writable-attr:uid writable-attr:cn writable-attr:userPassword |
값이 이미 여러 개인 등록 정보에 값을 추가하려면 다음 명령을 입력합니다.
$ dpconf set-container-prop -h host -p port \ property+:value |
값이 이미 여러 개인 등록 정보에서 값을 제거하려면 다음 명령을 입력합니다.
$ dpconf set-container-prop -h host -p port\ property-:value |
예를 들어 이전에 설명한 시나리오에서 sn을 쓰기 가능한 속성 목록에 추가하려면 다음 명령을 입력합니다.
$ dpconf set-ldap-data-view-prop -h host1 -p 1389 \ writable-attr+:sn |
쓰기 가능한 속성 목록에서 cn을 제거하려면 다음 명령을 입력합니다.
$ dpconf set-ldap-data-view-prop -h host1 -p 1389 \ writable-attr-:cn |
dpadm 및 dpconf 명령을 사용하는 방법에 대한 자세한 내용은 dpadm(1M) 및 dpconf(1M) 설명서 페이지를 참조하십시오.
하위 명령 목록을 보려면 다음 명령을 입력합니다.
$ dpadm --help |
$ dpconf --help |
하위 명령을 사용하는 방법에 대한 자세한 내용을 보려면 다음 명령을 입력합니다.
$ dpadm subcommand --help |
$ dpconf subcommand --help |
dpconf 명령에 사용되는 구성 등록 정보에 대한 자세한 내용을 보려면 다음을 입력합니다.
$ dpconf help-properties |
하위 명령의 구성 등록 정보에 대한 자세한 내용을 보려면 다음 명령을 사용합니다.
$ dpconf help-properties subcommand-entity |
예를 들어 액세스 로그 등록 정보에 대한 자세한 내용을 찾으려면 다음을 입력합니다.
$ dpconf help-properties access-log |
하위 명령에 사용되는 등록 정보에 대한 자세한 내용을 보려면 다음 명령을 사용합니다.
$ dpconf help-properties subcommand-entity property |
예를 들어 set-access-log-prop 하위 명령의 log-search-filters 등록 정보에 대한 자세한 내용을 찾으려면 다음을 입력합니다.
$ dpconf help-properties access-log log-search-filters |
데이터 보기 또는 연결 처리기와 같은 엔티티 그룹의 키 등록 정보를 나열하려면 list 하위 명령에 세부 정보 표시 옵션 -v를 사용합니다.
예를 들어 모든 연결 처리기에 대한 키 등록 정보 및 상대 우선 순위를 표시하려면 다음 명령을 사용합니다.
$ dpconf -h host -p port list-connection-handlers -v Name is-enabled priority description -------------------------- ---------- -------- --------------------------- anonymous false 99 unauthenticated connections default connection handler true 100 default connection handler dscc administrators true 1 Administrators connection handler |
개별 등록 정보에 대한 자세한 내용은 각 등록 정보에 해당하는 설명서 페이지를 참조하십시오.
이 장에서는 디렉토리 프록시 서버 인스턴스를 관리하는 방법에 대해 설명합니다. 이 장은 다음 내용으로 구성되어 있습니다.
Directory Proxy Server 인스턴스를 사용하여 로드 균형 조정, 배포 및 가상화 수행
디렉토리 프록시 서버의 인스턴스를 만들 경우 인스턴스에 필요한 파일과 디렉토리가 지정된 경로에 만들어집니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
DSCC를 사용하여 새 서버 인스턴스를 만들 경우 기존 서버에서 서버 구성 설정 중 일부 또는 모두를 복사하도록 선택할 수 있습니다.
디렉토리 프록시 서버 인스턴스를 만듭니다.
$ dpadm create -p port instance-path |
예를 들어 /local/dps 디렉토리에서 새 인스턴스를 만들려면 다음 명령을 사용합니다.
$ dpadm create -p 2389 /local/dps |
인스턴스의 다른 매개 변수를 지정하려면 dpadm(1M) 설명서 페이지를 참조하십시오.
필요한 경우 비밀번호를 입력합니다.
인스턴스의 상태를 확인하여 인스턴스가 만들어졌는지 확인합니다.
$ dpadm info instance-path |
(옵션) Sun JavaTM Enterprise System 설치 프로그램이나 기본 패키지 설치를 사용하여 디렉토리 프록시 서버를 설치했으며 OS에서 서비스 관리 솔루션을 제공할 경우 다음 표와 같이 서버를 서비스로 관리하도록 활성화할 수 있습니다.
운영 체제 |
명령 |
---|---|
Solaris 10 |
dpadm enable-service --type SMF instance-path |
Solaris 9 |
dpadm autostart instance-path |
Linux, HP-UX |
dpadm autostart instance-path |
Windows |
dpadm enable-service --type WIN_SERVICE instance-path |
(옵션) 다음 방법 중 하나를 사용하여 서버 인스턴스를 등록합니다.
URL https://localhost:6789를 통해 DSCC에 액세스하고 브라우저 인터페이스에 로그인합니다.
dsccreg add-server 명령을 사용합니다.
자세한 내용은 dsccreg(1M) 설명서 페이지를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
$ dpadm stop instance-path |
인스턴스를 중지하지 않으면 삭제 명령은 인스턴스를 자동으로 중지합니다. 그러나 서비스 관리 솔루션에서 인스턴스를 활성화한 경우 수동으로 중지해야 합니다.
(옵션) 이전에 DSCC를 사용하여 서버를 관리했다면 명령줄을 사용하여 서버를 등록 취소합니다.
$ dsccreg remove-server /local/dps Enter DSCC administrator's password: /local/dps is an instance of DPS Enter password of "cn=Proxy Manager" for /local/dps: Unregistering /local/dps from DSCC on localhost. Connecting to /local/dps Disabling DSCC access to /local/dps |
자세한 내용은 dsccreg(1M) 설명서 페이지를 참조하십시오.
(옵션) 이전에 서비스 관리 솔루션에서 서버 인스턴스를 활성화한 경우 서버를 서비스로 관리하지 않도록 비활성화합니다.
운영 체제 |
명령 |
---|---|
Solaris 10 |
dpadm disable-service --type SMF instance-path |
Solaris 9 |
dpadm autostart --off instance-path |
Linux, HP-UX |
dpadm autostart --off instance-path |
Windows |
dpadm disable-service --type WIN_SERVICE instance-path |
$ dpadm delete instance-path |
이 절차에서는 디렉토리 프록시 서버의 인스턴스 상태를 확인하는 방법에 대해 설명합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
이 절에서는 명령줄에서 디렉토리 프록시 서버를 시작, 중지 및 다시 시작하는 방법에 대해 설명합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
구성 변경을 적용하려면 서버를 다시 시작해야 하는 경우가 있습니다. 이 절차를 사용하여 구성을 변경한 후에 디렉토리 프록시 서버 인스턴스를 다시 시작해야 하는지 여부를 확인합니다.
서버를 다시 시작해야 하는지 여부를 확인합니다.
$ dpconf get-server-prop -h host -p port is-restart-required |
이 명령에서 true를 반환할 경우 디렉토리 프록시 서버 인스턴스를 다시 시작해야 합니다.
이 명령에서 false를 반환할 경우 디렉토리 프록시 서버 인스턴스를 다시 시작할 필요가 없습니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
$ dpadm restart instance-path |
예를 들어 /local/dps에서 인스턴스를 다시 시작하려면 다음 명령을 사용합니다.
$ dpadm restart /local/dps |
이 장에서는 디렉토리 프록시 서버 인스턴스를 구성하는 방법에 대해 설명합니다. 이 장의 절차에서는 dpadm 및 dpconf 명령을 사용합니다. 이러한 명령에 대한 자세한 내용은 dpadm(1M) 및 dpconf(1M) 설명서 페이지를 참조하십시오.
이 장은 다음 내용으로 구성되어 있습니다.
이 절에서는 로드 균형 조정과 데이터 배포라는 두 개의 디렉토리 프록시 서버 구성 예에 대해 설명합니다. 가상 디렉토리에 대한 자세한 내용은 가상 구성 예을 참조하십시오.
로드 균형 조정의 간단한 사례는 검색 및 비교 작업을 한 디렉토리 집합에 보내고, 기타 작업을 다른 집합에 보내는 것으로 구성되어 있습니다. Directory Proxy Server는 모든 클라이언트 작업을 수신합니다. 서버에서는 어떤 집합이 읽기를 가져오고, 어떤 집합이 기타 작업을 가져오는지를 결정해야 합니다.
이 로드 균형 조정 시나리오를 처리하도록 Directory Proxy Server를 구성하는 핵심 단계는 다음과 같습니다.
디렉토리를 디렉토리 프록시 서버에 대한 데이터 소스로 추가합니다.
데이터 소스를 데이터 소스 풀에 추가합니다.
검색 및 비교를 허용하도록 일부 데이터 소스를 구성하고 추가, 바인드, 삭제, 수정 및 DN 작업 수정을 허용하도록 기타 데이터 소스를 구성합니다.
데이터 소스 풀을 데이터 보기에 추가합니다.
다음 예는 포트 9389에서 수신하는 Directory Proxy Server와 관련되어 있습니다. 프록시는 검색 및 비교 작업을 처리하는 한 디렉토리 서버 인스턴스 ds1:1389와 기타 작업을 처리하는 다른 디렉토리 서버 인스턴스 ds2:2389에 설명된 대로 로드 균형 조정을 수행하기 위해 여기서 구성됩니다.
첫 번째 단계에서는 데이터 소스를 만들고 활성화합니다. 이 단계에서는 프록시 서버를 다시 시작해야 합니다.
$ dpconf create-ldap-data-source -p 9389 ds1 localhost:1389 $ dpconf create-ldap-data-source -p 9389 ds2 localhost:2389 $ dpconf set-ldap-data-source-prop -p 9389 ds1 is-enabled:true $ dpconf set-ldap-data-source-prop -p 9389 ds2 is-enabled:true $ dpadm restart /local/dps |
두 번째 단계에서는 데이터 소스를 데이터 소스 풀에 추가합니다.
$ dpconf create-ldap-data-source-pool -p 9389 "Directory Pool" $ dpconf attach-ldap-data-source -p 9389 "Directory Pool" ds1 ds2 |
세 번째 단계에서는 검색 및 비교 작업을 허용하도록 ds1을 구성하고, 기타 작업을 허용하도록 ds2를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -p 9389 "Directory Pool" ds1 \ add-weight:disabled bind-weight:disabled compare-weight:1 delete-weight:disabled \ modify-dn-weight:disabled modify-weight:disabled search-weight:1 $ dpconf set-attached-ldap-data-source-prop -p 9389 "Directory Pool" ds2 \ add-weight:1 bind-weight:1 compare-weight:disabled delete-weight:1 \ modify-dn-weight:1 modify-weight:1 search-weight:disabled |
네 번째 단계에서는 클라이언트 응용 프로그램 요청이 풀에 전달되도록 데이터 소스 풀을 데이터 보기에 추가합니다.
$ dpconf create-ldap-data-view -p 9389 "Balanced View" "Directory Pool" \ dc=example,dc=com |
데이터 배포의 간단한 사례는 A에서 시작하여 M까지의 UID가 한 디렉토리 집합에 있는 항목을 저장하고, N에서 시작하여 Z까지의 UID가 다른 디렉토리 집합에 있는 항목을 저장하는 것으로 구성되어 있습니다. 디렉토리 프록시 서버는 모든 클라이언트 작업을 수신합니다. 서버에서는 어떤 디렉토리 집합이 A에서 M까지 처리하고, 어떤 디렉토리 집합이 N에서 Z까지 처리하는지를 결정해야 합니다.
이 데이터 배포 시나리오를 처리하도록 Directory Proxy Server를 구성하는 핵심 단계는 다음과 같습니다.
디렉토리를 디렉토리 프록시 서버에 대한 데이터 소스로 추가합니다.
서로 다른 데이터 배포를 처리하도록 데이터 소스를 데이터 소스 풀에 추가합니다.
클라이언트 요청을 적합한 데이터 풀에 배포하도록 설계된 데이터 보기를 만듭니다.
LDIF가 적합한 데이터 소스로 로드되도록 분할합니다.
분할 LDIF를 적합한 데이터 소스로 가져옵니다.
적합한 데이터 풀에 첨부된 데이터 소스의 작업 기반 가중치를 조정합니다.
다음 예는 포트 9389에서 수신하는 Directory Proxy Server와 관련되어 있습니다. 이 예를 간단하게 하기 위해 프록시는 세 개의 디렉토리 서버 인스턴스에서만 설명된 대로 배포하도록 여기서 구성됩니다. 가용성 및 읽기 확장성을 위해 복제된 디렉토리 토폴로지를 사용하여 LDAP 데이터를 저장합니다. 한 Directory Server 인스턴스 dsA-M:1389에서는 A에서 시작하여 M까지의 UID가 있는 사용자 항목을 처리합니다. 다른 디렉토리 서버 인스턴스 dsN-Z:2389에서는 N에서 시작하여 Z까지의 UID가 있는 사용자 항목을 처리합니다. 마지막 디렉토리 인스턴스에서는 접미어가 dsBase:3389인 기본 항목을 처리합니다.
첫 번째 단계에서는 데이터 소스를 만들고 활성화합니다. 기본 데이터 소스는 UID가 없는 접미어의 루트 근처에 항목을 저장합니다. 일반 배포 시 이러한 항목 수는 배포된 항목 수보다 훨씬 적습니다.
$ dpconf create-ldap-data-source -p 9389 dsA-M localhost:1389 $ dpconf set-ldap-data-source-prop -p 9389 dsA-M is-enabled:true $ dpconf create-ldap-data-source -p 9389 dsN-Z localhost:2389 $ dpconf set-ldap-data-source-prop -p 9389 dsN-Z is-enabled:true $ dpconf create-ldap-data-source -p 9389 dsBase localhost:3389 $ dpconf set-ldap-data-source-prop -p 9389 dsBase is-enabled:true |
두 번째 단계에서는 데이터 소스를 데이터 소스 풀에 추가합니다.
$ dpconf create-ldap-data-source-pool -p 9389 "Base Pool" $ dpconf attach-ldap-data-source -p 9389 "Base Pool" dsBase $ dpconf create-ldap-data-source-pool -p 9389 "A-M Pool" $ dpconf attach-ldap-data-source -p 9389 "A-M Pool" dsA-M $ dpconf create-ldap-data-source-pool -p 9389 "N-Z Pool" $ dpconf attach-ldap-data-source -p 9389 "N-Z Pool" dsN-Z |
세 번째 단계에서는 클라이언트 요청을 적합한 데이터 풀에 배포하도록 설계된 데이터 보기를 만듭니다. 기본 풀에서 dc=example,dc=com을 처리하는 한편, UID 값에 따라 배포된 데이터를 저장하는 풀에서 ou=people,dc=example,dc=com을 처리하는 방식을 살펴봅니다. 이 단계에서는 서버를 다시 시작해야 합니다.
$ dpconf create-ldap-data-view -p 9389 "Base View" "Base Pool" \ dc=example,dc=com $ dpconf create-ldap-data-view -p 9389 "A-M View" "A-M Pool" \ ou=people,dc=example,dc=com $ dpconf set-ldap-data-view-prop -p 9389 "A-M View" \ distribution-algorithm:lexicographic lexicographic-attrs:uid \ lexicographic-lower-bound:a lexicographic-upper-bound:m The proxy server will need to be restarted in order for the changes to take effect $ dpconf create-ldap-data-view -p 9389 "N-Z View" "N-Z Pool" \ ou=people,dc=example,dc=com $ dpconf set-ldap-data-view-prop -p 9389 "N-Z View" \ distribution-algorithm:lexicographic lexicographic-attrs:uid \ lexicographic-lower-bound:n lexicographic-upper-bound:z The proxy server will need to be restarted in order for the changes to take effect $ dpadm restart /local/dps |
네 번째 단계에서는 LDIF가 적합한 데이터 소스로 로드되도록 분할합니다. 이 예에서는 초기 분할을 수행하는 dsadm split-ldif 명령과 모든 데이터 소스에서 최상위 항목을 유지하기 위한 일부 파일 편집 기능을 모두 사용합니다. 이렇게 하면 액세스 제어 지침을 지정하는 최상위 항목을 유지할 뿐만 아니라 각 데이터 소스에 대해 단일 가져오기 명령을 사용할 수 있습니다.
$ dpadm split-ldif /local/dps /local/ds6/ldif/Example.ldif /tmp/ [14/May/2007:21:14:13 +0200] - STARTUP - INFO - Java Version: 1.5.0_09 (Java Home: /local/jre) [14/May/2007:21:14:13 +0200] - STARTUP - INFO - Java Heap Space: Total Memory (-Xms) = 3MB, Max Memory (-Xmx) = 63MB [14/May/2007:21:14:13 +0200] - STARTUP - INFO - Operating System: SunOS/sparc 5.10 [14/May/2007:21:14:15 +0200] - INTERNAL - ERROR - Entry starting at line 0 does not start with a DN [14/May/2007:21:14:15 +0200] - INTERNAL - ERROR - Unable to parse line "# Kirsten is a Directory Administrator and therefore should not" of entry "uid=kvaughan, ou=People, dc=example,dc=com" starting at line 112 as an attribute/value pair -- no colon found. [14/May/2007:21:14:15 +0200] - INTERNAL - ERROR - Unable to parse line "# Robert is a Directory Administrator and therefore should not" of entry "uid=rdaugherty, ou=People, dc=example,dc=com" starting at line 298 as an attribute/value pair -- no colon found. [14/May/2007:21:14:16 +0200] - INTERNAL - ERROR - Unable to parse line "# Harry is a Directory Administrator and therefore should not" of entry "uid=hmiller, ou=People, dc=example,dc=com" starting at line 556 as an attribute/value pair -- no colon found. [14/May/2007:21:14:16 +0200] - INTERNAL - INFO - SplitLDIF processing complete. Processed 156 entries. $ ls /tmp/*ldif /tmp/a-m view.ldif /tmp/base view.ldif /tmp/n-z view.ldif |
또한 이 단계에서는 가져오기 전에 LDIF에 추가된 최상위 항목이 필요합니다.
$ cp /local/ds6/ldif/Example.ldif /tmp/top.ldif $ vi /tmp/top.ldif $ cat /tmp/top.ldif dn: dc=example,dc=com objectclass: top objectclass: domain dc: example aci: (target ="ldap:///dc=example,dc=com")(targetattr != "userPassword")(version 3.0;acl "Anonymous read-search access"; allow (read, search, compare)(userdn = "ldap:///anyone");) aci: (target="ldap:///dc=example,dc=com") (targetattr = "*")(version 3.0; acl "allow all Admin group"; allow(all) groupdn = "ldap:///cn=Directory Administrators,ou=Groups,dc=example,dc=com";) $ cat /tmp/top.ldif /tmp/base\ view.ldif > /tmp/top\ and\ base\ view.ldif $ cat /tmp/top.ldif /tmp/a-m\ view.ldif > /tmp/top\ and\ a-m\ view.ldif $ cat /tmp/top.ldif /tmp/n-z\ view.ldif > /tmp/top\ and\ n-z\ view.ldif |
다섯 번째 단계에서는 분할 LDIF를 적합한 데이터 소스로 가져옵니다. 여기서 기본 항목을 처리하는 디렉토리는 포트 3389에 있습니다. A에서 M까지 처리하는 디렉토리는 포트 1389에서 수신합니다. N에서 Z까지 처리하는 디렉토리는 포트 2389에서 수신합니다.
$ dsconf import -p 1389 /tmp/top\ and\ a-m\ view.ldif dc=example,dc=com ... Task completed (slapd exit code: 0). $ dsconf import -p 2389 /tmp/top\ and\ n-z\ view.ldif dc=example,dc=com ... Task completed (slapd exit code: 0). $ dsconf import -p 3389 /tmp/top\ and\ base\ view.ldif dc=example,dc=com ... Task completed (slapd exit code: 0). |
여섯 번째 단계에서는 적합한 데이터 풀에 첨부된 데이터 소스의 작업 기반 가중치를 조정합니다. 클라이언트 응용 프로그램이 검색 이외의 작업을 수행하면 해당 작업에 대한 가중치도 설정해야 합니다.
$ dpconf set-attached-ldap-data-source-prop -p 9389 "Base Pool" dsBase search-weight:1 $ dpconf set-attached-ldap-data-source-prop -p 9389 "A-M Pool" dsA-M search-weight:1 $ dpconf set-attached-ldap-data-source-prop -p 9389 "N-Z Pool" dsN-Z search-weight:1 |
작업 기반 가중치가 설정되면 클라이언트 응용 프로그램은 데이터가 물리적으로 배포되지 않았던 것처럼 디렉토리 프록시 서버를 통해 검색할 수 있습니다.
다음 검색에서는 UID가 R로 시작하는 사용자를 찾습니다.
$ ldapsearch -p 9389 -b dc=example,dc=com uid=rfisher version: 1 dn: uid=rfisher, ou=People, dc=example,dc=com cn: Randy Fisher sn: Fisher givenName: Randy objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson ou: Human Resources ou: People l: Cupertino uid: rfisher mail: rfisher@example.com telephoneNumber: +1 408 555 1506 facsimileTelephoneNumber: +1 408 555 1992 roomNumber: 1579 |
다음 검색에서는 기본 항목 중 하나를 찾습니다.
$ ldapsearch -p 9389 -b ou=groups,dc=example,dc=com cn=hr\ managers version: 1 dn: cn=HR Managers,ou=groups,dc=example,dc=com objectClass: top objectClass: groupOfUniqueNames cn: HR Managers ou: groups uniqueMember: uid=kvaughan, ou=People, dc=example,dc=com uniqueMember: uid=cschmith, ou=People, dc=example,dc=com description: People who can manage HR entries |
이 절에서는 디렉토리 프록시 서버의 구성을 수정하는 방법에 대해 설명합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
디렉토리 프록시 서버의 현재 구성을 찾습니다.
$ dpconf get-server-prop -h host -p port |
또는 하나 이상의 구성 등록 정보에 대해 현재 설정을 봅니다.
$ dpconf get-server-prop -h host -p port property-name ... |
예를 들어 다음 명령을 실행하여 인증되지 않은 작업이 허용되는지 확인합니다.
$ dpconf get-server-prop -h host -p port allow-unauthenticated-operations allow-unauthenticated-operations : true |
$ dpconf set-server-prop -h host -p port property:value ... |
예를 들어 다음 명령을 실행하여 인증되지 않은 작업을 허용하지 않습니다.
$ dpconf set-server-prop -h host -p port allow-unauthenticated-operations:false |
잘못된 변경을 수행할 경우 해당 변경 사항은 적용되지 않습니다. 예를 들어 allow-unauthenticated-operations 매개 변수를 false 대신에 f로 설정할 경우 다음 오류가 발생합니다.
$ dpconf set-server-prop -h host -p port allow-unauthenticated-operations:f The value "f" is not a valid value for the property "allow-unauthenticated-operations". Allowed property values: BOOLEAN The "set-server-prop" operation failed. |
필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.
디렉토리 프록시 서버 인스턴스 구성을 표시하려면 dpconf info를 입력합니다.
$ dpconf info Instance Path : instance path Host Name : host Secure listen address : IP address Port : port Secure port : secure port SSL server certificate : defaultServerCert Directory Proxy Server needs to be restarted. |
dpconf info에는 해당 등록 정보가 기본값이 아닌 값으로 설정된 경우에만 Secure listen address 및 Non-secure listen address가 표시됩니다. 위 출력에는 이 등록 정보가 기본값 이외의 값으로 설정되지 않았으므로 Non-secure listen address가 표시되지 않습니다.
또한 dpconf info는 다시 시작해야 할 경우 인스턴스를 다시 시작하도록 사용자에게 알립니다.
dpadm info를 사용하여 디렉토리 프록시 서버 인스턴스 구성 정보를 표시할 수도 있습니다.
dpadm을 사용하여 디렉토리 프록시 서버를 백업할 경우 구성 파일과 서버 인증서가 백업됩니다. 디렉토리 프록시 서버 가상 ACI를 구현한 경우 ACI도 백업됩니다.
디렉토리 프록시 서버는 서버가 성공적으로 시작될 때마다 conf.ldif 파일을 자동으로 백업합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
디렉토리 프록시 서버 인스턴스를 중지합니다.
$ dpadm stop instance-path |
디렉토리 프록시 서버 인스턴스를 백업합니다.
$ dpadm backup instance-path archive-dir |
archive-dir 디렉토리는 backup 명령으로 만들어지며 이 명령을 실행하기 전에 존재하지 않아야 합니다. 이 디렉토리에는 각 구성 파일과 인증서의 백업이 포함됩니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
복원 작업을 시작하기 전에 디렉토리 프록시 서버 인스턴스를 만들어야 합니다.
디렉토리 프록시 서버 인스턴스를 중지합니다.
$ dpadm stop instance-path |
디렉토리 프록시 서버 인스턴스를 복원합니다.
$ dpadm restore instance-path archive-dir |
인스턴스 경로가 있을 경우 복원 작업이 자동으로 수행됩니다. archive-dir 디렉토리의 구성 파일과 인증서는 instance-path 디렉토리의 구성 파일과 인증서를 대체합니다.
인스턴스 경로가 없을 경우 복원 작업이 실패합니다.
프록시 관리자는 권한을 가진 관리자, UNIX® 시스템의 루트 사용자와 유사합니다. 프록시 관리자 항목은 디렉토리 프록시 서버 인스턴스가 만들어질 때 정의됩니다. 프록시 관리자의 기본 DN은 cn=Proxy Manager입니다.
다음 절차에 표시된 것처럼 프록시 관리자 DN 및 비밀번호를 보고 변경할 수 있습니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
프록시 관리자의 구성을 찾습니다.
$ dpconf get-server-prop -h host -p port configuration-manager-bind-dn configuration-manager-bind-pwd configuration-manager-bind-dn : cn=proxy manager configuration-manager-bind-pwd : {3DES}U77v39WX8MDpcWVrueetB0lfJlBc6/5n |
프록시 관리자의 기본값은 cn=proxy manager입니다. 구성 관리자 비밀번호에 해시된 값이 반환됩니다.
프록시 관리자의 DN을 변경합니다.
$ dpconf set-server-prop -h host -p port configuration-manager-bind-dn:bindDN |
프록시 관리자의 비밀번호를 포함하는 파일을 만들고 해당 파일을 가리키는 등록 정보를 설정합니다.
$ dpconf set-server-prop -h host -p port configuration-manager-bind-pwd-file:filename |
디렉토리 프록시 서버 및 해당 엔티티에 대한 구성 변경 사항은 대부분 온라인으로 수행할 수 있습니다. 특정 변경 사항의 경우 변경 사항을 적용하려면 서버를 다시 시작해야 합니다. 다음 목록의 등록 정보에 대한 구성 변경 사항을 수행한 경우 서버를 다시 시작해야 합니다.
aci-data-view bind-dn client-cred-mode custom-distribution-algorithm db-name db-pwd db-url db-user distribution-algorithm ldap-address ldap-port ldaps-port listen-address listen-port load-balancing-algorithm num-bind-init num-read-init num-write-init number-of-search-threads number-of-threads number-of-worker-threads ssl-policy use-external-schema
등록 정보의 rws 및 rwd 키워드는 등록 정보를 변경한 경우 서버를 다시 시작해야 하는지 여부를 나타냅니다.
등록 정보에 rws(read, write, static) 키워드가 있는 경우 등록 정보를 변경할 때 서버를 다시 시작해야 합니다.
등록 정보에 rwd(read, write, dynamic) 키워드가 있는 경우 서버를 다시 시작하지 않아도 등록 정보의 수정 사항이 동적으로 구현됩니다.
등록 정보를 변경한 경우 서버를 다시 시작해야 하는지 확인하려면 다음 명령을 실행합니다.
$ dpconf help-properties | grep property-name
예를 들어 LDAP 데이터 소스의 바인드 DN을 변경한 경우 서버를 다시 시작해야 하는지 확인하려면 다음 명령을 실행합니다.
$ dpconf help-properties | grep bind-dn connection-handler bind-dn-filters rwd STRING | any This property specifies a set of regular expressions. The bind DN of a client must match at least one regular expression in order for the connection to be accepted by the connection handler. (Default: any) ldap-data-source bind-dn rws DN | "" This property specifies the DN to use when binding to the LDAP data source. (Default: undefined)
구성을 변경한 후에 서버를 다시 시작해야 하는지 확인하려면 다음 명령을 실행합니다.
$ dpconf get-server-prop -h host -p port is-restart-required
디렉토리 프록시 서버에 대한 구성 항목은 cn=config에 있습니다. 디렉토리 프록시 서버를 사용하여 구성 항목에 액세스하는 경우 기본적으로 디렉토리 프록시 서버의 구성 항목에 액세스합니다.
디렉토리 서버의 구성 항목에 액세스하려면 디렉토리 프록시 서버가 아닌 디렉토리 서버에 직접 연결하는 것이 좋습니다. 디렉토리 서버를 구성하는 방법에 대한 자세한 내용은 3 장, 디렉토리 서버 구성을 참조하십시오.
디렉토리 프록시 서버를 다시 구성하여 디렉토리 서버의 구성 항목에 액세스할 경우 디렉토리 프록시 서버의 관리 프레임워크가 손상될 수 있습니다.
디렉토리 프록시 서버를 사용하여 디렉토리 서버의 구성 항목에 액세스하려면 디렉토리 프록시 서버의 관리 프레임워크가 손상되지 않도록 특별 단계를 수행합니다. 이 절에서는 디렉토리 프록시 서버를 사용하여 디렉토리 서버의 구성 항목에 액세스하는 방법에 대해 설명합니다.
LDAP 데이터 소스 만들기 및 구성에 설명된 것처럼 하나 이상의 데이터 소스를 만듭니다.
LDAP 데이터 소스 풀 만들기 및 구성에 설명된 것처럼 LDAP 데이터 소스 풀을 만듭니다.
데이터 소스 풀에 LDAP 데이터 소스 첨부에 설명된 것처럼 하나 이상의 데이터 소스를 데이터 소스 풀에 첨부합니다.
특정 데이터 소스의 구성 항목을 표시하려면 하나의 LDAP 데이터 소스만 LDAP 데이터 소스 풀에 첨부합니다.
$ dpconf attach-ldap-data-source -h host -p port pool-name data-source-name |
이 단계를 수행하고 나면 클라이언트는 디렉토리 프록시 서버에 연결된 데이터 소스의 구성 항목에 액세스할 수 있습니다.
모든 데이터 소스의 구성 항목을 표시하려면 둘 이상의 LDAP 데이터 소스를 LDAP 데이터 소스 풀에 첨부합니다.
$ dpconf attach-ldap-data-source -h host -p port pool-name data-source-name \ data-source-name ... |
이 단계를 수행하고 나면 클라이언트는 디렉토리 프록시 서버에 연결된 데이터 소스 중 하나의 구성 항목에 액세스할 수 있습니다. 그러나 클라이언트는 구성 항목이 속하는 데이터 소스를 알 수 없습니다.
cn=config를 표시하려면 LDAP 데이터 보기를 만듭니다.
$ dpconf create-ldap-data-view -h host -p port view-name pool-name cn=config |
이 장에서는 디렉토리 프록시 서버에서 인증서를 구성하는 방법에 대해 설명합니다. 디렉토리 서버에서 인증서를 구성하는 방법에 대한 자세한 내용은 인증서 관리를 참조하십시오.
이 장의 절차에서는 dpadm 및 dpconf 명령을 사용합니다. 이러한 명령에 대한 자세한 내용은 dpadm(1M) 및 dpconf(1M) 설명서 페이지를 참조하십시오.
이 장은 다음 내용으로 구성되어 있습니다.
디렉토리 프록시 서버 인스턴스를 만들 때 인스턴스에 자체 서명된 기본 인증서가 포함됩니다. 자체 서명된 인증서는 공개 키가 디렉토리 프록시 서버에서 자체 서명된 공개 키와 개인 키 쌍입니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
디렉토리 프록시 서버에서 SSL(Secure Sockets Layer)을 실행하려면 자체 서명된 인증서 또는 PKI(Public Key Infrastructure) 솔루션을 사용해야 합니다.
PKI 솔루션에는 외부 인증 기관(CA)이 필요합니다. 즉, PKI 솔루션에는 공개 키와 개인 키가 모두 포함된 CA 서명된 서버 인증서가 필요합니다. 이 인증서는 하나의 디렉토리 프록시 서버 인스턴스에만 적용됩니다. 또한 공개 키가 포함된 신뢰할 수 있는 CA 인증서도 필요합니다. 신뢰할 수 있는 CA 인증서를 사용하면 CA의 모든 서버 인증서가 신뢰됩니다. 이 인증서를 CA 루트 키 또는 루트 인증서라고도 합니다.
기본값 이외의 자체 서명된 인증서를 만들고 CA 서명된 인증서를 요청 및 설치하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
디렉토리 프록시 서버 인스턴스를 만드는 경우 자체 서명된 기본 인증서가 자동으로 제공됩니다. 기본값 이외의 설정으로 자체 서명된 인증서를 만들려면 다음 절차를 사용합니다.
이 절차를 수행하면 공개 키가 디렉토리 프록시 서버에서 서명된 서버 인증서에 대해 공개 키와 개인 키 쌍이 만들어집니다. 자체 서명된 인증서는 3개월 동안 유효합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
디렉토리 프록시 서버에 대해 기본값 이외의 자체 서명된 인증서를 만들려면 다음을 입력합니다.
$ dpadm add-selfsign-cert instance-path cert-alias |
여기서 cert-alias는 자체 서명된 인증서의 이름입니다.
예를 들어 다음과 같이 my-self-signed-cert라는 인증서를 만들 수 있습니다.
$ dpadm add-selfsign-cert /local/dps my-self-signed-cert |
모든 명령 옵션에 대한 설명을 보려면 dpadm(1M) 설명서 페이지를 참조하거나 명령줄에 dpadm add-selfsign-cert --help를 입력하십시오.
자체 서명된 인증서는 테스트용으로 유용합니다. 그러나, 작업 환경에서는 신뢰할 수 있는 인증 기관(CA) 인증서를 사용하는 것이 보다 안전합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
CA 서명된 서버 인증서를 요청합니다.
$ dpadm request-cert instance-path cert-alias |
여기서 cert-alias는 요청하는 인증서의 이름입니다. 인증 기관에서는 서버를 식별하는 데 모든 명령 옵션이 필요할 수 있습니다. 모든 명령 옵션에 대한 설명은 dpadm(1M) 설명서 페이지를 참조하십시오.
CA 인증서를 얻기 위한 프로세스는 사용하는 CA에 따라 다릅니다. 일부 상용 CA에서는 인증서를 다운로드할 수 있는 웹 사이트를 제공합니다. 다른 CA에서는 인증서를 전자 메일로 보냅니다.
예를 들어 다음과 같이 my-CA-signed-cert라는 인증서를 요청할 수 있습니다.
$ dpadm request-cert -S cn=my-request,o=test /local/dps my-CA-signed-cert -----BEGIN NEW CERTIFICATE REQUEST----- MIIBYDCBygIBADAhMQ0wCwYDVQQDEwRnZXJpMRAwDgYDVQQDEwdteWNlcnQ0MIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQC3v9ubG468wnjBDAMbRrEkmFDTQzT+LO30D/ALLXOiElVsHrtRyWhJ PG9cURI9uwqs15crxCpJvho1kt3SB9+yMB8Ql+CKnCQDHlNAfnn30MjFHShv/sAuEygFsN+Ekci5 W1jySYE2rzE0qKVxWLSILFo1UFRVRsUnORTX/Nas7QIDAQABoAAwDQYJKoZIhvcNAQEEBQADgYEA fcQMnZNLpPobiX1xy1ROefPOhksVz8didY8Q2fjjaHG5lajMsqOROzubsuQ9Xh4ohT8kIA6xcBNZ g8FRNIRAHCtDXKOdOm3CpJ8da+YGI/ttSawIeNAKU1DApF9zMb7c2lS4yEfWmreoQdXIC9YeKtF6 zwbn2EmIpjHzETtS5Nk= -----END NEW CERTIFICATE REQUEST----- |
dpadm request-cert 명령을 사용하여 인증서를 요청할 때 이 인증서 요청은 PEM(Privacy Enhanced Mail) 형식의 PKCS #10 인증서 요청입니다. PEM은 RFC 1421부터 1424까지 지정된 형식입니다. 자세한 내용은 http://www.ietf.org/rfc/rfc1421.txt를 참조하십시오. PEM 형식은 base64로 인코딩된 인증서 요청을 ASCII 형식으로 나타냅니다.
CA 서명된 인증서를 요청할 때 자체 서명된 임시 인증서가 만들어집니다. CA에서 CA 서명된 인증서를 받아 설치하면 자체 서명된 임시 인증서가 새 인증서로 대체됩니다.
이 절차에 따라 인증서 요청을 CA에 보냅니다.
요청을 전송한 후에는 CA에서 이 요청에 대한 응답으로 인증서를 보내줄 때까지 기다려야 합니다. 요청에 대한 응답 시간은 경우에 따라 달라집니다. 예를 들어 회사 내부의 CA인 경우 응답 시간이 단축될 수 있습니다. 그러나, 회사 외부의 CA인 경우에는 요청에 대한 응답을 받을 때까지 몇 주가 걸릴 수도 있습니다.
CA에서 받은 인증서를 저장합니다.
인증서를 텍스트 파일로 저장하고 안전한 위치에 백업합니다.
CA 서명된 서버 인증서를 신뢰하려면 인증서를 디렉토리 프록시 서버 인스턴스에 설치해야 합니다. 이 절차를 수행하면 CA 인증서의 공개 키가 디렉토리 프록시 서버의 인증서 데이터베이스에 설치됩니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
이 CA의 신뢰할 수 있는 CA 인증서가 이미 설치되었는지 확인합니다.
이 작업을 수행하려면 CA 인증서를 나열하는 방법에 설명된 것처럼 설치된 CA 인증서를 모두 나열합니다.
신뢰할 수 있는 CA 인증서가 설치되어 있지 않으면 디렉토리 프록시 서버 인스턴스의 인증서 데이터베이스에 이 인증서를 추가합니다.
$ dpadm add-cert instance-path cert-alias cert-file |
여기서 cert-alias는 신뢰할 수 있는 CA 인증서의 이름이고 cert-file은 신뢰할 수 있는 CA 인증서가 포함된 파일의 이름입니다.
CA 서명된 서버 인증서를 인증서 데이터베이스에 설치합니다.
$ dpadm add-cert instance-path cert-alias cert-file |
여기서 cert-alias는 CA 서명된 서버 인증서의 이름이고 cert-file은 CA 서명된 서버 인증서가 포함된 파일의 이름입니다. 이 cert-alias는 인증서 요청에서 사용된 cert-alias와 동일해야 합니다.
예를 들어 이름이 CA-cert인 CA 서명된 서버 인증서를 다음과 같이 /local/dps의 인증서 데이터베이스에 추가할 수 있습니다.
$ dpadm add-cert /local/dps CA-cert /local/safeplace/ca-cert-file.ascii |
이 절에서는 만료된 CA 서명 서버 인증서를 갱신하는 방법에 대해 설명합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
해당 CA에서 업데이트된 인증서를 얻습니다.
디렉토리 프록시 서버 인스턴스에 인증서를 설치합니다.
$ dpadm renew-cert instance-path cert-alias cert-file |
여기서 cert-alias는 새 인증서의 이름이고 cert-file은 인증서가 포함된 파일의 이름입니다. 모든 명령 옵션에 대한 설명은 dpadm(1M) 설명서 페이지를 참조하십시오.
서버 인증서 및 CA 인증서를 나열하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
이 절차를 수행하면 디렉토리 프록시 서버 인스턴스에 설치된 모든 인증서가 나열됩니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
디렉토리 프록시 서버 인스턴스의 인증서 데이터베이스에 있는 서버 인증서를 나열합니다.
$ dpadm list-certs instance-path |
기본적으로 디렉토리 프록시 서버 인스턴스에는 이름이 defaultservercert인 서버 인증서가 포함되어 있습니다. Same as issuer 텍스트는 자체 서명된 서버 인증서가 기본 인증서임을 나타냅니다.
예를 들면 다음과 같습니다.
$ dpadm list-certs /local/dps Alias Valid from Expires on Self-signed? Issued by Issued to ----------------- ---------------- ---------------- ------------ ------------------ -------------- defaultservercert 2006/06/01 04:15 2008/05/31 04:15 y CN=myserver:myport Same as issuer 1 certificate found. |
이 절차를 수행하면 디렉토리 프록시 서버 인스턴스에 설치된 CA 인증서가 나열됩니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
디렉토리 프록시 서버 인스턴스의 인증서 데이터베이스에 있는 CA 인증서를 나열합니다.
$ dpadm list-certs -C instance-path |
예를 들면 다음과 같습니다.
$ dpadm list-certs -C /local/dps Alias Valid from Expires on Built-in Issued by Issued to ------ ---------- ---------------- --------- --------- --------- CAcert1 1999/06/21 06:00 2020/06/21 06:00 y CN=company1, O=company2 ... |
이 절에서는 백엔드 LDAP 서버의 인증서를 디렉토리 프록시 서버의 인증서 데이터베이스에 추가하는 방법에 대해 설명합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
다음 명령 구문을 사용하여 백엔드 디렉토리 서버의 인증서를 PEM 형식으로 표시합니다.
dsadm show-cert -F ascii instance-path [cert-alias] |
cert-alias를 지정하지 않으면 기본 서버 인증서가 표시됩니다. 모든 명령 옵션에 대한 설명은 dsadm(1M) 설명서 페이지를 참조하십시오.
예를 들어 자체 서명된 기본 서버 인증서는 다음과 같이 표시됩니다.
$ dsadm show-cert -F ascii /local/ds defaultCert -----BEGIN CERTIFICATE----- MIICJjCCAY+gAwIBAgIFAIKL36kwDQYJKoZIhvcNAQEEBQAwVzEZMBcGA1UEChMQ U3VuIE1pY3Jvc3lzdGVtczEZMBcGA1UEAxMQRGlyZWN0b3J5IFNlcnZlcjENMAsG A1UEAxMEMjAxMTEQMA4GA1UEAxMHY29uZHlsZTAeFw0wNjA1MjIxMTQxNTVaFw0w NjA4MjIxMTQxNTVaMFcxGTAXBgNVBAoTEFN1biBNaWNyb3N5c3RlbXMxGTAXBgNV BAMTEERpcmVjdG9yeSBTZXJ2ZXIxDTALBgNVBAMTBDIwMTExEDAOBgNVBAMTB2Nv bmR5bGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAK9U3ry3sJmEzwQY8CGd 7S2MTZuBedo03Vea1lfDtD08WIsdDMzhHplTdeHAkWWNc8g2PDcEFXeWp9UXFMuD Pcia7t8HtFkm73VmlriWhMd8nn3l2vkxhsPK2LHFEeOIUDR9LBBiMiEeLkjdoEhE VLMSoYKqKI+Aa5grINdmtFzBAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAF4eDbSd7 qy2l10dIogT+rnXZ362gLTlQFCblhbGpmmptbegUdL1ITGv/62q1isPV2rW7CkjM Cqb0fo3k5UkKKvW+JbMowpQeAPnlgpX612HuDr1tldnKV4eyU7gpG31t/cpACALQ 7OPi1A7oVb2Z8OJKfEJHkp3txBSsiI2gTkk= -----END CERTIFICATE----- |
인증서를 저장합니다.
인증서를 텍스트 파일로 저장하고 안전한 위치에 백업합니다.
백엔드 LDAP 서버의 인증서를 디렉토리 프록시 서버 인스턴스의 인증서 데이터베이스에 추가합니다.
$ dpadm add-cert instance-path cert-alias cert-file |
여기서 cert-alias는 인증서의 이름이고 cert-file은 인증서가 포함된 파일의 이름입니다.
예를 들어 다음과 같이 defaultCert 인증서를 추가할 수 있습니다.
$ dpadm add-cert /local/dps defaultCert /local/safeplace/defaultCert.ascii |
백엔드 LDAP 서버에 디렉토리 프록시 서버의 인증서가 필요할 수 있습니다. 이 절에서는 디렉토리 프록시 서버를 구성하여 인증서를 백엔드 LDAP 서버로 내보내는 방법에 대해 설명합니다.
$ dpconf set-server-prop -h host -p port ssl-client-cert-alias:cert-alias |
여기서 cert-alias는 인증서의 이름입니다. 모든 명령 옵션에 대한 설명은 dpconf(1M) 설명서 페이지를 참조하십시오.
인증서 내용을 파일에 복사합니다.
$ dpadm show-cert -F ascii -o filename instance-path cert-alias |
CA 서명된 서버 인증서 및 신뢰할 수 있는 CA 인증서를 추가하는 방법에 설명된 것처럼 인증서를 백엔드 LDAP 서버의 인증서 데이터베이스에 추가합니다.
클라이언트 인증을 위해 백엔드 LDAP 서버를 구성합니다. 디렉토리 서버에서 이 작업을 수행하는 방법에 대한 자세한 내용은 자격 증명 수준 및 인증 방법 구성을 참조하십시오.
클라이언트와 디렉토리 프록시 서버 간에 인증서 기반 인증을 구성하는 방법에 대한 자세한 내용은 인증서 기반 인증을 구성하는 방법을 참조하십시오.
서버 인증서는 dpadm을 사용하여 디렉토리 프록시 서버를 백업할 때 함께 백업됩니다. 백업된 인증서는 archive-path/alias 디렉토리에 저장됩니다.
디렉토리 프록시 서버를 백업 및 복원하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버 인스턴스 백업 및 복원을 참조하십시오.
기본적으로 인증서 데이터베이스의 비밀번호는 내부적으로 관리됩니다. 따라서, 인증서 비밀번호를 입력하거나 비밀번호 파일을 지정할 필요가 없습니다. 인증서 데이터베이스를 저장된 비밀번호를 통해 내부적으로 관리할 경우에는 해당 비밀번호가 보안 환경에 저장됩니다.
인증서에 대한 보안과 제어를 강화하려면 명령줄에서 비밀번호 요청을 프롬프트하도록 디렉토리 프록시 서버를 구성합니다. 그러면 autostart, backup, disable-service, enable-service, info, restore 및 stop을 제외한 dpadm의 모든 하위 명령에서 비밀번호를 입력하라는 메시지가 표시됩니다.
비밀번호 요청을 프롬프트하거나 프롬프트하지 않도록 디렉토리 프록시 서버를 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
서버를 중지합니다.
$ dpadm stop instance-path Directory Proxy Server instance 'instance-path' stopped |
비밀번호 프롬프트 플래그를 on으로 설정한 다음 인증서 데이터베이스 비밀번호를 입력하고 확인합니다.
$ dpadm set-flags instance-path cert-pwd-prompt=on Choose the certificate database password: Confirm the certificate database password: |
서버를 시작한 다음 인증서 데이터베이스 비밀번호를 입력합니다.
$ dpadm start instance-path Enter the certificate database password: |
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
서버를 중지합니다.
$ dpadm stop instance-path Directory Proxy Server instance 'instance-path' stopped |
비밀번호 프롬프트 플래그를 off로 설정한 다음 기존 비밀번호를 입력합니다.
$ dpadm set-flags instance-path cert-pwd-prompt=off Enter the old password: |
서버를 시작합니다.
$ dpadm start instance-path |
이 장에서는 dpconf 명령을 사용하여 LDAP 데이터 소스 및 데이터 소스 풀을 만들고 구성하는 방법에 대해 설명합니다. 이러한 항목에 대한 참조 정보는 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 LDAP Data Sources를 참조하십시오.
이 장은 다음 내용으로 구성되어 있습니다.
LDAP 데이터 소스를 만들고 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
$ dpconf create-ldap-data-source -h host -p port source-name host:port |
이 명령에서 source-name은 새 데이터 소스에 할당하는 이름입니다. host 및 port는 LDAP 서버가 실행 중인 호스트와 포트를 나타냅니다. 데이터 소스는 기본적으로 SSL을 사용하지 않습니다.
호스트가 IP V6 주소로 지정된 경우에는 데이터 소스를 만들 때 IP V6 참조를 사용해야 합니다. 예를 들어 디렉토리 프록시 서버가 포트 2389에서 IP V6 주소 fe80::209:3dff:fe00:8c93을 가진 호스트에 바인드될 경우 다음 명령을 사용하여 데이터 소스를 만듭니다.
$ dpconf create-ldap-data-source -h host1 -p 1389 ipv6-host \ [fe80::209:3dff:fe00:8c93]:2389 |
콘솔을 사용하여 데이터 소스를 만들 경우 대괄호 없이 실제 IP V6 주소를 지정해야 합니다.
LDAP 데이터 소스의 등록 정보를 수정하는 방법에 대한 자세한 내용은 LDAP 데이터 소스를 구성하는 방법을 참조하십시오.
$ dpconf list-ldap-data-sources -h host -p port |
이 절차에서는 디렉토리 프록시 서버와 LDAP 데이터 소스 간 인증을 구성합니다. 또한 디렉토리 프록시 서버에서 LDAP 데이터 소스를 모니터링하는 방법도 구성합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
다음 명령 구문을 사용하여 데이터 소스의 등록 정보를 봅니다.
dpconf get-ldap-data-source-prop -h host -p port [-M unit] [-Z unit] source-name [property...] |
이 명령에서 -M 및 -Z는 데이터를 표시할 단위를 나타냅니다. M 옵션은 시간 단위를 지정합니다. -M 값은 월, 주, 일, 시, 분, 초 또는 밀리초를 나타내는 M, w, d, h, m, s 또는 ms가 될 수 있습니다. -Z 옵션은 데이터 크기 단위를 지정합니다. -Z 값은 테라바이트, 기가바이트, 메가바이트, 킬로바이트 또는 바이트를 나타내는 T, G, M, k 또는 b가 될 수 있습니다.
등록 정보를 지정하지 않으면 모든 등록 정보가 표시됩니다. LDAP 데이터 소스의 기본 등록 정보는 다음과 같습니다.
bind-dn : - bind-pwd : - client-cred-mode : use-client-identity connect-timeout : 10s description : - is-enabled : false is-read-only : true ldap-address : host ldap-port : port ldaps-port : ldaps monitoring-bind-timeout : 5s monitoring-entry-dn : "" monitoring-entry-timeout : 5s monitoring-inactivity-timeout : 2m monitoring-interval : 30s monitoring-mode : proactive monitoring-search-filter : (|(objectClass=*)(objectClass=ldapSubEntry)) num-bind-incr : 10 num-bind-init : 10 num-bind-limit : 1024 num-read-incr : 10 num-read-init : 10 num-read-limit : 1024 num-write-incr : 10 num-write-init : 10 num-write-limit : 1024 proxied-auth-check-timeout : 1.8s proxied-auth-use-v1 : false ssl-policy : never use-tcp-no-delay : true |
데이터 소스를 활성화합니다.
$ dpconf set-ldap-data-source-prop -h host -p port source-name is-enabled:true |
기본 설정을 변경하려면 단계 1에 나열된 모든 등록 정보를 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port source-name property:value |
예를 들어 데이터 소스의 항목을 수정하려면 쓰기 작업을 허용하도록 데이터 소스를 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port source-name is-read-only:false |
하위 명령에 사용되는 등록 정보에 대한 정보를 확인하려면 다음 명령을 실행합니다.
$ dpconf help-properties ldap-data-source property |
데이터 소스에 대한 키 등록 정보를 나열하려면 list 하위 명령과 함께 세부 정보 표시 옵션 -v를 사용합니다.
$ dpconf list-ldap-data-sources -v Name is-enabled ldap-address ldap-port ldaps-port description ----------- ---------- ------------ --------- ---------- ----------- datasource0 true myHost myPort ldaps - datasource1 true myHost myPort ldaps - |
필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오. 서버를 다시 시작해야 하는 구성 변경 사항 목록은 서버를 다시 시작해야 하는 구성 변경 사항을 참조하십시오.
데이터 소스 풀을 만들고 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
$ dpconf create-ldap-data-source-pool -h host -p port pool-name |
첫 번째 pool-name 다음에 데이터 소스 풀을 추가로 지정할 수 있습니다. 데이터 소스 풀의 등록 정보를 수정하는 방법에 대한 자세한 내용은 LDAP 데이터 소스 풀을 구성하는 방법을 참조하십시오.
$ dpconf list-ldap-data-source-pools -h host -p port |
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
다음 명령 구문을 사용하여 데이터 소스 풀의 등록 정보를 봅니다.
dpconf get-ldap-data-source-pool-prop -h host -p port [-M unit] [-Z unit] \ pool-name [property...] |
이 명령에서 -M 및 -Z는 데이터를 표시할 단위를 나타냅니다. M 옵션은 시간 단위를 지정합니다. -M 값은 월, 주, 일, 시, 분, 초 또는 밀리초를 나타내는 M, w, d, h, m, s 또는 ms가 될 수 있습니다. -Z 옵션은 데이터 크기 단위를 지정합니다. -Z 값은 테라바이트, 기가바이트, 메가바이트, 킬로바이트 또는 바이트를 나타내는 T, G, M, k 또는 b가 될 수 있습니다.
등록 정보를 지정하지 않으면 모든 등록 정보가 표시됩니다. LDAP 데이터 소스 풀의 기본 등록 정보는 다음과 같습니다.
client-affinity-policy : write-affinity-after-write client-affinity-timeout : 20s description : - enable-client-affinity : false load-balancing-algorithm : proportional |
단계 1에 나열된 등록 정보를 구성합니다.
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ property:value |
로드 균형 조정 및 클라이언트 선호도를 위해 데이터 소스 풀의 등록 정보를 구성하는 방법에 대한 자세한 내용은 21 장, 디렉토리 프록시 서버 로드 균형 조정 및 클라이언트 선호도를 참조하십시오.
데이터 소스 풀에 첨부되는 데이터 소스를 첨부된 데이터 소스라고 합니다. 첨부된 데이터 소스의 등록 정보는 데이터 소스 풀의 로드 균형 조정 구성을 결정합니다. 첨부된 데이터 소스의 가중치를 구성할 경우 데이터 소스 풀에 있는 모든 첨부된 데이터 소스의 가중치를 고려합니다. 필요에 따라 가중치가 함께 작동하는지 확인합니다. 로드 균형 조정을 위해 가중치를 구성하는 방법에 대한 자세한 내용은 로드 균형 조정에 대한 가중치를 구성하는 방법을 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 소스 풀에 데이터 소스를 하나 이상 첨부합니다.
$ dpconf attach-ldap-data-source -h host -p port pool-name \ source-name [source-name ...] |
(옵션) 지정된 데이터 소스 풀에 대해 첨부된 데이터 소스 목록을 봅니다.
$ dpconf list-attached-ldap-data-sources -h host -p port -E pool-name |
이 명령에서 -E는 선택 사항이며 한 줄에 하나의 등록 정보 값을 표시하도록 표시 출력을 수정합니다.
(옵션) 지정된 데이터 소스 풀에 대해 첨부된 데이터 소스의 키 등록 정보를 봅니다.
$ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name |
이 명령에서 -v는 세부 정보 표시 출력을 지정합니다. 예를 들어 데이터 소스 풀의 등록 정보 예를 봅니다.
$ dpconf list-attached-ldap-data-sources -h host1 -p 1389 -v My-pool Name add-weight bind-weight compare-weight ----------- ---------- ----------- -------------- datasource0 disabled disabled disabled datasource1 disabled disabled disabled delete-weight modify-dn-weight modify-weight search-weight ------------- ---------------- ------------- ------------- disabled disabled disabled disabled disabled disabled disabled disabled |
(옵션) 다음 명령 구문을 사용하여 첨부된 데이터 소스의 등록 정보를 봅니다.
$ dpconf get-attached-ldap-data-source-prop -h host -p port [-M unit] [-Z unit] \ pool-name source-name [property...] |
이 명령에서 -M 및 -Z는 데이터를 표시할 단위를 나타냅니다. M 옵션은 시간 단위를 지정합니다. -M 값은 월, 주, 일, 시, 분, 초 또는 밀리초를 나타내는 M, w, d, h, m, s 또는 ms가 될 수 있습니다. -Z 옵션은 데이터 크기 단위를 지정합니다. -Z 값은 테라바이트, 기가바이트, 메가바이트, 킬로바이트 또는 바이트를 나타내는 T, G, M, k 또는 b가 될 수 있습니다.
등록 정보를 지정하지 않으면 모든 등록 정보가 표시됩니다.
첨부된 데이터 소스의 등록 정보는 로드 균형 조정에서 각 작업 유형에 대한 가중치를 정의합니다. 첨부된 데이터 소스의 기본 가중치는 다음과 같습니다.
add-weight : disabled bind-weight : disabled compare-weight : disabled delete-weight : disabled modify-dn-weight : disabled modify-weight : disabled search-weight : disabled |
로드 균형 조정을 위해 첨부된 데이터 소스의 가중치를 구성하는 방법에 대한 자세한 내용은 로드 균형 조정에 대한 가중치를 구성하는 방법을 참조하십시오.
로드 균형 조정 및 클라이언트 선호도에 대한 설명은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 16 장, Directory Proxy Server Load Balancing and Client Affinity를 참조하십시오. 이 장은 다음 내용으로 구성되어 있습니다.
로드 균형 조정에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Load Balancing을 참조하십시오. 이 절에서는 로드 균형 조정을 구성하는 방법에 대해 설명하며 구성 예를 제공합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
LDAP 데이터 소스 풀의 등록 정보를 확인하여 현재 로드 균형 조정 알고리즘을 얻습니다.
$ dpconf get-ldap-data-source-pool-prop -h host -p port pool-name |
LDAP 데이터 소스 풀의 기본 등록 정보는 다음과 같습니다.
client-affinity-policy : write-affinity-after-write client-affinity-timeout : 20s description : - enable-client-affinity : false load-balancing-algorithm : proportional |
로드 균형 조정 알고리즘의 기본값은 proportional입니다.
알고리즘을 사용하려면 LDAP 데이터 소스 풀을 구성합니다.
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ load-balancing-algorithm:selected-algorithm |
여기서 selected-algorithm은 다음 값 중 하나입니다.
failover
operational-affinity
proportional
saturation
알고리즘에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Introduction to Load Balancing을 참조하십시오.
디렉토리 프록시 서버 인스턴스를 다시 시작합니다.
$ dpadm restart instance-path |
첨부된 데이터 소스의 가중치는 데이터 소스 풀에 첨부된 다른 데이터 소스의 가중치와 관련하여 구성해야 합니다. 첨부된 모든 데이터 소스의 가중치를 고려합니다. 작업 유형에 대해 데이터 소스에 disabled 가중치가 부여되면 이 데이터 소스에 해당 유형의 요청이 전송되지 않습니다. 데이터 소스에 0(영)의 가중치가 부여되면 다른 모든 데이터 소스를 사용할 수 없는 경우가 아닌 한, 이 데이터 소스에 요청이 배포되지 않습니다. 따라서, 0의 가중치로 구성된 데이터 소스는 다른 모든 데이터 소스를 사용할 수 없는 경우에 사용됩니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 소스 풀에 첨부된 데이터 소스 목록을 봅니다.
$ dpconf list-attached-ldap-data-sources -h host -p port pool-name |
첨부된 데이터 소스 중 하나에 대한 등록 정보를 봅니다.
$ dpconf get-attached-ldap-data-source-prop pool-name \ attached-data-source-name |
첨부된 데이터 소스의 등록 정보는 각 작업 유형에 대한 가중치를 정의합니다. 첨부된 데이터 소스의 기본 가중치는 다음과 같습니다.
add-weight : disabled bind-weight : disabled compare-weight : disabled delete-weight : disabled modify-dn-weight : disabled modify-weight : disabled search-weight : disabled |
첨부된 데이터 소스 중 하나에 대한 가중치를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name \ attached-data-source-name add-weight:value \ bind-weight:value compare-weight:value delete-weight:value \ modify-dn-weight:value modify-weight:value search-weight:value |
첨부된 데이터 소스의 키 매개 변수를 비교합니다.
$ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name |
예를 들어 데이터 소스 풀에 다음 가중치가 부여된 데이터 소스가 포함될 수 있습니다.
$ dpconf list-attached-ldap-data-sources -h host1 -p 1389 -v myPool Name add-weight bind-weight compare-weight delete-weight modify-dn-weight modify-weight search-weight ---- ---------- ----------- -------------- ------------- ---------------- ------------- ------------- DS-1 disabled 3 disabled disabled disabled disabled disabled DS-2 2 2 2 2 2 2 2 DS-3 1 1 1 1 1 1 1 |
이 절에는 각 로드 균형 조정 알고리즘을 구성하는 절차 예가 포함되어 있습니다.
비례 알고리즘에 대한 설명은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Proportional Algorithm for Load Balancing을 참조하십시오.
위의 예에서 데이터 소스 ds–1은 다른 두 데이터 소스의 가중치에 비해 2배로 구성되어 있습니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 소스 풀에 데이터 소스가 세 개 이상 첨부되어 있는지 확인합니다. 데이터 소스 및 데이터 소스 풀을 만드는 방법에 대한 자세한 내용은 20 장, LDAP 데이터 소스 및 데이터 소스 풀을 참조하십시오.
데이터 소스 풀이 로드 균형 조정에 대한 비례 알고리즘을 사용하도록 구성합니다.
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ load-balancing-algorithm:proportional |
첫 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \ add-weight:2 bind-weight:2 compare-weight:2 delete-weight:2 modify-dn-weight:2 \ modify-weight:2 search-weight:2 |
두 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \ add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \ modify-weight:1 search-weight:1 |
세 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \ add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \ modify-weight:1 search-weight:1 |
첨부된 데이터 소스의 키 매개 변수를 비교합니다.
$ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name Name add-weight bind-weight compare-weight delete-weight modify-dn-weight modify-weight search-weight --- ---------- ----------- -------------- ------------- ---------------- ------------- ------------- ds-1 2 2 2 2 2 2 2 ds-2 1 1 1 1 1 1 1 ds-3 1 1 1 1 1 1 1 |
디렉토리 프록시 서버 인스턴스를 다시 시작합니다.
$ dpadm restart instance-path |
포화 알고리즘에 대한 설명은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Saturation Algorithm for Load Balancing을 참조하십시오.
위의 예에서 데이터 소스 ds-1은 대부분의 바인드 작업을 수행하지만 다른 유형의 작업은 수행하지 않습니다. 세 데이터 소스는 다음과 같은 가중치로 구성되어 있습니다.
ds-1은 바인드 작업에 대해 가중치 3으로 구성되어 있으며 다른 모든 유형의 작업에 대해서는 비활성화되어 있습니다.
ds-2는 모든 작업에 대해 가중치 2로 구성되어 있습니다.
ds-3은 모든 작업에 대해 가중치 1로 구성되어 있습니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 소스 풀에 데이터 소스가 세 개 이상 첨부되어 있는지 확인합니다. 데이터 소스 및 데이터 소스 풀을 만드는 방법에 대한 자세한 내용은 20 장, LDAP 데이터 소스 및 데이터 소스 풀을 참조하십시오.
데이터 소스 풀이 로드 균형 조정에 대한 포화 알고리즘을 사용하도록 구성합니다.
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ load-balancing-algorithm:saturation |
첫 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \ add-weight:disabled bind-weight:3 compare-weight:disabled delete-weight:disabled \ modify-dn-weight:disabled modify-weight:disabled search-weight:disabled |
두 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \ add-weight:2 bind-weight:2 compare-weight:2 delete-weight:2 modify-dn-weight:2 \ modify-weight:2 search-weight:2 |
세 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \ add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \ modify-weight:1 search-weight:1 |
첨부된 데이터 소스의 키 매개 변수를 비교합니다.
$ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name Name add-weight bind-weight compare-weight delete-weight modify-dn-weight modify-weight search-weight --- ---------- ----------- -------------- ------------- ---------------- ------------- ------------- ds-1 disabled 3 disabled disabled disabled disabled disabled ds-2 2 2 2 2 2 2 2 ds-3 1 1 1 1 1 1 1 |
디렉토리 프록시 서버 인스턴스를 다시 시작합니다.
$ dpadm restart instance-path |
이 알고리즘에 대한 설명은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Operational Affinity Algorithm for Global Account Lockout을 참조하십시오.
이 예에서는 세 개의 데이터 소스를 사용합니다. 데이터 소스 ds-1이 모든 바인드 요청을 수신하도록 구성됩니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 소스 풀에 데이터 소스가 세 개 이상 첨부되어 있는지 확인합니다. 데이터 소스 및 데이터 소스 풀을 만드는 방법에 대한 자세한 내용은 20 장, LDAP 데이터 소스 및 데이터 소스 풀을 참조하십시오.
데이터 소스 풀이 작업 선호도 알고리즘을 사용하도록 구성합니다.
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ load-balancing-algorithm:operational-affinity |
첫 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \ add-weight:1 bind-weight:100 compare-weight:1 delete-weight:1 modify-dn-weight:1 \ modify-weight:1 search-weight:1 |
두 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \ add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \ modify-weight:1 search-weight:1 |
세 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \ add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \ modify-weight:1 search-weight:1 |
첨부된 데이터 소스의 키 매개 변수를 비교합니다.
$ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name Name add-weight bind-weight compare-weight delete-weight modify-dn-weight modify-weight search-weight -- ---------- ----------- -------------- ------------- ---------------- ------------- ------------- ds-1 1 1 1 1 1 1 1 ds-2 1 100 1 1 1 1 1 ds-3 1 1 1 1 1 1 1 |
디렉토리 프록시 서버 인스턴스를 다시 시작합니다.
$ dpadm restart instance-path |
이 알고리즘에 대한 설명은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Operational Affinity Algorithm for Cache Optimization을 참조하십시오.
이 예에서는 세 개의 데이터 소스를 사용합니다. 모든 검색 및 비교 작업이 데이터 소스 ds-1에서 처리됩니다. ds-1이 요청에 응답하면 대상 항목이 캐시에 저장됩니다. ds-1이 동일한 요청에 대해 반복적으로 응답하면 데이터 소스가 캐시된 데이터를 사용할 수 있습니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 소스 풀에 데이터 소스가 세 개 이상 첨부되어 있는지 확인합니다. 데이터 소스 및 데이터 소스 풀을 만드는 방법에 대한 자세한 내용은 20 장, LDAP 데이터 소스 및 데이터 소스 풀을 참조하십시오.
데이터 소스 풀이 작업 선호도 알고리즘을 사용하도록 구성합니다.
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ load-balancing-algorithm:operational-affinity |
첫 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \ add-weight:1 bind-weight:1 compare-weight:100 delete-weight:1 modify-dn-weight:1 \ modify-weight:1 search-weight:100 |
두 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \ add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \ modify-weight:1 search-weight:1 |
세 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \ add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \ modify-weight:1 search-weight:1 |
첨부된 데이터 소스의 키 매개 변수를 비교합니다.
$ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name Name add-weight bind-weight compare-weight delete-weight modify-dn-weight modify-weight search-weight --- ---------- ----------- -------------- ------------- ---------------- ------------- ------------- ds-1 1 1 100 1 1 1 100 ds-2 1 1 1 1 1 1 1 ds-3 1 1 1 1 1 1 1 |
디렉토리 프록시 서버 인스턴스를 다시 시작합니다.
$ dpadm restart instance-path |
페일오버 알고리즘에 대한 설명은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Failover Algorithm for Load Balancing을 참조하십시오.
이 예에서는 세 개의 데이터 소스를 사용합니다. 데이터 소스 ds-1이 모든 요청을 수신합니다. ds-1이 실패하면 ds-1이 복구될 때까지 ds-2가 모든 요청을 수신합니다. ds-1이 복구되기 전에 ds-2가 실패하면 ds-3이 모든 요청을 수신합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 소스 풀에 데이터 소스가 세 개 이상 첨부되어 있는지 확인합니다. 데이터 소스 및 데이터 소스 풀을 만드는 방법에 대한 자세한 내용은 20 장, LDAP 데이터 소스 및 데이터 소스 풀을 참조하십시오.
데이터 소스 풀이 로드 균형 조정에 대한 페일오버 알고리즘을 사용하도록 구성합니다.
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ load-balancing-algorithm:failover |
첫 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \ add-weight:3 bind-weight:3 compare-weight:3 delete-weight:3 modify-dn-weight:3 \ modify-weight:3 search-weight:3 |
두 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \ add-weight:2 bind-weight:2 compare-weight:2 delete-weight:2 modify-dn-weight:2 \ modify-weight:2 search-weight:2 |
세 번째 데이터 소스의 등록 정보를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \ add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \ modify-weight:1 search-weight:1 |
첨부된 데이터 소스의 키 매개 변수를 비교합니다.
$ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name Name add-weight bind-weight compare-weight delete-weight modify-dn-weight modify-weight search-weight --- ---------- ----------- -------------- ------------- ---------------- ------------- ------------- ds-1 3 3 3 3 3 3 3 ds-2 2 2 2 2 2 2 2 ds-3 1 1 1 1 1 1 1 |
디렉토리 프록시 서버 인스턴스를 다시 시작합니다.
$ dpadm restart instance-path |
클라이언트 선호도는 로드 균형 조정 배포 시 전달 지연의 위험을 줄여줍니다. 클라이언트 선호도에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Client Affinity를 참조하십시오. 이 절에서는 클라이언트 연결과 데이터 소스 간에 선호도를 구성하는 방법에 대해 설명하며 구성 예를 제공합니다.
이 절차에서는 클라이언트 연결과 데이터 소스 간에 선호도를 구성하는 방법에 대해 설명합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 소스 풀의 등록 정보를 표시하여 현재 로드 균형 조정 알고리즘을 봅니다.
$ dpconf get-ldap-data-source-pool-prop -h host -p port pool-name |
데이터 소스 풀의 기본 등록 정보는 다음과 같습니다.
client-affinity-policy : write-affinity-after-write client-affinity-timeout : 20s description : - enable-client-affinity : false load-balancing-algorithm : proportional |
client-affinity-policy, client-affinity-timeout 및 enable-client-affinity 매개 변수는 클라이언트 선호도를 구성합니다. 등록 정보에 대한 설명과 유효한 값 목록을 보려면 다음을 입력하십시오.
dpconf help-properties ldap-data-source-pool client-affinity-policy \ client-affinity-timeout enable-client-affinity |
등록 정보에 대한 자세한 내용은 다음 설명서 페이지를 참조하십시오. client-affinity-policy(5dpconf), client-affinity-timeout(5dpconf) 및 enable-client-affinity(5dpconf)
클라이언트 선호도를 활성화합니다.
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ enable-client-affinity:true |
클라이언트 선호도에 대한 정책을 선택합니다.
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ client-affinity-policy:selected-policy |
여기서 selected-policy는 다음 값 중 하나입니다.
첫 번째 쓰기 요청 이후 쓰기 요청에 대한 선호도
첫 번째 쓰기 요청 이후 모든 요청에 대한 선호도
첫 번째 읽기 요청 또는 쓰기 요청 이후 모든 요청에 대한 선호도
쓰기 요청 이후 첫 번째 읽기 요청에 대한 선호도
클라이언트 선호도 기간을 구성합니다.
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ client-affinity-timeout:time-out[unit] |
시간 초과의 기본 unit은 밀리초입니다.
이 절에는 클라이언트 선호도와 관련된 구성 예와 복제 지연, 쓰기 작업 확인 및 연결 기반 라우팅에 대한 예가 포함되어 있습니다.
이 절차를 수행하면 첫 번째 쓰기 작업 이후 최대 3초간 발생하는 모든 읽기 및 쓰기 작업에 대한 클라이언트 선호도가 구성됩니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 소스 풀의 선호도 매개 변수를 구성합니다.
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ client-affinity-policy:read-write-affinity-after-write client-affinity-timeout:3000 \ enable-client-affinity:true |
이 절차를 수행하면 각 쓰기 작업 이후 첫 번째 읽기 작업에 대한 클라이언트 선호도가 구성됩니다. 이 예는 지정된 바인드 DN에서 읽기 작업을 수행하여 각 쓰기 작업을 검증하는 응용 프로그램에 적용할 수 있는 내용입니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 소스 풀의 선호도 매개 변수를 구성합니다.
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ client-affinity-policy:read-affinity-after-write enable-client-affinity:true |
Directory Proxy Server 6.0 이전 버전에서는 클라이언트와 LDAP 서버 간에 한 개의 연결이 열렸습니다. 연결이 닫힐 때까지 클라이언트의 모든 요청에 대해 동일한 연결이 사용되었습니다. 이러한 라우팅 유형을 연결 기반 라우팅(connection-based routing)이라고 합니다. 이 절차에서는 연결 기반 라우팅에 대한 클라이언트 선호도를 구성하는 방법에 대해 설명합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
모든 데이터 소스가 데이터 소스 풀에 첨부되었고 clientCredentialsForwarding이 useBind로 설정되었는지 확인합니다.
데이터 소스 풀의 선호도 매개 변수를 구성합니다.
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ client-affinity-policy:read-write-affinity-after-any enable-client-affinity:true |
디렉토리 프록시 서버 배포 개요와 사용 사례 예에 대한 설명은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 17 장, Directory Proxy Server Distribution을 참조하십시오.
이 장은 다음 내용으로 구성되어 있습니다.
LDAP 데이터 보기를 만들고 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
LDAP 데이터 보기를 만듭니다.
$ dpconf create-ldap-data-view -h host -p port view-name pool-name suffix-DN |
LDAP 데이터 보기의 등록 정보를 수정하는 방법에 대한 자세한 내용은 LDAP 데이터 보기를 구성하는 방법을 참조하십시오.
LDAP 데이터 보기의 목록을 봅니다.
$ dpconf list-ldap-data-views -h host -p port |
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
LDAP 데이터 보기의 등록 정보를 봅니다.
$ dpconf get-ldap-data-view-prop -h host -p port view-name |
등록 정보를 구성하지 않고 데이터 보기를 만든 경우 데이터 보기의 구성은 다음과 같습니다.
alternate-search-base-dn : "" attr-name-mappings : none base-dn : suffix-DN contains-shared-entries : false custom-distribution-algorithm-class : none description : - distribution-algorithm : none dn-join-rule : none dn-mapping-attrs : none dn-mapping-source-base-dn : none excluded-subtrees : - filter-join-rule : none is-enabled : true is-read-only : false is-routable : true ldap-data-source-pool : pool-name lexicographic-attrs : all lexicographic-lower-bound : none lexicographic-upper-bound : none non-viewable-attr : none non-writable-attr : none numeric-attrs : all numeric-default-data-view : false numeric-lower-bound : none numeric-upper-bound : none pattern-matching-base-object-search-filter : all pattern-matching-dn-regular-expression : all pattern-matching-one-level-search-filter : all pattern-matching-subtree-search-filter : all process-bind : - replication-role : master viewable-attr : all except non-viewable-attr writable-attr : all except non-writable-attr |
프록시 관리자를 제외한 모든 사용자는 백엔드 서버의 cn=config 및 cn=monitor 접미어를 볼 수 있습니다. 기본적으로 백엔드 서버의 데이터는 프록시 관리자가 사용할 수 없습니다. 프록시 관리자가 사용할 수 있는 cn=config 및 cn=monitor 하위 트리는 프록시 자체에 해당하는 항목입니다.
디렉토리 프록시 서버 인스턴스를 만들 경우 프록시 관리자를 위한 연결 처리기가 빈 데이터 보기 정책을 사용하여 만들어집니다. 프록시 관리자에게 백엔드 데이터에 대한 액세스 권한이 필요한 경우 프록시 관리자 연결 처리기의 데이터 보기 정책에 데이터 보기를 추가해야 합니다. 이러한 데이터 보기에서 cn=config 및 cn=monitor 하위 트리는 기본적으로 제외됩니다.
단계 1에 나열된 등록 정보 중 하나 이상을 변경합니다.
$ dpconf set-ldap-data-view-prop -h host -p port view-name \ property:value [property:value ... ] |
예를 들어 데이터 소스의 dc=example,dc=com 하위 트리에 액세스하려면 데이터 보기에서 base-dn을 지정합니다.
$ dpconf set-ldap-data-view-prop -h host1 -p 1389 myDataView base-dn:dc=example,dc=com |
값이 여러 개인 등록 정보에 값을 추가하려면 이 명령을 사용합니다.
$ dpconf set-ldap-data-view-prop -h host -p port view-name property+:value |
값이 여러 개인 등록 정보에서 값을 제거하려면 이 명령을 사용합니다.
$ dpconf set-ldap-data-view-prop -h host -p port view-name property-:value |
필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.
사용자 정의 배포 알고리즘은 모든 유형의 데이터 보기(ldap-data-view, jdbc-data-view, ldif-data-view 및 join-data-view)에 구성할 수 있습니다. 다음 절차에서 알고리즘은 ldap-data-view에 대해서만 설정됩니다.
배포 알고리즘 클래스가 들어 있는 JAR(Java Archive) 파일의 경로를 포함하도록 extension-jar-file-url 등록 정보를 설정합니다.
$ dpconf set-server-prop -h host -p port extension-jar-file-url:jar file path |
jar file path는 file:/expt/dps/custom_plugin/myjar.jar과 같은 유효한 JAR 파일 경로로 대체될 수 있습니다.
custom-distribution-algorithm을 구성하기 전에 distribution-algorithm을 none으로 설정합니다.
$ dpconf set-ldap-data-view-prop view name distribution-algorithm:none |
custom-distribution-algorithm 등록 정보를 사용자 정의 배포 알고리즘 클래스로 설정합니다.
$ dpconf set-ldap-data-view-prop view name custom-distribution-algorithm:PackageName.AlgoClassName |
디렉토리의 각 항목은 DN 및 속성과 해당 값의 집합으로 식별됩니다. 클라이언트측에 정의된 DN 및 속성은 서버측에 정의된 DN 및 속성에 매핑되지 않는 경우가 많습니다. 데이터 보기를 정의하여 DN 및 속성의 이름을 바꿀 수 있습니다. 클라이언트에서 요청할 경우 서버측 이름과 일치하도록 DN 및 속성의 이름이 바뀝니다. 클라이언트에 결과가 반환되면 클라이언트측 이름과 일치하도록 DN 및 속성이 다시 변경됩니다.
속성 및 DN 이름 바꾸기에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Attribute Renaming and DN Renaming을 참조하십시오. 속성 및 DN 이름을 바꾸는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
속성 매핑을 구성할 데이터 보기에서 하나 이상의 attr-name-mappings 등록 정보를 설정합니다.
$ dpconf set-ldap-data-view-prop -h host -p port view-name \ attr-name-mappings:client-side-attribute-name#server-side-attribute-name [attr-name-mappings:client-side-attribute-name#server-side-attribute-name ...] |
예를 들어 클라이언트측의 surname 이름을 서버측의 sn으로 바꿉니다.
$ dpconf set-ldap-data-view-prop -h host1 -p 1389 myDataView \ attr-name-mappings:surname#sn |
기존 매핑 목록에 속성 매핑을 추가하려면 이 명령을 사용합니다.
$ dpconf set-ldap-data-view-prop -h host -p port view-name \ attr-name-mappings+:client-side-attribute-name#server-side-attribute-name |
기존 매핑 목록에서 속성 매핑을 제거하려면 이 명령을 사용합니다.
$ dpconf set-ldap-data-view-prop -h host -p port view-name \ attr-name-mappings-:client-side-attribute-name#server-side-attribute-name |
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
DN의 이름을 바꾸려는 데이터 보기의 base-dn 등록 정보 및 DN 매핑 등록 정보를 봅니다.
$ dpconf get-ldap-data-view-prop -h host -p port view-name base-dn \ dn-mapping-source-base-dn dn-mapping-attrs |
이러한 등록 정보의 의미는 다음과 같습니다.
base-dn은 데이터 보기의 기본 DN와 동등한 클라이언트측에 있는 하위 트리의 DN입니다.
dn-mapping-source-base-dn은 서버측에 있는 하위 트리의 DN입니다.
dn-mapping-attrs는 항목의 DN을 포함하는 속성 목록을 정의합니다.
예를 들어 클라이언트측에서 dc=example,dc=com 데이터베이스에 대한 데이터 보기 값은 DN 이름 바꾸기가 정의되지 않을 때 다음과 같습니다.
$ dpconf get-ldap-data-view-prop myDataView base-dn \ dn-mapping-source-base-dn dn-mapping-attrs base-dn : dc=example,dc=com dn-mapping-attrs : none dn-mapping-source-base-dn : none |
클라이언트측의 DN을 서버측의 DN에 매핑합니다.
$ dpconf set-ldap-data-view-prop -h host -p port view-name \ dn-mapping-source-base-dn:server-side-dn |
예를 들어 클라이언트측의 dc=example,dc=com 데이터베이스를 서버측의 dc=example,dc=org에 매핑합니다.
$ dpconf set-ldap-data-view-prop -h host1 -p 1389 myDataView \ dn-mapping-source-base-dn:dc=example,dc=org |
이러한 속성에 DN이 포함된 경우 단계 2의 영향을 받는 DIT 부분에서 속성의 이름을 바꿉니다.
$ dpconf set-ldap-data-view-prop -h host -p port view-name \ dn-mapping-attrs:attribute-name [dn-mapping-attrs:attribute-name ...] |
예를 들어 group 속성에 DN이 포함된 경우 단계 2의 이름 바꾸기 작업에 영향을 받는 이름 공간에서 속성의 이름을 다음과 같이 바꿉니다.
$ dpconf set-ldap-data-view-prop -h host1 -p 1389 myDataView dn-mapping-attrs:group |
기존 매핑 목록에 DN 매핑을 추가하려면 이 명령을 사용합니다.
$ dpconf set-ldap-data-view-prop -h host -p port view-name dn-mapping-attrs+:attribute-name |
기존 매핑 목록에서 DN 매핑을 제거하려면 이 명령을 사용합니다.
$ dpconf set-ldap-data-view-prop -h host -p port view-name dn-mapping-attrs-:attribute-name |
DN의 이름을 바꾼 데이터 보기의 base-dn 등록 정보 및 DN 매핑 등록 정보를 봅니다.
$ dpconf get-ldap-data-view-prop -h host -p port view-name base-dn \ dn-mapping-source-base-dn dn-mapping-attrs |
예를 들어 클라이언트측의 dc=example,dc=com 데이터베이스에 대한 데이터 보기 값은 DN의 이름을 바꾼 후에 다음과 같습니다.
$ dpconf get-ldap-data-view-prop -h host1 -p 1389 myDataView base-dn \ dn-mapping-source-base-dn dn-mapping-attrs base-dn : dc=example,dc=com dn-mapping-attrs : group dn-mapping-source-base-dn : dc=example,dc=org |
하위 데이터 보기가 만들어지면 디렉토리 프록시 서버는 상위 데이터 보기에서 하위 데이터 보기를 자동으로 제외합니다. 하위 데이터 보기가 요청의 대상인 경우 요청은 상위 데이터 보기가 아닌, 하위 데이터 보기로 보내집니다.
하위 데이터 보기에서 대체 검색 기준을 지정하면 상위 데이터 보기를 대상으로 하는 검색 작업이 하위 데이터 보기에서도 수행됩니다.
기본적으로 디렉토리 프록시 서버는 excluded-subtrees 및 alternate-search-base-dn 등록 정보를 자동으로 구성합니다. 다음 절차에서는 이러한 등록 정보를 수동으로 구성하는 방법에 대해 설명합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
요청을 수동으로 전달하도록 디렉토리 프록시 서버를 구성합니다.
$ dpconf set-server-prop -h host -p port data-view-automatic-routing-mode:manual |
data-view-automatic-routing-mode가 manual인 경우 디렉토리 프록시 서버는 excluded-subtrees 및 alternate-search-base-dn 등록 정보를 생성하지 않습니다. 이러한 등록 정보의 값을 수동으로 설정해야 합니다. 여기에서 설정한 값은 디렉토리 프록시 서버에서 확인되지 않습니다. 이러한 값을 잘못 설정하면 관리 경로가 손상될 수 있습니다.
또는 요청을 부분적으로 전달하도록 디렉토리 프록시 서버를 수동으로 구성합니다.
$ dpconf set-server-prop -h host -p port data-view-automatic-routing-mode:limited |
data-view-automatic-routing-mode가 limited인 경우 디렉토리 프록시 서버는 excluded-subtrees 및 alternate-search-base-dn 등록 정보를 생성하지 않습니다. 그러나 디렉토리 프록시 서버는 여기에서 설정된 값이 관리 경로와 충돌하지 않는지 확인합니다.
보기 제외 기준을 구성합니다.
$ dpconf set-ldap-data-view-prop -h host -p port view-name excluded-subtrees:suffix-DN |
보기 제외 기준은 해당 항목이 데이터 보기에서 표시되지 않는 DIT의 분기를 결정합니다.
대체 검색 기준을 구성합니다.
$ dpconf set-ldap-data-view-prop -h host -p port view-name \ alternate-search-base-dn:search-base-DN |
대체 검색 기준은 이 데이터 보기에 속하는 항목이 배치될 수 있는 DIT의 다른 분기를 결정합니다. 기본 DN은 기본적으로 모든 데이터 보기에서 대체 검색 기준으로 정의됩니다.
이 절에서는 데이터 보기에 대한 다음 정보와 데이터 보기를 만들고 구성하는 방법에 대해 설명합니다.
이 절의 예에서는 연결 처리기를 통해 디렉토리 프록시 서버가 모든 클라이언트 연결을 처리할 수 있다고 가정합니다.
등록 정보를 구성하지 않고 데이터 보기를 만든 경우 데이터 보기의 구성은 다음과 같습니다.
alternate-search-base-dn : "" alternate-search-base-dn : base-DN attr-name-mappings : none base-dn : suffix-DN contains-shared-entries : - description : - distribution-algorithm : - dn-join-rule : - dn-mapping-attrs : none dn-mapping-source-base-dn : none excluded-subtrees : - filter-join-rule : - is-enabled : true is-read-only : false is-routable : true ldap-data-source-pool : pool-name lexicographic-attrs : all lexicographic-lower-bound : none lexicographic-upper-bound : none non-viewable-attr : - non-writable-attr : - numeric-attrs : all numeric-default-data-view : false numeric-lower-bound : none numeric-upper-bound : none pattern-matching-base-object-search-filter : all pattern-matching-dn-regular-expression : all pattern-matching-one-level-search-filter : all pattern-matching-subtree-search-filter : all process-bind : - replication-role : master viewable-attr : all except non-viewable-attr writable-attr : all except non-writable-attr |
이 절에서는 요청의 대상 DN에 상관없이 모든 요청을 데이터 소스 풀에 전달하는 데이터 보기의 구성을 보여줍니다. 이 데이터 보기를 루트 데이터 보기라고 합니다. 루트 데이터 보기는 디렉토리 프록시 서버 인스턴스를 만들 때 기본적으로 만들어집니다. 루트 데이터 보기에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Data Views to Route All Requests, Irrespective of the Target DN of the Request를 참조하십시오.
루트 데이터 보기의 구성은 다음과 같습니다.
alternate-search-base-dn : - attr-name-mappings : none base-dn : "" contains-shared-entries : - description : Automatically-generated data view able to route client operations independently of the operation base dn distribution-algorithm : - dn-join-rule : - dn-mapping-attrs : none dn-mapping-source-base-dn : none excluded-subtrees : "" excluded-subtrees : cn=config excluded-subtrees : cn=monitor excluded-subtrees : cn=proxy manager excluded-subtrees : cn=virtual access controls excluded-subtrees : dc=example,dc=com filter-join-rule : - is-enabled : true is-read-only : false is-routable : true ldap-data-source-pool : defaultDataSourcePool lexicographic-attrs : all lexicographic-lower-bound : none lexicographic-upper-bound : none non-viewable-attr : - non-writable-attr : - numeric-attrs : all numeric-default-data-view : false numeric-lower-bound : none numeric-upper-bound : none pattern-matching-base-object-search-filter : all pattern-matching-dn-regular-expression : all pattern-matching-one-level-search-filter : all pattern-matching-subtree-search-filter : all process-bind : - replication-role : master viewable-attr : all except non-viewable-attr writable-attr : all except non-writable-attr |
이 절에서는 하위 트리 목록을 대상으로 하는 요청을 데이터와 동등한 데이터 소스 집합에 전달하는 데이터 보기를 구성하는 방법에 대해 설명합니다. 이 배포 유형에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Data Views to Route Requests When a List of Subtrees Are Stored on Multiple, Data-Equivalent Data Sources를 참조하십시오.
이 절의 예에는 동일한 하위 트리 집합이 포함된 여러 데이터 소스가 있습니다. 데이터 소스는 데이터와 동등하며 로드 균형 조정을 위해 하나의 데이터 소스 풀에 풀링됩니다. 클라이언트 요청의 하위 트리를 표시하기 위해 각 하위 트리에 대한 데이터 보기가 구성됩니다. 다음 그림은 배포 예를 보여줍니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
LDAP 데이터 소스 만들기 및 구성에 설명된 것처럼 각 LDAP 서버에 대한 데이터 소스를 만듭니다.
LDAP 데이터 소스 풀 만들기 및 구성에 설명된 것처럼 데이터 소스 풀을 만듭니다.
데이터 소스 풀에 LDAP 데이터 소스 첨부에 설명된 것처럼 데이터 소스를 데이터 소스 풀에 첨부합니다.
(옵션) 로드 균형 조정을 구성합니다.
자세한 내용은 로드 균형 조정 구성을 참조하십시오.
데이터 소스 풀을 참조하는 dc=example1,dc=com에서 기본 DN이 있는 데이터 보기를 만듭니다.
$ dpconf set-ldap-data-view-prop -h host1 -p 1389 dataview-1 \ base-dn:dc=example1,dc=com ldap-data-source-pool:data-source-pool-1 |
데이터 소스 풀을 참조하는 dc=example2,dc=com에서 기본 DN이 있는 다른 데이터 보기를 만듭니다.
$ dpconf set-ldap-data-view-prop -h host1 -p 1389 dataview-2 \ base-dn:dc=example2,dc=com ldap-data-source-pool:data-source-pool-1 |
데이터 보기의 다른 등록 정보는 기본 데이터 보기의 기본 데이터 보기와 동일합니다.
필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.
이 절에서는 여러 데이터 소스에 저장된 다른 하위 트리에 단일 액세스 지점을 제공하는 데이터 보기를 구성하는 방법에 대해 설명합니다. 이 배포 유형에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Data Views to Provide a Single Point of Access When Different Subtrees Are Stored on Different Data Sources를 참조하십시오.
이 절의 예에는 각 하위 트리에 대한 데이터 보기가 포함됩니다. 데이터와 동등한 데이터 소스의 각 집합에 대해 데이터 소스 풀이 구성됩니다. 다음 그림은 배포 예를 보여줍니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
LDAP 데이터 소스 만들기 및 구성에 설명된 것처럼 각 LDAP 서버에 대한 데이터 소스를 만듭니다.
LDAP 데이터 소스 풀 만들기 및 구성에 설명된 것처럼 두 개의 데이터 소스 풀을 만듭니다.
데이터 소스 풀에 LDAP 데이터 소스 첨부에 설명된 것처럼 dc=example1,dc=com을 포함하는 데이터 소스를 data-source-pool-1에 첨부하고 dc=example2,dc=com을 포함하는 데이터 소스를 data-source-pool-2에 첨부합니다.
(옵션) 로드 균형 조정을 구성합니다.
자세한 내용은 로드 균형 조정 구성을 참조하십시오.
data-source-pool-1을 참조하는 dc=example1,dc=com에서 기본 DN이 있는 데이터 보기를 만듭니다.
$ dpconf set-ldap-data-view-prop -h host1 -p 1389 dataview-1 \ base-dn:dc=example1,dc=com ldap-data-source-pool:data-source-pool-1 |
data-source-pool-2를 참조하는 dc=example2,dc=com에서 기본 DN이 있는 다른 데이터 보기를 만듭니다.
$ dpconf set-ldap-data-view-prop -h host1 -p 1389 dataview-2 \ base-dn:dc=example2,dc=com ldap-data-source-pool:data-source-pool-2 |
데이터 보기의 다른 등록 정보는 기본 데이터 보기의 기본 데이터 보기와 동일합니다.
필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.
이 절에서는 하위 트리의 다른 부분에 대한 단일 액세스 지점을 제공하는 데이터 보기를 구성하는 방법에 대해 설명합니다. 이 예에는 동일한 기본 DN을 가진 두 개의 데이터 보기가 포함됩니다. 항목을 다른 데이터 보기로 구분하기 위해 숫자 배포 알고리즘이 사용됩니다. 데이터와 동등한 데이터 소스의 각 집합에 대해 데이터 소스 풀이 구성됩니다. 다음 그림은 배포 예를 보여줍니다.
이 배포 유형에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Data Views to Route Requests When Different Parts of a Subtree Are Stored in Different Data Sources를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
LDAP 데이터 소스 만들기 및 구성에 설명된 것처럼 각 LDAP 서버에 대한 데이터 소스를 만듭니다.
LDAP 데이터 소스 풀 만들기 및 구성에 설명된 것처럼 두 개의 데이터 소스 풀을 만듭니다.
데이터 소스 풀에 LDAP 데이터 소스 첨부에 설명된 것처럼 하위 트리의 한 부분을 포함하는 데이터 소스를 data-source-pool-1에 첨부하고 하위 트리의 다른 부분을 포함하는 데이터 소스를 data-source-pool-2에 첨부합니다.
(옵션) 로드 균형 조정을 구성합니다.
자세한 내용은 로드 균형 조정 구성을 참조하십시오.
배포 알고리즘이 있는 데이터 보기를 만들어 0 및 99 사이의 uid가 있는 ou=people,dc=example,dc=com에서 항목을 선택하고 데이터 보기를 구성하여 요청을 data-source-pool-1에 보냅니다.
$ dpconf set-ldap-data-view-prop -h host1 -p 1389 dataview-1 \ ldap-data-source-pool:data-source-pool-1 base-dn:ou=people,dc=example,dc=com \ distribution-algorithm :numeric numeric-attrs:uid numeric-lower-bound :0 \ numeric-upper-bound :99 |
배포 알고리즘이 있는 다른 데이터 보기를 만들어 100 및 199 사이의 uid가 있는 ou=people,dc=example,dc=com에서 항목을 선택하고 데이터 보기를 구성하여 요청을 data-source-pool-2에 보냅니다.
$ dpconf set-ldap-data-view-prop -h host1 -p 1389 dataview-2 \ ldap-data-source-pool:data-source-pool-2 base-dn:ou=people,dc=example,dc=com \ distribution-algorithm:numeric numeric-attrs:uid numeric-lower-bound:100 numeric-upper-bound :199 |
데이터 보기의 다른 등록 정보는 기본 데이터 보기의 기본 데이터 보기와 동일합니다.
필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.
이 절에서는 하위 트리의 상위 분기가 하위 분기의 다른 데이터 소스에 저장된 경우 단일 액세스 지점에 대한 데이터 보기를 구성하는 방법에 대해 설명합니다. 이 배포 유형에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Data Views to Route Requests When Superior and Subordinate Subtrees Are Stored in Different Data Sources를 참조하십시오.
이 절의 예에는 세 개의 데이터 보기가 포함됩니다. 데이터 보기 1의 기본 DN은 데이터 보기 2의 기본 DN 및 데이터 보기 3의 기본 DN에 대해 상위입니다. 즉, 데이터 소스 2 및 데이터 소스 3에는 데이터 소스 1의 하위 트리에 종속하는 하위 트리가 포함됩니다. 다음 그림은 배포 예를 보여줍니다.
디렉토리 프록시 서버는 하위 분기가 별개 데이터 보기의 기본 DN으로 구성된 경우 하위 트리의 하위 분기를 데이터 보기에서 자동으로 제외합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
LDAP 데이터 소스 만들기 및 구성에 설명된 것처럼 각 LDAP 서버에 대한 데이터 소스를 만듭니다.
LDAP 데이터 소스 풀 만들기 및 구성에 설명된 것처럼 세 개의 데이터 소스 풀을 만듭니다.
데이터 소스 풀에 LDAP 데이터 소스 첨부의 지침에 따라 데이터 소스를 데이터 소스 풀에 첨부합니다.
dc=example,dc=com을 포함하는 데이터 소스를 data-source-pool-1에 첨부합니다.
ou=computer,dc=example,dc=com을 포함하는 데이터 소스를 data-source-pool-2에 첨부합니다.
ou=people,dc=example,dc=com을 포함하는 데이터 소스를 data-source-pool-3에 첨부합니다.
(옵션) 로드 균형 조정을 구성합니다.
자세한 내용은 로드 균형 조정 구성을 참조하십시오.
dc=example,dc=com 및 데이터 소스 풀 data-source-pool-1에서 기본 DN이 있는 데이터 보기를 만듭니다.
$ dpconf create-ldap-data-view -h host1 -p 1389 dataview-1 \ data-source-pool-1 dc=example,dc=com |
ou=computer,dc=example,dc=com 및 데이터 소스 풀 data-source-pool-2에서 기본 DN이 있는 데이터 보기를 만듭니다.
$ dpconf create-ldap-data-view -h host1 -p 1389 dataview-2 \ data-source-pool-2 ou=computer,dc=example,dc=com |
ou=people,dc=example,dc=com 및 데이터 소스 풀 data-source-pool-3에서 기본 DN이 있는 데이터 보기를 만듭니다.
$ dpconf create-ldap-data-view -h host1 -p 1389 dataview-3 \ data-source-pool-3 ou=people,dc=example,dc=com |
excluded-subtrees 매개 변수를 확인하여 ou=computer,dc=example, dc=com 및 ou=people,dc=example, dc=com 하위 트리가 dataview-1에서 제외되었는지 확인합니다.
$ dpconf get-ldap-data-view-prop -h host1 -p 1389 dataview-1 excluded-subtrees |
제외된 하위 트리 목록이 반환됩니다.
필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.
이 절에서는 계층을 배포 알고리즘과 결합하도록 데이터 보기를 구성하는 방법에 대해 설명합니다. 이 배포 유형에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Data Views With Hierarchy and a Distribution Algorithm을 참조하십시오.
이 절의 예에는 네 개의 데이터 보기가 포함됩니다. 데이터 보기 1의 기본 DN은 다른 데이터 보기의 기본 DN에 대해 상위입니다. 데이터 보기 3 및 데이터 보기 4에는 동일한 DN이 있지만 숫자 배포 알고리즘이 항목을 다른 데이터 보기로 구분합니다.
디렉토리 프록시 서버는 하위 분기가 별개 데이터 보기의 기본 DN으로 구성된 경우 하위 트리의 하위 분기를 데이터 보기에서 자동으로 제외합니다. 숫자 배포 알고리즘은 동일한 하위 트리 항목을 다른 데이터 보기로 구분합니다. 데이터와 동등한 데이터 소스의 각 집합에 대해 데이터 소스 풀이 구성됩니다.
다음 그림은 배포 예를 보여줍니다.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
LDAP 데이터 소스 만들기 및 구성에 설명된 것처럼 각 LDAP 서버에 대한 데이터 소스를 만듭니다.
LDAP 데이터 소스 풀 만들기 및 구성에 설명된 것처럼 네 개의 데이터 소스 풀을 만듭니다.
데이터 소스 풀에 LDAP 데이터 소스 첨부의 지침에 따라 데이터 소스를 데이터 소스 풀에 첨부합니다.
dc=example,dc=com을 포함하는 데이터 소스를 data-source-pool-1에 첨부합니다.
ou=computer,dc=example,dc=com을 포함하는 데이터 소스를 data-source-pool-2에 첨부합니다.
0 및 99 사이의 uid가 있는 ou=people,dc=example,dc=com에서 항목을 포함하는 데이터 소스를 data-source-pool-3에 첨부합니다.
100 및 199 사이의 uid가 있는 ou=people,dc=example,dc=com에서 항목을 포함하는 데이터 소스를 data-source-pool-4에 첨부합니다.
(옵션) 로드 균형 조정을 구성합니다.
자세한 내용은 로드 균형 조정 구성을 참조하십시오.
data-source-pool-1을 참조하는 dc=example,dc=com에서 기본 DN이 있는 데이터 보기를 만듭니다.
$ dpconf create-ldap-data-view -h host1 -p 1389 dataview-1 \ data-source-pool-1 dc=example,dc=com |
data-source-pool-2를 참조하는 ou=computer,dc=example,dc=com에서 기본 DN이 있는 데이터 보기를 만듭니다.
$ dpconf create-ldap-data-view -h host1 -p 1389 dataview-2 \ data-source-pool-2 ou=computer,dc=example,dc=com |
data-source-pool-3을 참조하는 ou=people,dc=example,dc=com에서 기본 DN이 있는 데이터 보기를 만듭니다. 0 및 99 사이의 uid가 있는 항목을 선택하도록 데이터 보기에서 배포 알고리즘을 구성합니다.
$ dpconf create-ldap-data-view -h host1 -p 1389 dataview-3 \ data-source-pool-3 ou=people,dc=example,dc=com $ dpconf set-ldap-data-view-prop dataview-3 distribution-algorithm:numeric \ numeric-attrs:uid numeric-lower-bound:0 numeric-upper-bound:99 |
data-source-pool-4를 참조하는 ou=people,dc=example,dc=com에서 기본 DN이 있는 데이터 보기를 만들고 100 및 199 사이의 uid가 있는 항목을 선택하도록 데이터 보기에서 배포 알고리즘을 구성합니다.
$ dpconf create-ldap-data-view -h host1 -p 1389 dataview-4 \ data-source-pool-4 ou=people,dc=example,dc=com $ dpconf set-ldap-data-view-prop dataview-4 distribution-algorithm:numeric \ numeric-attrs:uid numeric-lower-bound:100 numeric-upper-bound:199 |
excluded-subtrees 매개 변수를 확인하여 ou=computer,dc=example, dc=com 및 ou=people,dc=example, dc=com 하위 트리가 dataview-1에서 제외되었는지 확인합니다.
$ dpconf get-ldap-data-view-prop -h host1 -p 1389 dataview-1 excluded-subtrees |
제외된 하위 트리 목록이 반환됩니다.
디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.
이 장에서는 가상 데이터 보기를 만드는 방법에 대해 설명합니다. 가상 데이터 보기는 소스 데이터를 변환하고 해당 데이터의 다른 보기를 클라이언트 응용 프로그램에 제공합니다. 가상 데이터 보기에는 변환된 LDAP 데이터 보기, LDIF 데이터 보기, 결합 데이터 보기 및 JDBCTM 데이터 보기가 포함됩니다. 가상 데이터 보기의 기능 개요와 사용 사례 예에 대한 설명은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 18 장, Directory Proxy Server Virtualization을 참조하십시오.
디렉토리 서비스 제어 센터(Directory Service Control Center, DSCC)를 사용하여 이 장의 절차를 수행할 수 없습니다. 명령줄을 사용해야 합니다.
이 장은 다음 내용으로 구성되어 있습니다.
LDIF 데이터 보기는 LDIF 파일이 LDAP 데이터 소스처럼 표시되는 간단한 가상 데이터 보기입니다. LDAP 데이터 보기와 달리 LDIF 데이터 보기를 설정할 때는 데이터 소스 또는 데이터 소스 풀을 만들지 않습니다. 대신, 데이터 보기를 만들 때 LDIF 파일을 지정합니다. 기본적으로 LDIF 데이터 보기에는 쓸 수 없습니다. 자세한 내용은 가상 데이터 보기에서 액세스 제어 정의를 참조하십시오.
LDIF 데이터 보기를 만들고 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
LDIF 데이터 보기를 만듭니다.
$ dpconf create-ldif-data-view -h host -p port view-name path-to-ldif-file suffix-dn |
(옵션) LDIF 데이터 보기 목록을 봅니다.
$ dpconf list-ldif-data-views -h host -p port |
virtual access controls 데이터 보기는 유일한 기본 LDIF 데이터 보기입니다. 이 데이터 보기는 서버에서 생성되며 가상 액세스 제어 지침(ACI)에 요청을 전달하도록 합니다.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
LDIF 데이터 보기의 등록 정보를 봅니다.
$ dpconf get-ldif-data-view-prop -h host -p port view-name |
LDIF 데이터 보기에는 다음과 같은 기본 등록 정보가 있습니다.
alternate-search-base-dn : "" alternate-search-base-dn : dc=com attr-name-mappings : none base-dn : suffixDN bind-pwd-attr : userPassword contains-shared-entries : - db-pwd-encryption : clear-text description : - distribution-algorithm : - dn-join-rule : - dn-mapping-attrs : none dn-mapping-source-base-dn : none excluded-subtrees : - filter-join-rule : - is-enabled : true is-read-only : false is-routable : true ldif-data-source : /path/to/filename.ldif lexicographic-attrs : all lexicographic-lower-bound : none lexicographic-upper-bound : none non-viewable-attr : - non-writable-attr : - numeric-attrs : all numeric-default-data-view : false numeric-lower-bound : none numeric-upper-bound : none pattern-matching-base-object-search-filter : all pattern-matching-dn-regular-expression : all pattern-matching-one-level-search-filter : all pattern-matching-subtree-search-filter : all process-bind : - replication-role : master viewable-attr : all except non-viewable-attr writable-attr : all except non-writable-attr |
단계 1에 나열된 하나 이상의 등록 정보를 변경합니다.
$ dpconf set-ldif-data-view-prop -h host -p port view-name property:value \ [property:value ... ] |
예를 들어 데이터 보기에 대한 소스 LDIF 파일을 변경하려면 ldif-data-source 등록 정보를 설정합니다.
$ dpconf set-ldif-data-view-prop -h host1 -p 1389 -D cn="Proxy Manager" \ myLDIFDataView ldif-data-source:/local/files/example.ldif |
가상 데이터 변환은 기존 데이터 보기에서 정의되고, 물리적 데이터 보기에서 가상 데이터 보기를 만듭니다. 작동하는 방법에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Virtual Data Transformations를 참조하십시오.
모든 유형의 데이터 보기, 즉 LDAP 데이터 보기, LDIF 데이터 보기, 결합 데이터 보기 또는 JDBC 데이터 보기에 가상 데이터 변환을 추가할 수 있습니다.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
데이터 보기에 변환을 추가합니다.
$ dpconf add-virtual-transformation -h host -p port view-name \ transformation-model transformation-action attribute-name [parameters...] |
parameters는 transformation-model 및 transformation-action에 따라 필수일 수 있습니다. 변환 모델, 변환 작업 및 변환 매개 변수에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Virtual Data Transformations를 참조하십시오.
(옵션) 데이터 보기에 정의된 가상 변환 목록을 봅니다.
$ dpconf list-virtual-transformations -h host -p port view-name
결합 데이터 보기는 여러 데이터 보기의 집계입니다. 결합 데이터 보기가 작동하는 방법에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Join Data Views를 참조하십시오.
결합 데이터 보기를 만들고 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
결합 보기를 형성하도록 집계할 기본 및 보조 데이터 보기를 식별합니다.
결합 보기를 만들려면 먼저 기본 및 보조 데이터 보기가 있어야 합니다. 기본 및 보조 보기는 LDAP 데이터 보기, LDIF 데이터 보기, JDBC 데이터 보기 또는 다른 결합 데이터 보기를 비롯한 모든 유형의 데이터 보기가 될 수 있습니다. 결합 보기의 소스로 작동하려면 보조 보기에서 특정 등록 정보를 구성해야 합니다. 자세한 내용은 결합 보기의 보조 보기를 구성하는 방법을 참조하십시오.
결합 데이터 보기를 만듭니다.
$ dpconf create-join-data-view -h host -p port view-name primary-view secondary-view \ suffix-dn |
(옵션) 데이터 보기가 성공적으로 만들어졌는지 확인하려면 결합 보기 목록을 봅니다.
$ dpconf list-join-data-views -h host -p port |
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
결합 데이터 보기의 등록 정보를 봅니다.
$ dpconf get-join-data-view-prop -h host -p port view-name |
결합 데이터 보기의 기본 등록 정보는 다음과 같습니다.
alternate-search-base-dn : "" alternate-search-base-dn : dc=com attr-name-mappings : none base-dn : suffixDN contains-shared-entries : - description : - distribution-algorithm : - dn-join-rule : - dn-mapping-attrs : none dn-mapping-source-base-dn : none excluded-subtrees : - filter-join-rule : - is-enabled : true is-read-only : false is-routable : true join-rule-control-enabled : false lexicographic-attrs : all lexicographic-lower-bound : none lexicographic-upper-bound : none non-viewable-attr : - non-writable-attr : - numeric-attrs : all numeric-default-data-view : false numeric-lower-bound : none numeric-upper-bound : none pattern-matching-base-object-search-filter : all pattern-matching-dn-regular-expression : all pattern-matching-one-level-search-filter : all pattern-matching-subtree-search-filter : all primary-view : primary-view process-bind : - replication-role : master secondary-view : secondary-view viewable-attr : all except non-viewable-attr writable-attr : all except non-writable-attr |
단계 1에 나열된 하나 이상의 등록 정보를 변경합니다.
$ dpconf set-join-data-view-prop -h host -p port view-name property:value \ [property:value ... ] |
예를 들어 데이터 소스의 기본 데이터 보기를 myLDAPDataView로 변경하려면 다음 명령을 사용합니다.
$ dpconf set-join-data-view-prop -h host1 -p 1389 -D cn="Proxy Manager" \ myJoinDataView primary-view:myLDAPDataView |
결합 데이터 보기가 구성된 경우 기본 데이터 보기와 보조 데이터 보기에서 viewable-attr 및 writable-attr 등록 정보를 설정합니다.
이 등록 정보를 설정하면 기본 데이터 보기와 보조 데이터 보기에서 검색 필터를 적절하게 분할할 수 있습니다. 그렇지 않으면 검색 필터에 보조 데이터 보기의 속성이 포함되어 있을 때 검색 결과가 불일치할 수 있습니다.
필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.
결합 데이터 보기에서 결합 규칙 구성 정보를 설정하면 여러 결합 데이터 보기에서 데이터 보기를 참조할 수 있습니다. 이렇게 하려면 다음을 수행합니다.
결합 데이터 보기에서 join-rule-control-enabled를 true로 설정합니다.
$ dpconf set-join-data-view-prop view-name join-rule-control-enabled:true |
join-rule-control-enabled를 true로 설정한 후에는 결합 데이터 보기에 저장된 결합 규칙 구성 정보가 서버에서 사용됩니다. 결합 규칙 구성 정보가 있는 결합 데이터 보기가 보조 데이터 보기에 저장되어 있는 경우 이 정보는 서버에서 사용되지 않습니다. 서버에서 이 정보를 사용하려면 결합 데이터 보기 수준에서 구성 정보를 수동으로 추가해야 합니다.
보조 보기가 기본 보기와 관련된 방식을 결정하는 결합 규칙을 정의합니다.
결합 규칙은 다음 중 하나일 수 있습니다.
DN 결합 규칙
$ dpconf set-join-data-view-prop view-name \ dn-join-rule:uid=\${primary-view-name.uid},ou=People,dc=example |
필터 결합 규칙
$ dpconf set-join-data-view-prop view-name \ filter-join-rule:uid=\${primary-view-name.uid} |
결합 보기의 소스로 작동하려면 보조 데이터 보기에서 특정 등록 정보를 구성해야 합니다. 보조 보기는 모든 유형의 데이터 보기가 될 수 있으므로 사용하는 명령은 데이터 보기 유형에 따라 달라집니다. 다음 명령 예에서는 보조 보기를 LDAP 데이터 보기로 가정합니다. 여기에 설명된 등록 정보에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Additional Secondary Data View Properties를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
보조 보기가 기본 보기와 관련된 방식을 결정하는 결합 규칙을 정의합니다.
결합 규칙은 다음 중 하나일 수 있습니다.
DN 결합 규칙
$ dpconf set-ldap-data-view-prop -h host -p port secondary-view-name \ dn-join-rule:uid=\${primary-view-name.uid},ou=People,dc=example |
필터 결합 규칙
$ dpconf set-ldap-data-view-prop -h host -p port secondary-view-name \ filter-join-rule:uid=\${primary-view-name.uid} |
dn-join-rule 및 filter-join-rule 등록 정보의 구성은 결합 데이터 보기의 join-rule-control-enabled 등록 정보가 false로 설정된 경우에만 서버에서 사용됩니다. 그렇지 않으면 결합 데이터 보기에 join-rule-control-enabled 등록 정보가 true로 설정된 경우 보조 보기에 설정된 정보는 무시됩니다.
결합 데이터 보기에 필터 결합 규칙이 설정되어 있는 경우 결합 데이터 보기에 항목을 추가하려면 보조 데이터 보기에 가상 변환 규칙을 설정해야 합니다.
dpconf add-virtual-transformation secondary-view-name \ write add-attr-value dn uid=\${uid} |
이 규칙을 설정하지 않으면 결합 데이터 보기에 항목을 추가할 수 없습니다.
(옵션) 보조 보기에서 바인드가 허용되는지 여부를 지정합니다.
기본적으로 바인드는 모든 데이터 보기에서 허용됩니다. 보조 데이터 보기에 대한 바인드를 금지하려면 다음 명령을 실행합니다.
$ dpconf set-ldap-data-view-prop -h host -p port secondary-view-name process-bind:false |
이 등록 정보에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Handling of Binds를 참조하십시오.
(옵션) 보조 보기에 공유 항목이 포함되는지 여부를 지정합니다.
$ dpconf set-ldap-data-view-prop -h host -p port secondary-view-name \ contains-shared-entries:true |
이 등록 정보에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Handling of Shared Entries를 참조하십시오.
JDBC 데이터 보기를 사용하면 LDAP 클라이언트 응용 프로그램이 관계형 데이터베이스에 액세스할 수 있습니다. JDBC 데이터 보기가 작동하는 방법에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 JDBC Data Views를 참조하십시오.
JDBC 데이터 보기를 만들고 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
관계형 데이터베이스에 대한 JDBC 데이터 소스를 만듭니다.
$ dpconf create-jdbc-data-source -h host -p port -b db-name -B db-url -J driver-url \ [-J driver-url]... -S driver-class source-name |
현재는 각 JDBC 데이터 보기에 대해 한 개의 JDBC 데이터 소스만 지원됩니다. 즉, 여러 JDBC 데이터 소스에서 로드 균형 조정을 수행할 수 없습니다. 여러 JDBC 데이터 소스에 액세스하려면 각 데이터 소스에 대한 데이터 보기를 만들어 결합 데이터 보기와 결합할 수 있습니다.
JDBC 데이터 소스를 만드는 경우 다음 등록 정보를 설정해야 합니다.
관계형 데이터베이스 이름(예: payrolldb).
jdbc: vendor:driver://dbhost: dbport 형식의 데이터베이스 URL.
db-url에는 데이터베이스 이름이 없으므로 완전한 JDBC 데이터베이스 URL이 아닙니다. (데이터베이스 이름은 db-name 등록 정보로 지정됩니다.)
MySQL, DB2 및 Derby 데이터베이스의 경우에는 db-url이 /로 끝나야 하고, Oracle 데이터베이스의 경우에는 :으로 끝나야 합니다.
JDBC 드라이버 클래스(예: org.hsqldb.jdbcDriver).
JDBC 드라이버 경로(예: file:/// path/to/hsqldb/lib/hsqldb.jar).
driver-url 등록 정보는 여러 값을 가집니다. 따라서 driver-url은 JDBC 드라이버에 여러 개의 JAR 파일을 지원하여 여러 플랫폼의 JDBC 소스에 연결할 수 있습니다.
JDBC 데이터 소스 풀을 만듭니다.
$ dpconf create-jdbc-data-source-pool -h host -p port pool-name |
JDBC 데이터 소스를 JDBC 데이터 소스 풀에 첨부합니다.
$ dpconf attach-jdbc-data-source -h host -p port pool-name source-name |
JDBC 데이터 보기를 만듭니다.
$ dpconf create-jdbc-data-view -h host -p port view-name pool-name suffix-DN |
(옵션) 데이터 보기가 성공적으로 만들어졌는지 확인하려면 JDBC 데이터 보기 목록을 봅니다.
$ dpconf list-jdbc-data-views -h host -p port |
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
JDBC 데이터 보기의 등록 정보를 봅니다.
$ dpconf get-jdbc-data-view-prop -h host -p port view-name |
JDBC 데이터 보기의 기본 등록 정보는 다음과 같습니다.
alternate-search-base-dn : - attr-name-mappings : none base-dn : o=sql1 contains-shared-entries : - description : - distribution-algorithm : - dn-join-rule : - dn-mapping-attrs : none dn-mapping-source-base-dn : none excluded-subtrees : - filter-join-rule : - is-enabled : true is-read-only : false is-routable : true jdbc-data-source-pool : pool-name lexicographic-attrs : all lexicographic-lower-bound : none lexicographic-upper-bound : none non-viewable-attr : - non-writable-attr : - numeric-attrs : all numeric-default-data-view : false numeric-lower-bound : none numeric-upper-bound : none pattern-matching-base-object-search-filter : all pattern-matching-dn-regular-expression : all pattern-matching-one-level-search-filter : all pattern-matching-subtree-search-filter : all process-bind : - replication-role : master viewable-attr : all except non-viewable-attr writable-attr : all except non-writable-attr |
단계 1에 나열된 하나 이상의 등록 정보를 변경합니다.
$ dpconf set-jdbc-data-view-prop -h host -p port view-name property:value \ [property:value ... ] |
JDBC 데이터 보기를 구성할 경우에는 다음 객체도 구성해야 합니다.
JDBC 객체 클래스.하나 이상의 JDBC 테이블을 LDAP 객체 클래스에 매핑합니다.
JDBC 테이블.각 관계형 데이터베이스 테이블에 대해 정의됩니다.
JDBC 속성.JDBC 테이블의 지정된 열에서 LDAP 속성을 정의합니다.
관계형 데이터베이스에서 각 테이블에 대한 JDBC 테이블을 만듭니다.
% dpconf create-jdbc-table jdbc-table-name db-table |
db-table의 이름은 대소문자를 구분합니다. 관계형 데이터베이스에 사용된 것과 동일한 대소문자를 사용해야 하며, 그렇지 않으면 해당 테이블에 대한 작업이 실패할 수 있습니다.
각 관계형 데이터베이스 테이블에서 각 열에 대한 JDBC 속성을 만듭니다.
% dpconf add-jdbc-attr table-name attr-name sql-column |
JDBC 속성을 만들면 테이블 열이 LDAP 속성에 매핑됩니다.
(옵션) 관계형 데이터베이스의 열이 대소문자를 구분할 경우 JDBC 속성의 LDAP 구문을 변경합니다.
% dpconf set-jdbc-attr-prop table-name attr-name ldap-syntax:ces |
ldap-syntax의 값은 기본적으로 cis입니다. 이는 jdbc-attr이 대소문자를 구분하지 않는다는 것을 의미합니다. 관계형 데이터베이스가 대소문자를 구분할 경우 값을 ces로 변경합니다.
Oracle 및 DB2와 같은 특정 관계형 데이터베이스는 기본적으로 대소문자를 구분합니다. LDAP는 기본적으로 대소문자를 구분하지 않습니다. 디렉토리 프록시 서버에서 관계형 데이터베이스 테이블의 열이 대소문자를 구분한다는 것을 감지하는 경우 필터에서 해당 속성이 있는 ldapsearch 쿼리가 UPPER 함수를 사용하여 SQL 쿼리로 변환됩니다.
예를 들어 ldapsearch -b "dc=mysuffix" "(attr=abc)" 쿼리는 다음 SQL 쿼리로 변환됩니다.
SELECT * FROM mytable WHERE (UPPER(attr)='ABC') |
기본적으로 이 유형의 쿼리는 색인화되지 않습니다. 따라서 이 특성을 가진 쿼리는 성능에 큰 영향을 줄 수 있습니다.
다음 두 가지 방법으로 성능에 미치는 영향을 줄일 수 있습니다.
jdbc-attr의 ldap-syntax 등록 정보를 ces로 설정
LDAP 필터에서 사용할 수 있는 각 jdbc-attr에 대해 UPPER 함수를 사용하여 색인 만들기
관계형 데이터베이스가 대소문자를 구분하지 않는 경우 ldap-syntax를 기본값 즉, cis로 사용합니다. ldap-syntax:ces는 대소문자를 구분하지 않는 데이터베이스에서 지원되지 않습니다.
LDAP 관계형 데이터베이스 테이블에 대한 JDBC 객체 클래스를 만듭니다.
% dpconf create-jdbc-object-class view-name objectclass primary-table \ [secondary-table... ] DN-pattern |
기본적으로 JDBC 객체 클래스를 만들면 해당 테이블과 연관되는 LDAP 객체 클래스가 지정됩니다. 또한 JDBC 객체 클래스는 기본 테이블과 보조 테이블을 지정합니다(있을 경우).
JDBC 객체 클래스를 만들 때 DN 패턴을 지정합니다. DN 패턴은 항목의 DN이 구성되는 방법을 보여줍니다.
JDBC 객체 클래스의 DN 패턴에서 정의된 모든 하위 트리 구성 요소에는 해당 구성 요소에 대해 정의된 JDBC 객체 클래스가 있어야 합니다. 예를 들어 JDBC 객체 클래스에 DN 패턴 uid,ou가 있는 경우 JDBC 객체 클래스 정의에는 DN 패턴 ou가 포함되어야 합니다. 디렉토리 프록시 서버에서는 올바로 구성된 DIT를 구성해야 합니다. 그렇지 않으면 ou=xxx,base-DN과 같은 값이 있는 하위 트리는 검색 결과로 반환되지 않습니다.
보조 테이블이 있을 경우 기본 테이블과 보조 테이블 간에 결합 규칙을 정의합니다.
% dpconf set-jdbc-table-prop secondary-table-name filter-join-rule:join-rule |
결합 규칙은 보조 테이블에 정의되며 해당 테이블의 데이터가 기본 테이블의 테이터에 연결되는 방법을 결정합니다. 객체 클래스의 기본 테이블과 보조 테이블 간에 관계를 정의하는 방법은 중요합니다. 자세한 내용은 JDBC 테이블 간의 관계 정의를 참조하십시오.
JDBC 객체 클래스에 대한 수퍼 클래스를 지정합니다.
% dpconf set-jdbc-object-class-prop view-name objectclass super-class:value |
수퍼 클래스는 JDBC 객체 클래스가 상속하는 LDAP 객체 클래스를 나타냅니다.
가장 단순한 경우 JDBC 객체 클래스는 단일(기본) 테이블만 포함합니다. 이 테이블에는 보조 테이블이 없으므로 테이블 간에 관계를 정의할 필요가 없습니다.
객체 클래스에 둘 이상의 테이블이 포함된 경우에는 해당 테이블 간의 관계를 분명하게 정의해야 합니다. 테이블 간의 관계는 항상 보조 테이블에서 정의됩니다. 보조 테이블의 다음 등록 정보를 사용하여 이러한 관계를 정의할 수 있습니다.
is-single-row-table은 테이블에서 LDAP 항목과 일치하는 행이 한 개만 있도록 지정합니다.
contains-shared-entries는 보조 테이블의 행이 기본 테이블의 둘 이상의 행에 사용되도록 지정합니다.
filter-join-rule은 기본 테이블의 항목을 기준으로 보조 테이블에서 항목을 검색하는 방법을 나타냅니다.
다음 예는 처음 두 개의 등록 정보 값을 기준으로 필터 결합 규칙을 정의하는 방법을 보여줍니다. 다음 예에서는 객체 클래스에 기본 테이블과 보조 테이블이 한 개씩 있다고 가정합니다.
이 값은 해당 등록 정보의 기본값입니다. 이 경우 기본 테이블과 보조 테이블 간의 관계는 n->1입니다. 즉, 기본 테이블의 n개 행이 보조 테이블의 공유된 행 하나를 참조합니다.
관계형 데이터베이스에서 외래 키(FK)가 기본 테이블에 정의되고 보조 테이블의 열을 가리킵니다.
예를 들어 조직에서 여러 직원이 동일한 관리자를 공유할 수 있다고 가정합니다. 이 경우 다음 구조를 가진 두 개의 관계형 데이터베이스 테이블이 정의됩니다.
primary table : EMPLOYEE [ID, NAME, FK_MANAGER_ID] secondary table : MANAGER [ID, NAME] |
다음 객체 클래스와 속성이 정의됩니다.
object-class : employee attr : name (from primary EMPLOYEE.NAME) attr : manager (from secondary MANAGER.NAME) |
다음 필터 결합 규칙이 보조 테이블에 정의됩니다.
"${ID}=${EMPLOYEE.FK_MANAGER_ID}" |
이 구성을 사용하면 LDAP 작업에 대해 다음 동작이 발생합니다.
직원 항목 추가.직원 항목의 관리자가 테이블에 없는 경우 새 행이 만들어집니다. 관리자가 있는 경우 기존 행이 사용됩니다.
항목에서 "manager" 속성 값 바꾸기.MANAGER.NAME 행의 값이 변경됩니다.
직원 항목 삭제.관리자 항목이 공유되므로 보조 테이블의 행이 삭제되지 않습니다.
항목에서 "manager" 속성 삭제.보조 테이블의 행이 삭제되고 외래 키(EMPLOYEE.FK_MANAGER_ID)가 NULL로 설정됩니다.
이 경우 기본 테이블과 보조 테이블 간의 관계는 1->1 또는 1<-1입니다. 즉, 기본 테이블의 한 행을 보조 테이블의 한 행에서 참조합니다.
관계형 데이터베이스에서 외래 키(FK)는 기본 테이블 또는 보조 테이블에 정의할 수 있습니다.
예를 들어 조직에서 직원의 UID가 하나의 테이블에 저장되고 직원의 성이 다른 테이블에 저장된다고 가정합니다. 이 경우 다음 구조를 가진 두 개의 관계형 데이터베이스 테이블이 정의됩니다.
primary table : UID [ID, VALUE, FK_SN_ID] secondary table : SN [ID, VALUE] |
다음 객체 클래스와 속성이 정의됩니다.
object-class : employee attr : uid (from primary UID.VALUE) attr : sn (from secondary ID.VALUE) |
다음 필터 결합 규칙이 보조 테이블에 정의됩니다.
"${ID}=${UID.FK_SN_ID}" |
이 구성은 외래 키 FK_UID_ID가 보조 테이블에 저장되고 UID.ID를 가리키는 정반대 구성이 될 수 있습니다.
이 경우 기본 테이블과 보조 테이블 간의 괸계는 1->n입니다. 즉, 기본 테이블의 한 행을 보조 테이블의 n개 행에서 참조합니다. 이 예는 값이 여러 개인 속성의 경우를 보여줍니다. 값이 여러 개인 속성은 보조 테이블에서 행 집합으로 표시되며 속성 값당 한 행을 가집니다.
관계형 데이터베이스에서 외래 키는 보조 테이블에 정의되고 기본 테이블의 열을 가리킵니다.
예를 들어 조직에서 직원이 여러 전화 번호를 가질 수 있다고 가정합니다. 이 경우 다음 구조를 가진 두 개의 관계형 데이터베이스 테이블이 정의됩니다.
primary table : EMPLOYEE [ID, NAME] secondary table : PHONE [ID, VALUE, USER_ID] |
다음 객체 클래스와 속성이 정의됩니다.
object-class : employee attr : cn (from primary EMPLOYEE.NAME) attr : telephoneNumber (from secondary PHONE.VALUE) |
다음 필터 결합 규칙이 보조 테이블에 정의됩니다.
"${USER_ID}=${EMPLOYEE.ID}" |
이 경우는 현재 디렉토리 프록시 서버에서 지원되지 않습니다.
가상 데이터 보기에서 ACI는 LDAP 디렉토리 또는 LDIF 파일에 저장할 수 있습니다. 가상 ACI가 작동하는 방법에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Access Control On Virtual Data Views를 참조하십시오.
디렉토리 프록시 서버 인스턴스를 만드는 경우 가상 액세스 제어에 대해 다음 기본 구성이 정의됩니다.
ACI가 기본적으로 저장되는 LDIF 파일( instance-path/config/access_controls.ldif)
이름이 가상 액세스 제어인 LDIF 데이터 보기
이 데이터 보기를 사용하여 디렉토리 프록시 서버에서 LDIF 파일에 저장된 ACI에 액세스할 수 있습니다.
앞에 설명된 기본 ACI 구성을 사용하지 않으려면 다른 저장소를 정의할 수 있습니다.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
가상 ACI가 저장되는 저장소에 대한 데이터 보기를 만듭니다.
ACI가 LDAP 디렉토리에 저장되는 경우 LDAP 데이터 보기 만들기 및 구성에 설명된 것처럼 LDAP 데이터 소스 및 LDAP 데이터 보기를 만듭니다.
ACI가 LDIF 파일에 저장되는 경우 LDIF 데이터 보기 만들기 및 구성에 설명된 것처럼 LDIF 데이터 보기를 만듭니다.
이전 단계에서 만든 데이터 보기의 이름을 ACI 데이터 보기로 지정합니다.
$ dpconf set-virtual-aci-prop -h host -p port aci-data-view:data-view-name
ACI 저장소가 LDAP 디렉토리인 경우 ACI 데이터 보기를 액세스하는 데 필요한 자격 증명을 정의합니다.
$ dpconf set-virtual-aci-prop -h host -p port aci-manager-bind-dn:bind-dn $ dpconf set-virtual-aci-prop -h host -p port aci-manager-bind-pwd-file:filename
사용하는 ACI 저장소에 상관없이 가상 액세스 제어를 구성해야 합니다.
프록시 관리자만 ACI 데이터 보기를 통해 ACI 풀을 만들고 ACI를 직접 관리할 수 있습니다. ACI 저장소가 LDAP 디렉토리인 경우 aciSource 객체 클래스 및 dpsaci 속성을 포함하도록 해당 디렉토리의 스키마를 수정해야 합니다. 스키마를 사용자 정의하는 방법에 대한 자세한 내용은 디렉토리 서버 스키마 확장을 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
ACI 저장소에서 ACI 풀을 만들고 전역 ACI를 설정합니다.
전역 ACI에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Global ACIs를 참조하십시오. 전역 ACI를 설정하려면 ACI 데이터 보기의 보기 기준 아래에 aciSource 항목을 추가합니다. 예를 들면 다음과 같습니다.
% ldapmodify -p port -D "cn=proxy manager" -w - dn: cn=data-source-name,cn=virtual access controls changetype: add objectclass: aciSource dpsaci: (targetattr="*") (target = "ldap:///ou=people,o=virtual") (version 3.0; \ acl "perm1"; allow(all) groupdn="ldap:///cn=virtualGroup1,o=groups,o=virtual";) cn: data-source-name |
이 ACI 풀을 사용하도록 하나 이상의 연결 처리기를 구성합니다.
% dpconf set-connection-handler-prop -h host -p port connection-handler \ aci-source:data-source-name |
필요한 ACI를 데이터에 추가합니다.
이렇게 하려면 ACI를 포함하는 가상 항목을 만듭니다. 예를 들면 다음과 같습니다.
% ldapmodify -p port -D "cn=virtual application,ou=application users,dc=com" -w - dn: ou=people,o=virtual changetype: modify add: dpsaci dpsaci: (targetattr="*")(version 3.0; acl "perm1"; allow(all) userdn ="ldap:///self";) dpsaci: (targetattr="*")(version 3.0; acl "perm1"; allow(search, read, compare) \ userdn ="ldap:///anyone";) |
적절한 액세스 권한을 가진 모든 사용자가 데이터 보기를 통해 가상 ACI를 추가하고 검색할 수 있습니다.
일반적으로 LDAP 데이터 보기의 경우 스키마 검사는 백엔드 디렉토리의 스키마를 사용하여 백엔드 디렉토리에서 수행됩니다. 디렉토리 프록시 서버에서 스키마 검사를 수행하려면 다음 절차를 사용합니다.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
요청, 특히 DN을 정규화하려면 다음과 같이 서버의 use-external-schema 등록 정보를 설정합니다.
서버 인스턴스가 외부 스키마를 사용해야 함을 나타냅니다.
$ dpconf set-server-prop -h host -p port use-external-schema:true |
연결 처리기에서 스키마 검사를 활성화합니다.
$ dpconf set-connection-handler-prop -h host -p port connection-handler \ schema-check-enabled:true |
cn=schema를 표시하는 데이터 보기를 만듭니다.
외부 스키마가 LDAP 디렉토리에 정의된 경우 LDAP 데이터 보기 만들기 및 구성에 설명된 것처럼 cn=schema의 보기 기준을 사용하여 LDAP 데이터 보기를 만듭니다.
외부 스키마가 LDIF 파일에 정의된 경우 LDIF 데이터 보기 만들기 및 구성에 설명된 것처럼 cn=schema의 보기 기준을 사용하여 LDIF 데이터 보기를 만듭니다.
연결 처리기에서 표시되는 데이터 보기 목록에 이 데이터 보기를 추가합니다.
기본적으로 모든 데이터 보기는 연결 처리기에서 표시됩니다. 연결 처리기에서 표시되는 데이터 보기의 사용자 정의 목록을 정의한 경우 이 데이터 보기를 해당 목록에 추가합니다.
$ dpconf set-connection-handler-prop -h host -p port connection-handler \ data-view-routing-custom-list+:data-view-name |
다음 절에서는 두 개의 구성 예에 대해 설명합니다. 이러한 구성은 가상 디렉토리의 기본 기능과 이러한 기능을 구성하는 방법을 보여줍니다.
이 절의 절차에서는 LDAP 디렉토리 및 MySQL 데이터베이스를 결합하는 가상 구성 예에 대해 설명합니다. LDAP 디렉토리는 대부분의 사용자 정보를 포함하는 기본 데이터 소스입니다. mySQL 데이터베이스에는 사용자에 대한 추가 정보가 포함됩니다. 결과로 표시된 구성은 다음 그림과 같습니다.
install-path /ds6/ldif/Example.ldif에 제공된 샘플 데이터를 사용하여 이 예를 그대로 사용하거나 샘플 데이터를 고유한 데이터로 바꿀 수 있습니다.
이 구성은 다음 세 개의 절로 구분할 수 있습니다.
LDAP 데이터 보기 구성 및 테스트
JDBC 데이터 보기 구성 및 테스트
결합 데이터 보기 구성 및 테스트
단순하게 만들기 위해 이 절의 모든 명령에서는 디렉토리 프록시 서버가 /local/dps의 로컬 호스트에서 실행 중이라고 가정합니다. 또한, 다음 환경 변수가 설정되었다고 가정합니다.
1389
pwd.txt, 관리자 비밀번호를 포함하는 파일
4389
cn=Directory Manager
이 절의 작업에서는 다음 정보를 가정합니다.
디렉토리 서버 인스턴스가 포트 4389의 host1에서 실행 중입니다.
디렉토리 서버의 데이터가 dc=example,dc=com 접미어 아래에 저장됩니다. 이 예를 그대로 사용하려면 디렉토리 서버 인스턴스를 만들고 dc=example,dc=com 접미어를 만든 다음 install-path/ds6/ldif/Example.ldif의 샘플 데이터를 가져옵니다.
디렉토리 서버 인스턴스에 대해 myds1이라는 LDAP 데이터 소스를 만듭니다.
% dpconf create-ldap-data-source myds1 host1:4389 |
데이터 소스를 활성화하고 데이터 소스에 대한 쓰기 작업을 허용합니다.
% dpconf set-ldap-data-source-prop myds1 is-enabled:true is-read-only:false |
myds1-pool이라는 LDAP 데이터 소스 풀을 만듭니다.
% dpconf create-ldap-data-source-pool myds1-pool |
LDAP 데이터 소스를 LDAP 데이터 소스 풀에 첨부합니다.
% dpconf attach-ldap-data-source myds1-pool myds1 |
데이터 소스가 해당 데이터 소스 풀에서 바인드, 추가, 검색 및 수정 작업을 100% 받아야 함을 지정합니다.
% dpconf set-attached-ldap-data-source-prop myds1-pool myds1 add-weight:100 \ bind-weight:100 modify-weight:100 search-weight:100 |
dc=example,dc=com의 기본 DN을 사용하여 데이터 소스 풀에 대한 myds1–view라는 LDAP 데이터 보기를 만듭니다.
% dpconf create-ldap-data-view myds1-view myds1-pool dc=example,dc=com |
dc=example,dc=com의 사용자로 LDAP 데이터 소스의 모든 항목을 검색하여 데이터 보기에서 읽을 수 있는지 확인합니다.
% ldapsearch -p 1389 -D "uid=kvaughan,ou=people,dc=example,dc=com" -w bribery \ -b dc=example,dc=com "objectclass=*" |
dc=example,dc=com의 사용자에 대한 자격 증명을 사용해야 합니다. cn=Directory Manager를 사용하려면 해당 DN을 처리하도록 데이터 보기를 정의해야 합니다.
dc=example,dc=com의 사용자로 userPassword 속성을 수정하여 데이터 보기에 쓸 수 있는지 확인합니다.
% ldapmodify -p 1389 -D "uid=kvaughan,ou=people,dc=example,dc=com" -w bribery dn: uid=kvaughan,ou=people,dc=example,dc=com changetype: modify replace: userPassword userPassword: myNewPassword |
디렉토리 서버의 기본 ACI를 사용하여 자신의 비밀번호를 수정할 수 있습니다.
다음 작업에서는 mySQL 데이터베이스가 설치되어 실행 중이고 데이터로 채워져 있으며, 다음과 같은 특징이 있다고 가정합니다.
데이터베이스 이름: sample_sql
데이터베이스 URL: host2.example.com:3306/
JDBC 드라이버 URL: file:/net/host2.example/local/mysql/lib/jdbc.jar
드라이버 클래스: com.mysql.jdbc.Driver
데이터베이스 사용자: root
데이터베이스 비밀번호 파일: mysqlpwd.txt
다음 표에서는 데이터베이스의 테이블과 해당 복합 필드에 대해 설명합니다. JDBC 데이터 보기를 설정하려면 이 정보가 필요합니다.
mySQL 테이블 |
필드 |
---|---|
EMPLOYEE |
ID, SURNAME,PASSWORD, TITLE, COUNTRY_ID |
COUNTRY |
ID, NAME |
PHONE |
USER_ID, NUMBER |
SQL 데이터베이스에 mysql1이라는 JDBC 데이터 소스를 만듭니다.
% dpconf create-jdbc-data-source -b sample_sql -B jdbc:mysql://host2.example.com:3306 \ -J file:/net/host2.example/local/mysql/lib/jdbc.jar -S com.mysql.jdbc.Driver mysql1 |
SQL 데이터베이스에 대한 사용자 이름과 비밀번호 파일을 지정합니다.
% dpconf set-jdbc-data-source-prop mysql1 db-pwd-file:sqlpwd.txt db-user:root |
프록시 서버를 다시 시작합니다.
% dpadm restart /local/dps |
데이터 소스를 활성화하고 데이터 소스에 대한 쓰기 작업을 허용합니다.
% dpconf set-jdbc-data-source-prop mysql1 is-enabled:true is-read-only:false |
mysql1–pool이라는 JDBC 데이터 소스 풀을 만듭니다.
% dpconf create-jdbc-data-source-pool mysql1-pool |
JDBC 데이터 소스를 데이터 소스 풀에 첨부합니다.
% dpconf attach-jdbc-data-source mysql1-pool mysql1 |
o=sql의 기본 DN을 사용하여 데이터 소스 풀에 대한 myjdbc1–view라는 JDBC 데이터 보기를 만듭니다.
% dpconf create-jdbc-data-view mysql1-view mysql1-pool o=sql |
MySQL 데이터베이스의 각 테이블에 대한 JDBC 테이블을 만듭니다.
% dpconf create-jdbc-table employee1 EMPLOYEE % dpconf create-jdbc-table country1 COUNTRY % dpconf create-jdbc-table phone1 PHONE |
SQL 데이터베이스의 테이블 이름은 대소문자를 구분합니다. SQL 데이터베이스에 사용된 것과 동일한 대소문자를 사용해야 합니다.
각 테이블의 열마다 JDBC 속성을 만듭니다.
JDBC 속성을 만들면 MySQL 열이 LDAP 속성에 매핑됩니다.
% dpconf add-jdbc-attr employee1 uid ID % dpconf add-jdbc-attr employee1 sn SURNAME % dpconf add-jdbc-attr employee1 userPassword PASSWORD % dpconf add-jdbc-attr employee1 room ROOM % dpconf add-jdbc-attr phone1 tel NUMBER % dpconf add-jdbc-attr country1 country NAME |
phone1 user_id 및 country1 id 열은 MySQL 데이터베이스의 컨텍스트에서만 사용되므로 이러한 열에 대한 JDBC 속성을 만들 필요가 없습니다. 이러한 열에는 해당 LDAP 속성이 없습니다.
LDAP person 객체 클래스에 대한 JDBC 객체 클래스를 만듭니다.
이 단계에서 employee1 테이블은 기본 테이블로 식별되고 country1 및 phone1 테이블은 보조 테이블로 식별됩니다. 또한 JDBC 객체 클래스를 만들려면 DN이 필요합니다. 이 예에서 DN은 데이터 보기의 기본 DN 및 uid 속성에서 구성됩니다.
% dpconf create-jdbc-object-class mysql1-view person employee1 country1 phone1 uid |
기본 테이블과 보조 테이블 간의 결합 규칙을 정의합니다.
결합 규칙은 보조 테이블에 정의되며 해당 테이블의 데이터가 기본 테이블의 테이터에 연결되는 방법을 결정합니다.
% dpconf set-jdbc-table-prop country1 filter-join-rule:'ID=${EMPLOYEE.COUNTRY_ID}' % dpconf set-jdbc-table-prop phone1 filter-join-rule:'USER_ID=${EMPLOYEE.ID}' |
JDBC 객체 클래스에 대한 수퍼 클래스를 지정합니다.
수퍼 클래스는 JDBC 객체 클래스가 속성을 상속하는 LDAP 객체 클래스를 나타냅니다.
% dpconf set-jdbc-object-class-prop mysql1-view person super-class:top |
JDBC 데이터 보기를 테스트하기 전에 ACI를 구성하여 데이터 보기에 대한 쓰기 액세스 권한을 활성화해야 합니다. 기본적으로 비 LDAP 데이터 보기에 대한 쓰기 액세스 권한은 거부됩니다. 이 예에서는 한 개의 전역 ACI만 추가하면 사용자가 자신의 비밀번호를 수정할 수 있습니다.
프록시 관리자로 ACI 풀을 JDBC 데이터 소스에 추가하고 사용자가 자신의 항목을 수정할 수 있도록 전역 ACI를 추가합니다.
% ldapmodify -p 1389 -D "cn=proxy manager" -w password dn: cn=mysql1,cn=virtual access controls changetype: add objectclass: acisource dpsaci: (targetattr="*") (target = "ldap:///o=sql") \ (version 3.0; acl "enable all access for all users "; allow(all) \ userdn="ldap:///uid=kvaughan,o=sql";) cn: mysql1 |
연결 처리기를 만들어 o=sql 도메인에 대한 연결을 처리합니다.
% dpconf create-connection-handler mysql1-handler |
연결 처리기를 활성화하고 o=sql 도메인에 있는 사용자의 모든 바인드를 처리하도록 구성합니다.
% dpconf set-connection-handler-prop mysql1-handler is-enabled:true \ bind-dn-filters:"uid=.*,o=sql" |
이전에 추가한 ACI 풀을 사용하도록 연결 처리기를 구성합니다.
% dpconf set-connection-handler-prop mysql1-handler aci-source:mysql1 |
o=sql의 사용자로 JDBC 데이터 소스를 검색하여 데이터 보기에서 읽기 가능한지 확인합니다.
% ldapsearch -p 1389 -D "uid=kvaughan,o=sql" -w mypwd -b o=sql "objectclass=*" |
o=sql 또는 익명 바인드의 사용자에 대한 자격 증명을 사용해야 합니다.
o=sql의 사용자로 userPassword 속성을 수정하여 데이터 보기에 쓰기 가능한지 확인합니다.
% ldapmodify -p 1389 -D "uid=kvaughan,o=sql" -w mypwd dn: uid=kvaughan,o=sql changetype: modify replace: userPassword userPassword: myNewpwd |
myjoin1–view라는 결합 데이터 보기를 만듭니다.
LDAP 데이터 보기를 기본 데이터 보기로 지정하고 JDBC 데이터 보기를 보조 데이터 보기로 지정합니다.
% dpconf create-join-data-view myjoin1-view myds1-view mysql1-view o=join |
보조 데이터 보기에서 결합 규칙을 정의합니다.
다음 결합 규칙은 보조 데이터 보기에 있는 항목의 uid 속성이 기본 데이터 보기에 있는 항목의 uid 속성과 일치해야 함을 지정합니다.
% dpconf set-jdbc-data-view-prop mysql1-view filter-join-rule:uid='${myds1-view.uid}' |
결합 데이터 보기에 필터 결합 규칙이 설정되어 있는 경우 결합 데이터 보기에 항목을 추가하려면 보조 데이터 보기에 가상 변환 규칙을 설정해야 합니다.
dpconf add-virtual-transformation secondary-view-name \ write add-attr-value dn uid=\${uid} |
이 규칙을 설정하지 않으면 결합 데이터 보기에 항목을 추가할 수 없습니다.
결합 데이터 보기를 통해 기본 데이터 보기에서 읽고 쓸 수 있는 속성 집합을 정의합니다.
% dpconf set-ldap-data-view-prop myds1-view viewable-attr:dn viewable-attr:cn \ viewable-attr:sn viewable-attr:givenName viewable-attr:objectClass viewable-attr:ou \ viewable-attr:l viewable-attr:uid viewable-attr:mail viewable-attr:telephoneNumber \ viewable-attr:facsimileTelephoneNumber viewable-attr:roomNumber viewable-attr:userPassword % dpconf set-ldap-data-view-prop myds1-view writable-attr:dn writable-attr:cn \ writable-attr:sn writable-attr:givenName writable-attr:objectClass writable-attr:ou \ writable-attr:l writable-attr:uid writable-attr:mail writable-attr:telephoneNumber \ writable-attr:facsimileTelephoneNumber writable-attr:roomNumber writable-attr:userPassword |
이러한 정의는 결합 보기의 컨텍스트에서만 적용됩니다. 기본적으로 LDAP 데이터 보기에 직접 액세스할 경우 모든 속성을 읽고 쓸 수 있습니다.
결합 데이터 보기를 통해 보조 데이터 보기에서 읽고 쓸 수 있는 속성 집합을 정의합니다.
% dpconf set-jdbc-data-view-prop mysql1-view viewable-attr:dn viewable-attr:objectclass \ viewable-attr:sn viewable-attr:room viewable-attr:userpassword viewable-attr:jobtitle \ viewable-attr:country viewable-attr:tel % dpconf set-jdbc-data-view-prop mysql1-view writable-attr:dn writable-attr:objectclass \ writable-attr:sn writable-attr:room writable-attr:userpassword writable-attr:jobtitle \ writable-attr:country writable-attr:tel |
이러한 정의는 결합 보기의 컨텍스트에서만 적용됩니다. 기본적으로 JDBC 데이터 보기에 직접 액세스할 경우 모든 속성을 읽고 쓸 수 있습니다.
프록시 관리자로 결합 데이터 보기에 대한 익명 액세스를 허용하는 전역 ACI를 추가합니다.
% ldapmodify -p 1389 -D "cn=proxy manager" -w password dn: cn=myjoin1,cn=virtual access controls changetype: add objectclass: acisource dpsaci: (targetattr="*") (target = "ldap:///o=join") \ (version 3.0; acl "anonymous_access"; allow(all) userdn="ldap:///anyone";) cn: myjoin1 |
연결 처리기를 만들어 o=join 도메인에 대한 연결을 처리합니다.
% dpconf create-connection-handler myjoin1-handler |
연결 처리기를 활성화하고 o=join에 있는 사용자의 모든 바인드를 처리하도록 구성합니다.
% dpconf set-connection-handler-prop myjoin1-handler is-enabled:true \ bind-dn-filters:"uid=.*,ou=people,o=join" |
이전에 추가한 ACI 풀을 사용하도록 연결 처리기를 구성합니다.
% dpconf set-connection-handler-prop myjoin1-handler aci-source:myjoin1 |
이 단계에서는 Kirsten Vaughan의 항목을 검색하여 두 결합 보기의 데이터가 검색되는지 여부를 확인합니다.
% ldapsearch -p 1389 -b o=join "uid=kvaughan" |
반환된 항목에 LDAP 데이터 보기 및 JDBC 데이터 보기 속성이 모두 포함되어 있는지 확인합니다.
o=join의 사용자로 userPassword 속성을 수정하여 결합 데이터 보기에 쓰기 가능한지 확인합니다.
% ldapmodify -p 1389 -D "uid=kvaughan,ou=people,o=join" -w myNewPassword dn: uid=kvaughan,ou=people,o=join changetype: modify replace: userPassword userPassword: myPassword |
이 구성에서는 가상 디렉토리의 일부 기능이 특정 디렉토리 서비스 요구 사항을 충족하는 조직인 Example.com에 대해 설명합니다.
Example.com은 별도의 여러 데이터 소스에 조직 데이터를 저장합니다. 레거시 이유로 인해 사용자 데이터는 LDAP 디렉토리, 플랫 LDIF 파일 및 SQL 데이터베이스에 분산됩니다. HR 부서는 o=example.com의 기본 DN을 사용하여 LDAP 디렉토리에 사용자 데이터를 저장합니다. 급여 부서는 데이터를 SQL 데이터베이스에 저장합니다. 관리 부서는 dc=example,dc=com의 기본 DN을 사용하여 부서 및 건물 번호와 같은 관리 데이터를 LDIF 파일에 저장합니다.
또한 Example.com은 Company22라는 회사를 인수했습니다. Company 22 역시 dc=company22,dc=com의 기본 DN을 사용하여 사용자 데이터를 LDAP 디렉토리에 저장합니다.
다음 다이어그램은 Example.com의 사용자 데이터가 저장되는 방법에 대한 상위 수준 보기를 제공합니다.
Example.com에는 별도의 데이터 소스에 저장된 데이터에 대한 액세스 권한을 필요로 하는 여러 LDAP 클라이언트 응용 프로그램이 있습니다. 클라이언트 응용 프로그램의 요구 사항은 각각 다릅니다. 다른 데이터 보기가 필요합니다. 클라이언트가 데이터를 집계하도록 요구하는 경우도 있습니다. 또한 일부 클라이언트 응용 프로그램에는 Example.com의 새 직원을 이전 직원과 함께 관리할 수 있도록 Company22의 사용자 데이터에 대한 액세스 권한이 필요합니다.
다음 다이어그램은 Example.com의 클라이언트 응용 프로그램 요구 사항에 대한 상위 수준 보기를 제공합니다.
다음 절에서는 이 샘플 시나리오에 설명된 클라이언트 응용 프로그램의 요구 사항을 충족할 수 있는 충분한 구성 디렉토리 프록시 서버 데이터 보기를 안내합니다. 데이터 보기가 작동하는 방법에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 17 장, Directory Proxy Server Distribution과 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 18 장, Directory Proxy Server Virtualization을 참조하십시오.
샘플 시나리오의 구성은 다음 절로 구분됩니다.
HR 부서는 직원 이름, 작업 시작 데이터 및 작업 수준과 같은 정보를 저장합니다. 관리 부서는 건물 코드 및 사무실 번호와 같은 추가 데이터를 저장합니다. HR 데이터를 처리하는 클라이언트 응용 프로그램에는 두 소스의 결합된 데이터에 대한 액세스 권한이 필요합니다. 두 데이터 소스에는 각 항목에 존재하는 공통 속성인 employeeNumber가 있습니다.
다음 다이어그램은 클라이언트 응용 프로그램의 요구 사항을 보여줍니다.
이 응용 프로그램의 요구 사항을 충족하기 위해 급여 디렉토리 및 관리 LDIF 파일에 대한 데이터 보기가 만들어집니다. 그런 다음 이러한 두 데이터 보기가 결합되어 집계된 데이터에 대한 액세스를 제공합니다. 이 공통 속성을 사용하여 디렉토리 프록시 서버는 각 사용자에 대한 데이터를 집계할 수 있습니다.
단순하게 만들기 위해 이 절에 사용된 명령은 다음 정보를 가정합니다.
디렉토리 프록시 서버 인스턴스는 기본 LDAP 포트(389)를 사용하여 로컬 호스트에서 실행됩니다.
디렉토리 프록시 서버 인스턴스는 /local/myDPS에 있습니다.
프록시 관리자 비밀번호를 포함하는 파일에 대한 경로가 LDAP_ADMIN_PWF 변수로 설정되었습니다. 디렉토리 프록시 서버 환경 변수를 설정하는 방법에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Installation Guide의 Environment Variables를 참조하십시오.
급여 LDAP 디렉토리는 포트 2389의 payrollHost라는 호스트에서 실행됩니다.
관리 데이터를 저장하는 데 사용되는 LDIF 파일의 이름이 example.ldif로 지정됩니다.
각 명령의 완전한 구문을 얻으려면 명령을 옵션 없이 실행합니다. 예를 들면 다음과 같습니다.
$ dpconf create-ldap-data-view Operands are missing Usage: dpcfg create-ldap-data-view VIEW_NAME POOL_NAME SUFFIX_DN
급여 디렉토리에 대한 LDAP 데이터 소스를 만듭니다.
$ dpconf create-ldap-data-source payroll-directory payrollHost:2389
급여 디렉토리에 대한 LDAP 데이터 소스 풀을 만듭니다.
$ dpconf create-ldap-data-source-pool payroll-pool
급여 데이터 소스를 데이터 소스 풀에 첨부합니다.
$ dpconf attach-ldap-data-source payroll-pool payroll-directory
첨부된 데이터 소스의 가중치를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h payrollHost -p 2389 \ payroll-pool payroll-directory add-weight:2 \ bind-weight:2 compare-weight:2 delete-weight:2 \ modify-dn-weight:2 modify-weight:2 search-weight:2
급여 디렉토리에 대한 LDAP 데이터 보기를 만듭니다.
$ dpconf create-ldap-data-view payroll-view payroll-pool o=example.com
클라이언트 요청을 이 데이터 보기로 전달할 수 있도록 LDAP 데이터 보기를 활성화합니다.
$ dpconf set-ldap-data-view-prop payroll-view is-enabled:true
디렉토리 프록시 서버를 다시 시작하여 변경 사항을 적용합니다.
$ dpadm restart /local/myDPS
관리 데이터에 대한 LDIF 데이터 보기를 만듭니다.
$ dpconf create-ldif-data-view admin-view example.ldif dc=example,dc=com
관리 데이터에 대한 LDIF 데이터 보기를 활성화합니다.
$ dpconf set-ldif-data-view-prop admin-view is-enabled:true
관리 보기가 급여 보기에서 둘 이상의 항목에 사용되는 항목을 포함하도록 지정합니다.
$ dpconf set-ldif-data-view-prop admin-view contains-shared-entries:true
이 등록 정보를 TRUE로 설정할 경우 급여 데이터 보기에서 항목을 삭제하면 관리 데이터 보기의 공유 항목이 삭제되지 않습니다. 급여 데이터 보기에 항목을 추가하면 항목이 보조 데이터 보기에만 추가됩니다(아직 없는 경우).
디렉토리 프록시 서버를 다시 시작하여 변경 사항을 적용합니다.
$ dpadm restart /local/myDPS
관리 데이터 보기에서 데이터가 집계되는 방법을 지정하는 필터 결합 규칙을 만듭니다.
다음 결합 규칙은 사용자 항목의 employeeNumber 속성을 기준으로 데이터를 결합해야 함을 지정합니다.
$ dpconf set-ldif-data-view-prop admin-view \ filter-join-rule:'employeeNumber=\${payroll-view.employeeNumber}'
두 데이터 보기를 집계하는 결합 데이터 보기를 만듭니다.
결합 데이터 보기의 경우 조직에서는 접미어 DN dc=example,dc=com을 사용합니다.
$ dpconf create-join-data-view example-join-view payroll-view admin-view \ dc=example,dc=com
Company 22의 사용자 데이터는 DN dc=company22,dc=com에 저장됩니다. Example.com에서는 대부분 이 사용자 데이터를 별도로 유지하려고 하지만 한 클라이언트 응용 프로그램은 나머지 Example.com 직원과 함께 Company 22 직원을 관리해야 합니다. 이 클라이언트 응용 프로그램의 경우 Company 22 사용자 데이터의 모양은 Example.com 데이터와 같아야 합니다.
다음 다이어그램은 클라이언트 응용 프로그램의 요구 사항을 보여줍니다.
이 응용 프로그램의 요구 사항을 충족하기 위해 dc=example,dc=com의 가상 DN을 사용하여 데이터 보기가 Company 22의 디렉토리에 대해 만들어집니다.
단순하게 만들기 위해 이 절에 사용된 명령은 다음 정보를 가정합니다.
디렉토리 프록시 서버 인스턴스는 기본 LDAP 포트(389)를 사용하여 로컬 호스트에서 실행됩니다.
디렉토리 프록시 서버 인스턴스는 /local/myDPS에 있습니다.
프록시 관리자 비밀번호를 포함하는 파일에 대한 경로가 LDAP_ADMIN_PWF 변수로 설정되었습니다. 디렉토리 프록시 서버 환경 변수를 설정하는 방법에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Installation Guide의 Environment Variables를 참조하십시오.
Company 22 LDAP 디렉토리는 포트 2389의 이름이 company22Host인 호스트에서 실행됩니다.
Company 22의 디렉토리에 대한 LDAP 데이터 소스를 만듭니다.
$ dpconf create-ldap-data-source company22-directory company22Host:2389
Company 22의 디렉토리에 대한 LDAP 데이터 소스 풀을 만듭니다.
$ dpconf create-ldap-data-source-pool company22-pool
Company 22의 데이터 소스를 데이터 소스 풀에 첨부합니다.
$ dpconf attach-ldap-data-source company22-pool company22-directory
첨부된 데이터 소스의 가중치를 구성합니다.
$ dpconf set-attached-ldap-data-source-prop -h company22Host -p 2389 \ company22-pool company22-directory add-weight:2 \ bind-weight:2 compare-weight:2 delete-weight:2 \ modify-dn-weight:2 modify-weight:2 search-weight:2
dc=example,dc=com의 가상 DN을 사용하여 Company 22의 디렉토리에 대한 LDAP 데이터 보기를 만듭니다.
$ dpconf create-ldap-data-view company22-view company22-pool dc=example,dc=com
이 가상 DN을 Company 22의 디렉토리에 있는 실제 DN에 매핑하도록 디렉토리 프록시 서버에 지시합니다.
$ dpconf set-ldap-data-view-prop company22-view \ dn-mapping-source-base-dn:dc=company22,dc=com
클라이언트 요청을 이 데이터 보기에 전달할 수 있도록 Company 22의 디렉토리에 대한 LDAP 데이터 보기를 활성화합니다.
$ dpconf set-ldap-data-view-prop company22-view is-enabled:true
디렉토리 프록시 서버를 다시 시작하여 변경 사항을 적용합니다.
$ dpadm restart /local/myDPS
HR 부서에서는 Example.com과 새로 인수한 Company 22에 대한 HR 데이터의 집계된 보기가 필요합니다. 다음 다이어그램은 전역 HR 응용 프로그램의 요구 사항을 보여줍니다.
Company 22 데이터 보기에서 데이터가 집계되는 방법을 지정하는 필터 결합 규칙을 만듭니다.
다음 결합 규칙은 사용자 항목의 employeeNumber 속성을 기준으로 데이터를 결합해야 함을 지정합니다.
$ dpconf set-ldif-data-view-prop company22-view \ filter-join-rule:'employeeNumber=\${example-join-view.employeeNumber}'
Company 22의 데이터 보기와 Example.com의 결합 데이터 보기를 집계하는 결합 데이터 보기를 만듭니다.
$ dpconf create-join-data-view global-join-view example-join-view \ company22-view dc=example,dc=com
Example.com의 급여 부서는 급여 데이터를 SQL 데이터베이스에 저장합니다. 이 데이터베이스에는 두 개의 테이블(employee 및 salary)이 있습니다. Example.com에는 해당 데이터에 대한 액세스 권한을 필요로 하는 LDAP 클라이언트 응용 프로그램이 있습니다. 이 클라이언트 응용 프로그램의 경우 SQL 데이터의 모양이 LDAP 데이터와 같아야 합니다.
다음 다이어그램은 클라이언트 응용 프로그램의 요구 사항을 보여줍니다.
이 응용 프로그램의 요구 사항을 충족하기 위해 SQL 테이블의 열을 LDAP 속성에 매핑하는 JDBC 데이터 보기가 만들어집니다.
단순하게 만들기 위해 이 절에 사용된 명령은 다음 정보를 가정합니다.
디렉토리 프록시 서버 인스턴스는 기본 LDAP 포트(389)를 사용하여 로컬 호스트에서 실행됩니다.
디렉토리 프록시 서버 인스턴스는 /local/myDPS에 있습니다.
프록시 관리자 비밀번호를 포함하는 파일에 대한 경로가 LDAP_ADMIN_PWF 변수로 설정되었습니다. 디렉토리 프록시 서버 환경 변수를 설정하는 방법에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Installation Guide의 Environment Variables를 참조하십시오.
SQL 데이터베이스가 가동되어 실행 중입니다.
JAVA_HOME 변수가 올바른 Java 경로로 설정되었습니다.
SQL 데이터베이스의 비밀번호는 myPasswordFile 파일에 저장된 myPassword입니다.
급여 데이터베이스에 대한 JDBC 데이터 소스를 만듭니다.
$ dpconf create-jdbc-data-source -b payrollsqldb \ -B jdbc:payrollsqldb:payrollsql://localhost/ \ -J file://payrollsqldb.jar \ -S org.payrollsqldb.jdbcDriver payroll-src
SQL 데이터베이스의 등록 정보를 사용하여 JDBC 데이터 소스를 구성합니다.
$ dpconf set-jdbc-data-source-prop payroll-src \ db-user:proxy db-pwd-file:password-file-location/myPasswordFile
JDBC 데이터 소스를 활성화합니다.
$ dpconf set-jdbc-data-source-prop payroll-src is-enabled:true
급여 데이터베이스에 대한 JDBC 데이터 소스 풀을 만듭니다.
$ dpconf create-jdbc-data-source-pool payroll-pool
급여 데이터 소스를 데이터 소스 풀에 첨부합니다.
$ dpconf attach-jdbc-data-source payroll-pool payroll-src
o=payroll의 가상 DN을 사용하여 급여 데이터베이스에 대한 JDBC 데이터 보기를 만듭니다.
$ dpconf create-jdbc-data-view payroll-view payroll-pool o=payroll
SQL 데이터베이스의 각 테이블에 대한 JDBC 테이블을 만듭니다.
$ dpconf create-jdbc-table jdbc-employee employee $ dpconf create-jdbc-table jdbc-salary salary
SQL 테이블의 각 열에 대한 JDBC 속성을 추가합니다.
$ dpconf add-jdbc-attr jdbc-employee eid employee_id $ dpconf add-jdbc-attr jdbc-employee first firstname $ dpconf add-jdbc-attr jdbc-employee last lastname $ dpconf add-jdbc-attr jdbc-employee description description $ dpconf add-jdbc-attr jdbc-employee spouse spousename $ dpconf add-jdbc-attr jdbc-salary salary salary $ dpconf add-jdbc-attr jdbc-salary social ssn
JDBC 데이터 보기를 통해 보기 가능한 속성과 쓰기 가능한 속성을 지정합니다.
$ dpconf set-jdbc-data-view-prop payroll-view \ viewable-attr:eid \ viewable-attr:first \ viewable-attr:last \ viewable-attr:desc \ viewable-attr:spouse \ viewable-attr:salary \ viewable-attr:social $ dpconf set-jdbc-data-view-prop payroll-view \ writable-attr:eid \ writable-attr:first \ writable-attr:last \ writable-attr:description \ writable-attr:spouse \ writable-attr:salary \ writable-attr:social
LDAP 객체 클래스에 매핑되는 JDBC 객체 클래스를 만듭니다.
다음 명령은 LDAP person 객체 클래스에 매핑되는 객체 클래스를 만듭니다. 객체 클래스는 직원 테이블을 기본 테이블로 사용하고 급여 테이블을 보조 테이블로 사용해야 함을 지정합니다. eid 속성을 사용하여 DN을 구성해야 합니다.
$ dpcfg create-jdbc-object-class payroll-view \ person jdbc-employee jdbc-salary eid
보조 테이블의 데이터가 기본 테이블의 데이터에 연결되는 방법을 지정하는 필터 결합 규칙을 보조 테이블에서 만듭니다.
다음 결합 규칙은 employee_id 속성을 기준으로 데이터를 결합해야 함을 지정합니다.
$ dpconf set-jdbc-table-prop jdbc-salary \ filter-join-rule:'employee_id=\${employee.employee_id}'
JDBC 객체 클래스에서 수퍼 클래스를 만듭니다.
$ set-jdbc-object-class-prop payroll-view person super-class:extensibleObject
LDAP 디렉토리에 대한 액세스 제어는 디렉토리 자체에 ACI를 정의하여 처리됩니다. 가상 데이터 보기를 통해 데이터 소스에 액세스할 경우 이러한 데이터 보기를 통해 표시되는 데이터에만 적용하도록 ACI를 정의해야 합니다.
디렉토리 프록시 서버를 통한 모든 액세스는 연결 처리기에서 제어됩니다. 연결 처리기에 대한 자세한 내용은 25 장, 클라이언트와 디렉토리 프록시 서버 간의 연결 을 참조하십시오.
ACI를 추가합니다.
$ ldapadd -v -D "cn=proxy manager" -w password -p 389 dn: cn=ldifonly-acis,cn=virtual access controls objectclass: top objectclass: aciSource cn: ldifonly-acis dpsaci: (targetattr="*")(version 3.0; acl "anonymous_access"; allow(all) \ (userdn="ldap:///anyone");)
연결 처리기에서 가상 ACI를 가리킵니다.
$ dpconf set-connection-handler-prop anonymous aci-source:ldifonly-acis
연결 처리기를 활성화합니다.
$ dpconf set-connection-handler-prop anonymous is-enabled:true
이 장에서는 디렉토리 프록시 서버와 백엔드 LDAP 서버 간에 연결을 구성하는 방법에 대해 설명합니다. 이 장은 다음 내용으로 구성되어 있습니다.
LDAP 데이터 소스를 만든 경우 LDAP 데이터 소스에 열린 기본 연결 수는 6개입니다(읽기, 바인드 및 쓰기 작업에 각각 2개씩). 기본 연결을 확인하려면 다음 명령을 입력합니다.
dpconf get-ldap-data-source-prop src-name num-read-init num-write-init num-bind-init num-bind-init : 2 num-read-init : 2 num-write-init : 2 |
연결 수는 트래픽이 증가하면 자동으로 늘어납니다.
디렉토리 프록시 서버와 백엔드 LDAP 서버 간에 연결을 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
이 절차에서는 바인드 작업을 위한 연결 수를 구성합니다. 읽기 또는 쓰기 작업을 위한 연결 수를 구성하려면 동일한 절차를 수행하되, bind를 read 또는 write로 바꿉니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
바인드 작업을 위해 디렉토리 프록시 서버와 백엔드 LDAP 서버 간에 초기 연결 수를 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ num-bind-init:new-value |
바인드 작업을 위한 연결 증분을 구성합니다.
증분은 현재 연결 수보다 많은 연결이 요청될 때마다 추가되는 연결 수입니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ num-bind-incr:new-value |
바인드 작업을 위한 최대 연결 수를 구성합니다.
이 최대 연결 수에 도달하면 더 이상 연결이 추가되지 않습니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ num-bind-limit:new-value |
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
디렉토리 프록시 서버에서 데이터 소스에 연결을 시도할 수 있는 최대 시간을 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ connect-timeout:new-value |
예를 들어 연결 시간 초과를 10밀리초로 구성합니다.
$ dpconf set-ldap-data-source-prop -h host1 -p 1389 data-source-name connect-timeout:10 |
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
연결 풀에 설정된 연결을 사용할 수 있을 때까지 디렉토리 프록시 서버가 대기할 수 있는 최대 시간을 구성합니다.
$ dpconf set-server-prop -h host -p port data-source-name \ connection-pool-wait-timeout:value |
예를 들어 대기 시간 초과를 20초로 구성합니다.
$ dpconf set-ldap-data-source-prop -h host1 -p 1389 data-source-name \ connection-pool-wait-timeout:20000 |
다음 절차에서는 디렉토리 프록시 서버와 백엔드 LDAP 서버 간에 SSL을 구성하는 방법에 대해 설명합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
디렉토리 프록시 서버와 백엔드 LDAP 서버 간에 보안 포트를 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ ldaps-port:port-number |
SSL이 디렉토리 프록시 서버와 백엔드 LDAP 서버 간의 연결에 사용되는 시점을 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name ssl-policy:value |
value가 always인 경우 SSL이 항상 연결에 사용됩니다.
value가 client인 경우 클라이언트가 SSL을 사용하는 중이면 SSL이 사용됩니다.
연결에서 SSL을 사용하고 있지 않으면 startTLS 명령을 사용하여 연결 수준을 SSL로 올릴 수 있습니다.
디렉토리 프록시 서버에 대한 SSL 암호 및 SSL 프로토콜 선택에 설명된 것처럼 SSL에 대한 프로토콜 및 암호를 선택합니다.
백엔드 LDAP 서버의 SSL 서버 인증서를 확인하도록 디렉토리 프록시 서버를 구성합니다.
자세한 내용은 백엔드 디렉토리 서버의 인증서를 디렉토리 프록시 서버의 인증서 데이터베이스에 추가하는 방법을 참조하십시오.
백엔드 LDAP 서버가 디렉토리 프록시 서버에서 인증서를 요청할 경우 SSL 클라이언트 인증서를 보내도록 디렉토리 프록시 서버를 구성합니다.
자세한 내용은 인증서를 백엔드 LDAP 서버로 내보내기를 참조하십시오.
디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.
디렉토리 프록시 서버에 사용될 수 있는 암호 및 프로토콜은 사용 중인 JVMTM(JavaTM Virtual Machine)에 따라 다릅니다. 기본적으로 디렉토리 프록시 서버는 JVM 시스템에 대해 활성화되는 기본 암호 및 프로토콜을 사용합니다.
이 절차를 사용하여 지원되는 암호 및 프로토콜과 활성화된 암호 및 프로토콜을 검색합니다. 암호 또는 프로토콜이 지원되는 경우 이를 활성화하거나 비활성화할 수 있습니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
지원되는 암호 및 프로토콜 목록을 봅니다.
$ dpconf get-server-prop -h host -p port supported-ssl-cipher-suites \ supported-ssl-protocols |
활성화된 암호 및 프로토콜 목록을 봅니다.
$ dpconf get-server-prop -h host -p port enabled-ssl-cipher-suites \ enabled-ssl-protocols |
지원되는 암호 또는 프로토콜을 하나 이상 활성화합니다.
지원되는 암호를 하나 이상 활성화합니다.
$ dpconf set-server-prop -h host -p port \ enabled-ssl-cipher-suites:supported-ssl-cipher-suite \ [enabled-ssl-cipher-suites:supported-ssl-cipher-suite ...] |
지원되는 기존 암호 목록에 암호를 추가하려면 이 명령을 사용합니다.
$ dpconf set-server-prop -h host -p port \ enabled-ssl-cipher-suites+:supported-ssl-cipher-suite |
지원되는 프로토콜을 하나 이상 활성화합니다.
$ dpconf set-server-prop -h host -p port \ enabled-ssl-cipher-protocols:supported-ssl-cipher-protocol \ [enabled-ssl-cipher-protocols:supported-ssl-cipher-protocol ...] |
지원되는 기존 프로토콜 목록에 프로토콜을 추가하려면 이 명령을 사용합니다.
$ dpconf set-server-prop -h host -p port \ enabled-ssl-cipher-protocols+:supported-ssl-cipher-protocol |
(옵션) 지원되는 암호 또는 프로토콜을 비활성화합니다.
$ dpconf set-server-prop -h host -p port \ enabled-ssl-cipher-protocols-:supported-ssl-cipher-protocol |
이 절에는 디렉토리 프록시 서버에서 백엔드 LDAP 서버에 요청을 전달하는 데 사용할 수 있는 다양한 방법에 대한 정보가 들어 있습니다.
디렉토리 프록시 서버의 클라이언트 자격 증명을 위한 바인드 재생에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Directory Proxy Server Configured for BIND Replay를 참조하십시오. 다음 절차에서는 바인드 재생을 사용하여 디렉토리 프록시 서버에서 백엔드 LDAP 서버에 요청을 전달하는 방법에 대해 설명합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
클라이언트에서 제공된 자격 증명을 사용하여 백엔드 LDAP 서버에 대해 인증하도록 데이터 소스 클라이언트 자격 증명을 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ client-cred-mode:use-client-identity |
디렉토리 프록시 서버의 프록시 인증에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Directory Proxy Server Configured for Proxy Authorization을 참조하십시오.
이 절은 프록시 인증 및 프록시 인증 제어를 사용하여 요청을 전달하는 절차로 구성되어 있습니다.
버전 1 또는 버전 2의 프록시 인증 제어가 필요하도록 데이터 소스를 구성합니다.
예를 들어 버전 1의 프록시 인증 제어가 필요하도록 데이터 소스를 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ proxied-auth-use-v1:true |
또는 버전 2의 프록시 인증 제어가 필요하도록 데이터 소스를 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ proxied-auth-use-v1:false |
프록시 인증을 사용하여 백엔드 LDAP 서버에 대해 인증하도록 데이터 소스를 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ client-cred-mode:use-proxy-auth |
쓰기 작업에만 프록시 인증을 사용하여 백엔드 LDAP 서버에 대해 인증하도록 데이터 소스를 구성하려면 다음 명령을 실행합니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ client-cred-mode:use-proxy-auth-for-write |
쓰기 작업만 프록시 인증 제어를 사용하여 수행할 경우 읽기 요청에서는 클라이언트 아이디가 LDAP 서버에 전달되지 않습니다. 클라이언트 아이디 없이 요청을 전달하는 방법에 대한 자세한 내용은 클라이언트 아이디 없이 요청 전달을 참조하십시오.
디렉토리 프록시 서버의 바인드 자격 증명을 사용하여 데이터 소스를 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ bind-dn:DPS-bind-dn bind-pwd-file:filename |
시간 초과를 사용하여 데이터 소스를 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ proxied-auth-check-timeout:value |
디렉토리 프록시 서버는 getEffectiveRights 명령을 사용하여 프록시 인증에 대한 적절한 ACI가 클라이언트 DN에 있는지 확인합니다. 결과는 디렉토리 프록시 서버에 캐시되고 proxied-auth-check-timeout 만료 시에 갱신됩니다.
필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
버전 1이나 2 또는 두 버전 모두 프록시 인증 제어를 허용하도록 디렉토리 프록시 서버를 구성합니다.
$ dpconf set-server-prop -h host -p port allowed-ldap-controls:proxy-auth-v1 \ allowed-ldap-controls:proxy-auth-v2 |
다음 절차에서는 클라이언트 아이디를 전달하지 않고 디렉토리 프록시 서버에서 백엔드 LDAP 서버에 요청을 전달하는 방법에 대해 설명합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
디렉토리 프록시 서버의 자격 증명을 사용하여 백엔드 LDAP 서버에 대해 인증하도록 데이터 소스를 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ client-cred-mode:use-specific-identity |
디렉토리 프록시 서버의 바인드 자격 증명을 사용하여 데이터 소스를 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port data-source-name \ bind-dn:bind-dn-of-DPS bind-pwd-file:filename |
필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.
이 절은 요청을 대체 사용자로 전달하는 방법에 대한 정보로 구성되어 있습니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
대체 사용자로 전달할 작업을 활성화합니다.
$ dpconf set-server-prop -h host -p port enable-user-mapping:true |
원격 매핑을 위한 아이디를 포함하는 속성의 이름을 지정합니다.
$ dpconf set-server-prop -h host -p port \ remote-user-mapping-bind-dn-attr:attribute-name |
클라이언트 아이디를 원격으로 매핑하도록 디렉토리 프록시 서버를 활성화합니다.
$ dpconf set-server-prop -h host -p port enable-remote-user-mapping:true |
기본 매핑을 구성합니다.
$ dpconf set-server-prop -h host -p port \ user-mapping-default-bind-dn:default-mapping-bind-dn \ user-mapping-default-bind-pwd-file:filename |
매핑된 아이디를 원격 LDAP 서버에서 찾을 수 없는 경우 클라이언트 아이디는 기본 아이디에 매핑됩니다.
원격 LDAP 서버의 클라이언트에 대한 항목에서 사용자 매핑을 구성합니다.
디렉토리 서버에서 사용자 매핑을 구성하는 방법에 대한 자세한 내용은 프록시 인증을 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
대체 사용자로 전달할 작업을 활성화합니다.
$ dpconf set-server-prop -h host -p port enable-user-mapping:true |
디렉토리 프록시 서버가 클라이언트 아이디를 원격으로 매핑하도록 구성되지 않았는지 확인합니다.
$ dpconf set-server-prop -h host -p port enable-remote-user-mapping:false |
기본 매핑을 구성합니다.
$ dpconf set-server-prop -h host -p port \ user-mapping-default-bind-dn:default-mapping-bind-dn \ user-mapping-default-bind-pwd-file:filename |
원격 LDAP 서버의 매핑이 실패할 경우 클라이언트 아이디는 이 DN에 매핑됩니다.
인증되지 않은 사용자가 작업을 수행하도록 허용할 경우 인증되지 않은 클라이언트에 대한 매핑을 구성합니다.
$ dpconf set-server-prop -h host -p port \ user-mapping-anonymous-bind-dn:anonymous-mapping-bind-dn \ user-mapping-anonymous-bind-pwd-file:filename |
인증되지 않은 사용자가 작업을 수행하도록 허용하는 방법에 대한 자세한 내용은 익명 액세스를 구성하는 방법을 참조하십시오.
클라이언트의 아이디를 구성합니다.
$ dpconf set-user-mapping-prop -h host -p port \ user-bind-dn:client-bind-dn user-bind-pwd-file:filename |
대체 사용자의 아이디를 구성합니다.
$ dpconf set-user-mapping-prop -h host -p port \ mapped-bind-dn:alt-user-bind-dn mapped-bind-pwd-file:filename |
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
인증되지 않은 클라이언트에 대한 매핑을 구성합니다.
$ dpconf set-server-prop -h host -p port \ user-mapping-anonymous-bind-dn:anonymous-mapping-bind-dn \ user-mapping-anonymous-bind-pwd-file:filename |
익명 클라이언트에 대한 항목이 원격 LDAP 서버에 포함되어 있지 않으므로 익명 클라이언트에 대한 매핑이 디렉토리 프록시 서버에서 구성됩니다.
인증되지 않은 사용자가 작업을 수행하도록 허용하는 방법에 대한 자세한 내용은 익명 액세스를 구성하는 방법을 참조하십시오.
클라이언트와 디렉토리 프록시 서버 간의 연결, 연결 처리기의 개요와 연결 처리기에 사용되는 기준 및 정책에 대한 설명은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 20 장, Connections Between Clients and Directory Proxy Server를 참조하십시오.
이 장은 다음 내용으로 구성되어 있습니다.
연결 처리기 만들기, 구성 및 삭제 방법과 데이터 보기에 대한 선호도 구성 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
연결 처리기를 만듭니다.
$ dpconf create-connection-handler -h host -p port connection-handler-name |
(옵션) 연결 처리기 목록을 봅니다.
$ dpconf list-connection-handlers -h host -p port |
연결 처리기의 등록 정보는 디렉토리 프록시 서버 인스턴스에 정의된 다른 연결 처리기의 등록 정보와 관련하여 정의해야 합니다. 모든 연결 처리기의 등록 정보를 고려하여 서로 다른 기준 집합을 지정함으로써 우선 순위가 올바르게 지정되도록 합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
연결 처리기의 키 등록 정보와 상대적 우선 순위를 확인하려면 세부 정보 표시 목록을 봅니다.
$ 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 |
연결 처리기 anonymous 및 default connection handler는 디렉토리 프록시 서버 인스턴스를 만들 때 함께 만들어집니다.
연결 처리기의 모든 등록 정보를 봅니다.
$ 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 |
연결 처리기의 우선 순위를 구성합니다.
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name priority:value |
우선 순위는 1에서 100까지의 번호 중 하나일 수 있으며, 여기서 1이 우선 순위가 가장 높습니다. 디렉토리 프록시 서버 인스턴스에 대해 연결 처리기가 우선 순위대로 평가됩니다.
(옵션) 연결 처리기의 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" |
(옵션) 이 연결 처리기에 사용하는 요청 필터링 정책의 이름을 지정합니다.
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ request-filtering-policy:policy-name |
여기서 policy-name은 기존 요청 필터링 정책의 이름입니다. 요청 필터링 정책을 만들고 구성하는 방법에 대한 자세한 내용은 요청 필터링 정책 및 검색 데이터 숨기기 규칙 만들기 및 구성을 참조하십시오.
(옵션) 이 연결 처리기에 사용하는 자원 제한 정책의 이름을 지정합니다.
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ resource-limits-policy:policy-name |
여기서 policy-name은 기존 자원 제한 정책의 이름입니다. 자원 제한 정책을 만들고 구성하는 방법에 대한 자세한 내용은 자원 제한 정책 만들기 및 구성을 참조하십시오.
단계 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 |
연결 처리기를 활성화합니다.
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name is-enabled:true |
필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
(옵션) 연결 처리기 목록을 봅니다.
$ dpconf list-connection-handlers -h host -p port |
연결 처리기를 한 개 이상 삭제합니다.
$ dpconf delete-connection-handler -h host -p port connection-handler-name [connection-handler-name ... ] |
연결이 연결 처리기에 할당될 때 해당 연결의 요청이 해당 연결 처리기에 구성된 데이터 보기 목록 또는 구성된 모든 데이터 보기에 표시됩니다. 해당 연결의 연속적인 요청은 첫 번째 요청에 사용된 데이터 보기에만 표시됩니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 보기에 대한 선호도를 활성화합니다.
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ enable-data-view-affinity:true |
(옵션) 연결 처리기가 요청을 데이터 보기의 사용자 정의 목록에 전달하도록 구성합니다.
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name data-view-routing-policy:custom |
(옵션) 데이터 보기 목록을 구성합니다.
$ 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.2 Reference의 Request Filtering Policies for Connection Handlers를 참조하십시오. 검색 데이터 숨기기 규칙에 대한 개요는 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Search Data Hiding Rules in the Request Filtering Policy를 참조하십시오.
요청 필터링 정책 및 검색 데이터 숨기기 규칙을 만들고 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
요청 필터링 정책을 만듭니다.
$ dpconf create-request-filtering-policy policy-name |
요청 필터링 정책을 연결 처리기에 연결합니다.
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ request-filtering-policy:policy-name |
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
요청 필터링 정책의 등록 정보를 봅니다.
$ 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 |
단계 1에 나열된 등록 정보를 하나 이상 설정하여 요청 필터링 정책을 구성합니다.
$ dpconf set-request-filtering-policy-prop -h host -p port policy-name \ property:value [property:value ...] |
단계 1에 나열된 등록 정보를 설정하여 다음과 같은 요청 필터링 정책의 기능을 구성합니다.
클라이언트가 수행할 수 있는 작업 유형
클라이언트에게 표시되거나 표시되지 않는 하위 트리
검색 작업 범위
검색 필터 유형
검색 및 비교 작업에서 비교하거나 비교할 수 없는 속성 유형
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
요청 필터링 정책에 대한 검색 데이터 숨기기 규칙을 하나 이상 만듭니다.
$ dpconf create-search-data-hiding-rule -h host -p port policy-name rule-name \ [rule-name ...] |
검색 데이터 숨기기 규칙의 등록 정보를 봅니다.
$ 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 : - |
단계 2에 나열된 등록 정보를 하나 이상 설정하여 검색 데이터 숨기기 규칙을 구성합니다.
$ dpconf set-search-data-hiding-rule-prop -h host -p port policy-name rule-name \ property:value [property:value ...] |
다음 규칙 작업 중 하나를 사용할 수 있습니다.
대상 항목이 반환되지 않습니다.
대상 항목이 반환되지만 지정된 속성은 필터링됩니다.
대상 항목이 반환되지만 지정되지 않은 속성은 필터링됩니다.
이 규칙은 다음 항목에 적용할 수 있습니다.
지정된 DN이 있는 항목
지정된 DN 패턴이 있는 항목
지정된 속성 이름 및 속성 값 쌍이 있는 항목(attrName#attrValue)
다음 구성은 inetorgperson 유형의 항목을 숨기는 검색 데이터 숨기기 규칙을 정의합니다.
$ dpconf set-search-data-hiding-rule-prop -h host1 -p port my-policy my-rule \ target-attr-value-assertions:objectclass#inetorgperson |
다음 예에는 요청 필터링 정책 및 검색 데이터 숨기기 규칙이 포함되어 있습니다. 요청 필터링 정책이 검색 데이터 숨기기 규칙과 결합되면 데이터에 대한 액세스가 다음과 같이 제한됩니다.
추가, 삭제, 확장, 수정 및 이름 바꾸기와 같은 작업 유형은 허용되지 않습니다.
ou=people,dc=sun,dc=com 하위 트리만 액세스할 수 있습니다.
검색 작업으로 inetorgperson 유형 이외의 항목이 반환됩니다.
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 |
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.2 Reference의 Resource Limits Policies for Connection Handlers를 참조하십시오. 자원 제한 정책을 만들고 구성하는 방법과 검색 제한을 사용자 정의하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
자원 제한 정책을 만듭니다.
$ dpconf create-resource-limits-policy -h host -p port policy-name |
자원 제한 정책의 등록 정보를 수정하는 방법에 대한 자세한 내용은 자원 제한 정책을 구성하는 방법을 참조하십시오.
자원 제한 정책을 연결 처리기에 연결합니다.
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ resource-limits-policy:policy-name |
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
자원 제한 정책의 등록 정보를 봅니다.
$ 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 |
단계 1에 나열된 등록 정보를 하나 이상 설정하여 자원 제한 정책을 구성합니다.
$ dpconf set-resource-limits-policy-prop -h host -p port policy-name \ property:value [property:value ...] |
검색 기준 및 검색 범위에 따라 사용자 정의된 제한을 검색 작업에 정의할 수 있습니다. 검색 작업의 대상 DN 및 범위가 지정된 기준과 일치하면 최대 검색 결과 크기가 제한됩니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
사용자 정의 검색 제한을 하나 이상 만듭니다.
$ dpconf create-custom-search-size-limit -h host -p port policy-name \ custom-search-limit-name [custom-search-limit-name ...] |
사용자 정의 검색 제한의 기준을 설정합니다.
$ 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 |
검색이 단계 2의 기준 중 하나를 충족하면 반환되는 결과 수에 대한 제한을 설정합니다.
$ dpconf set-custom-search-size-limit-prop -h host -p port policy-name \ custom-search-limit-name search-size-limit:value |
사용자 정의 검색 제한의 등록 정보를 봅니다.
$ 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.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" |
LDAP 데이터 소스 만들기 및 구성에 설명된 것처럼 각 백엔드 LDAP 서버에 데이터 소스를 만들고 구성합니다.
예를 들면 다음과 같습니다.
$ dpconf create-ldap-data-source -h host1 -p 1389 myDataSource host2:2389 |
LDAP 데이터 소스 풀 만들기 및 구성에 설명된 것처럼 데이터 소스 풀을 만들고 구성합니다.
예를 들면 다음과 같습니다.
$ dpconf create-ldap-data-source-pool -h host1 -p 1389 myDataSourcePool |
데이터 소스 풀에 LDAP 데이터 소스 첨부에 설명된 것처럼 모든 데이터 소스를 데이터 소스 풀에 연결합니다.
예를 들면 다음과 같습니다.
$ dpconf attach-ldap-data-source -h host1 -p 1389 myDataSourcePool myDataSource |
바인드 재생을 사용하여 요청 전달에 설명된 것처럼 각 데이터 소스가 BIND 재생을 사용하여 클라이언트를 인증하도록 구성합니다.
예를 들면 다음과 같습니다.
$ dpconf set-ldap-data-source-prop -h host1 -p 1389 myDataSource \ client-cred-mode:use-client-identity |
클라이언트 선호도 구성에 설명된 것처럼 클라이언트 연결과 데이터 소스 풀 간에 선호도를 구성합니다.
예를 들면 다음과 같습니다.
$ dpconf set-ldap-data-source-pool-prop -h host1 -p 1389 myDataSourcePool \ enable-client-affinity:true client-affinity-policy:read-write-affinity-after-write |
디렉토리 프록시 서버에서 클라이언트 인증에 대한 개요는 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 21 장, Directory Proxy Server Client Authentication을 참조하십시오.
이 장은 다음 내용으로 구성되어 있습니다.
디렉토리 프록시 서버에서는 클라이언트와의 통신을 위해 보안 수신기와 비보안 수신기가 제공됩니다. 디렉토리 프록시 서버의 수신기에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Directory Proxy Server Client Listeners를 참조하십시오. 이 절에서는 수신기를 구성하는 방법에 대해 설명합니다.
이 절차에서는 클라이언트와 디렉토리 프록시 서버 간에 비보안 수신기를 구성합니다. 보안 수신기를 구성하려면 동일한 절차를 수행하되 ldap를 ldaps로 바꿉니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오. DSCC에서는 성능 탭에서 이 등록 정보를 구성할 수 있습니다.
비보안 수신기의 등록 정보를 봅니다.
$ dpconf get-ldap-listener-prop -h host -p port |
비보안 수신기의 기본 등록 정보는 다음과 같습니다.
connection-idle-timeout : 1h connection-read-data-timeout : 2s connection-write-data-timeout : 1h is-enabled : true listen-address : 0.0.0.0 listen-port : port-number max-connection-queue-size : 128 max-ldap-message-size : unlimited number-of-threads : 2 use-tcp-no-delay : true |
요구 사항에 따라 단계 1에 나열된 등록 정보 중 하나 이상을 변경합니다.
$ dpconf set-ldap-listener-prop -h host -p port property:new-value |
예를 들어 host1에서 실행 중인 디렉토리 프록시 서버 인스턴스의 비보안 포트를 비활성화하려면 다음 명령을 실행합니다.
$ dpconf set-ldap-listener-prop -h host1 -p 1389 is-enabled:false |
권한이 없는 포트 번호를 사용하려면 디렉토리 프록시 서버를 루트로 실행해야 합니다.
비보안 포트 번호를 변경하려면 다음 명령을 실행합니다.
$ dpconf set-ldap-listener-prop -h host -p port listen-port:new-port-number |
필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.
특정 수신기 등록 정보를 변경한 후에는 서버를 다시 시작해야 합니다. 서버를 다시 시작해야 하는 경우 dpconf는 경고를 표시합니다. 디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.
기본적으로 디렉토리 프록시 서버는 단순 바인드 인증에 맞게 구성됩니다. 단순한 바인드 인증은 추가로 구성할 필요가 없습니다.
클라이언트와 디렉토리 프록시 서버 간 인증에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Client Authentication Overview를 참조하십시오. 인증을 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
클라이언트의 인증서 기반 인증에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Configuring Certificates in Directory Proxy Server를 참조하십시오. 이 절에서는 인증서 기반 인증을 구성하는 방법에 대해 설명합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
인증서 기반 인증은 SSL 연결을 통해서만 수행할 수 있습니다.
클라이언트가 SSL 연결을 설정할 때 클라이언트가 인증서를 제공하도록 디렉토리 프록시 서버를 구성합니다.
$ dpconf set-server-prop -h host -p port allow-cert-based-auth:require |
익명 액세스에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Anonymous Access를 참조하십시오. 익명 클라이언트의 아이디를 다른 아이디에 매핑하는 방법에 대한 자세한 내용은 대체 사용자로 요청 전달을 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
인증되지 않은 사용자가 작업을 수행하도록 허용합니다.
$ dpconf set-server-prop -h host -p port allow-unauthenticated-operations:true |
SASL 외부 바인드에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Using SASL External Bind를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
인증되지 않은 작업을 허용하지 않습니다.
$ dpconf set-server-prop -h host -p port allow-unauthenticated-operations:false |
연결을 설정할 때 클라이언트가 인증서를 제공하도록 요구합니다.
$ dpconf set-server-prop -h host -p port allow-cert-based-auth:require |
클라이언트는 DN을 포함하는 인증서를 제공합니다.
SASL 외부 바인드로 클라이언트 인증을 활성화합니다.
$ dpconf set-server-prop -h host -p port allow-sasl-external-authentication:true |
백엔드 LDAP 서버에서 클라이언트 인증서를 매핑하려면 디렉토리 프록시 서버에 사용되는 아이디를 구성합니다.
$ dpconf set-server-prop -h host -p port cert-search-bind-dn:bind-DN \ cert-search-bind-pwd-file:filename |
디렉토리 프록시 서버가 검색하는 하위 트리의 기본 DN을 구성합니다.
디렉토리 프록시 서버는 하위 트리를 검색하여 클라이언트 인증서에 매핑되는 사용자 항목을 찾습니다.
$ dpconf set-server-prop -h host -p port cert-search-base-dn:base-DN |
클라이언트 인증서의 정보를 LDAP 서버의 인증서에 매핑합니다.
인증서를 포함하는 LDAP 서버의 속성에 이름을 지정합니다.
$ dpconf set-server-prop cert-search-user-attribute:attribute |
클라이언트 인증서의 속성을 인증서가 포함된 LDAP 서버 항목의 DN에 매핑합니다.
$ dpconf set-server-prop -h host -p port \ cert-search-attr-mappings:client-side-attribute-name:server-side-attribute-name |
예를 들어 DN cn=user1,o=sun,c=us가 있는 클라이언트 인증서를 DN uid=user1,o=sun이 있는 LDAP 항목에 매핑하려면 다음 명령을 실행합니다.
$ dpconf set-server-prop -h host1 -p 1389 cert-search-attr-mappings:cn:uid \ cert-search-attr-mappings:o:o |
(옵션) SASL 외부 바인드 작업에 대한 요청을 모든 데이터 보기 또는 데이터 보기의 사용자 정의 목록에 전달합니다.
모든 데이터 보기에 요청을 전달하려면 다음 명령을 실행합니다.
$ dpconf set-server-prop -h host -p port cert-data-view-routing-policy:all-routable |
데이터 보기 목록에 요청을 전달하려면 다음 명령을 실행합니다.
$ dpconf set-server-prop -h host -p port cert-data-view-routing-policy:custom \ cert-data-view-routing-custom-list:view-name [view-name...] |
디렉토리 프록시 서버는 정보를 액세스 로그 및 오류 로그에 기록합니다. 디렉토리 서버와는 달리 디렉토리 프록시 서버에는 감사 로그가 없습니다. 디렉토리 프록시 서버 로그에 대한 설명은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 23 장, Directory Proxy Server Logging을 참조하십시오.
이 장은 다음 내용으로 구성되어 있습니다.
디렉토리 프록시 서버 로그는 로그 파일을 직접 열거나 디렉토리 서비스 제어 센터(Directory Service Control Center, DSCC)를 사용하여 볼 수 있습니다.
기본적으로 로그는 다음 디렉토리에 저장됩니다.
instance-path/logs |
다음 그림은 DSCC에서 캡처한 디렉토리 프록시 서버 오류 로그 화면을 보여줍니다.
디렉토리 프록시 서버 오류 로그 및 액세스 로그는 dpconf 명령 또는 DSCC를 사용하여 구성할 수 있습니다. DSCC를 사용하여 로그를 구성하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버 온라인 도움말을 참조하십시오. 이 절에서는 dpconf 명령을 사용하여 디렉토리 프록시 서버 로그를 구성하는 방법에 대해 설명합니다.
다음 명령을 실행하여 허용되는 값 및 기본값과 함께 구성 옵션의 전체 목록을 검색할 수 있습니다.
$ dpconf help-properties error-log
$ dpconf help-properties access-log
이 절차를 수행하면 디렉토리 프록시 서버 액세스 로그가 구성됩니다. 디렉토리 프록시 서버 오류 로그를 구성하려면 동일한 절차를 수행하되 access를 error로 바꿉니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
액세스 로그의 등록 정보를 봅니다.
$ dpconf get-access-log-prop -h host -p port |
액세스 로그의 기본 등록 정보는 다음과 같습니다.
default-log-level : info enable-log-rotation : true log-buffer-size : 9.8k log-file-name : logs/access log-file-perm : 600 log-level-client-connections : - log-level-client-disconnections : - log-level-client-operations : - log-level-connection-handlers : - log-level-data-sources : - log-level-data-sources-detailed : - log-min-size : 100M log-rotation-frequency : 1h log-rotation-policy : size log-rotation-size : 100M log-rotation-start-day : 1 log-rotation-start-time : 0000 log-search-filters : false max-age : unlimited max-log-files : 10 max-size : unlimited min-free-disk-space-size : 1M |
단계 1에 나열된 하나 이상의 등록 정보를 변경합니다.
$ dpconf set-access-log-prop -h host -p port property:value \ [property:value ...] |
예를 들어 모든 메시지 범주의 기본 로그 수준을 경고로 설정하려면 default-log-level 등록 정보 값을 warning으로 설정합니다.
$ dpconf set-access-log-prop -h host1 -p 1389 default-log-level:warning |
각 메시지 범주의 로그 수준에 상관없이 모든 로그를 비활성화하려면 default-log-level 등록 정보 값을 none으로 설정합니다.
$ dpconf set-access-log-prop -h host1 -p 1389 default-log-level:none |
특정 로그 수준을 기본 로그 수준으로 재설정하려면 해당 로그 수준 등록 정보를 inherited로 설정합니다. 예를 들어 클라이언트 연결에 대한 로그 수준을 재설정하려면 다음 명령을 실행합니다.
$ dpconf set-access-log-prop -h host1 -p 1389 log-level-client-connections:inherited |
set-access-log-prop 하위 명령으로 설정할 수 있는 등록 정보에 대한 자세한 내용을 보려면 다음을 입력합니다.
$ dpconf help-properties access-log |
기본적으로 로그 파일은 파일 크기가 100MB에 도달할 때 회전됩니다. 기본적으로 10개의 로그 파일이 유지되며, 이후에 회전 프로시저는 가장 오래된 로그 파일을 덮어쓰기 시작합니다. 이 절에서는 디렉토리 프록시 서버 로그 회전을 예약하는 방법, 로그를 수동으로 회전하는 방법 및 로그 회전을 비활성화하는 방법에 대해 설명합니다. 구성 예는 로그 회전 구성 예를 참조하십시오.
이 절차를 수행하면 디렉토리 프록시 서버 액세스 로그가 구성됩니다. 디렉토리 프록시 서버 오류 로그를 구성하려면 동일한 절차를 수행하되 access를 error로 바꿉니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
(옵션) 액세스 로그의 등록 정보를 봅니다.
$ dpconf get-access-log-prop -h host -p port |
(옵션) 액세스 로그의 등록 정보에 대해 유효한 값을 봅니다.
$ dpconf help-properties access-log
로그가 특정 크기에 도달할 때 로그를 회전하려면 다음 등록 정보를 설정합니다.
$ dpconf set-access-log-prop -h host -p port \ log-rotation-policy:size log-rotation-size:maximum file size |
최대 파일 크기의 단위가 지정되어 있지 않으면 바이트가 기본 단위로 사용됩니다. 로그 파일이 정의된 크기에 도달할 때 로그가 회전됩니다. 파일 크기는 1MB 이상, 2GB 이하여야 합니다.
크기를 기준으로 로그를 회전하는 방법에 대한 예는 로그 크기를 기준으로 로그 회전을 참조하십시오.
로그 크기에 상관없이 로그를 주기적으로 회전하려면 다음 등록 정보를 설정합니다.
$ dpconf set-access-log-prop -h host -p port \ log-rotation-frequency:interval in months, weeks, hours, or minutes \ log-rotation-policy:periodic \ log-rotation-start-day:day in week (1-7) or day in the month (1-31) \ log-rotation-start-time:time of day (hhmm) |
로그가 매월 31일에 회전하도록 구성되었으나 해당 월의 일수가 31일 미만이면 로그는 다음 달 1일에 회전됩니다.
로그를 주기적으로 회전하는 방법에 대한 예는 시간을 기준으로 로그 회전을 참조하십시오.
파일 크기가 큰 경우에 로그를 주기적으로 회전하려면 log-rotation-frequency 및 log-min-size 등록 정보를 설정합니다.
$ dpconf set-access-log-prop -h host -p port \ log-rotation-frequency:interval in months, weeks, hours, or minutes \ log-rotation-policy:periodic log-min-size:minimum file size log-rotation-start-day:day in week (1-7) or day in the month (1-31) \ log-rotation-start-time:time of day (hhmm) |
log-min-size 등록 정보는 로그의 최소 크기를 나타냅니다. 로그 파일이 지정된 크기보다 큰 경우에만 예약된 시간에 회전이 수행됩니다.
로그가 매월 31일에 회전하도록 구성되었으나 해당 월의 일수가 31일 미만이면 로그는 다음 달 1일에 회전됩니다.
파일 크기가 큰 경우에 로그를 주기적으로 회전하는 방법에 대한 예는 시간 및 로그 크기를 기준으로 로그 회전을 참조하십시오.
이 절차를 수행하면 디렉토리 프록시 서버 액세스 로그가 회전됩니다. 디렉토리 프록시 서버 오류 로그를 회전하려면 동일한 절차를 수행하되 access를 error로 바꿉니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
이 절차를 수행하면 디렉토리 프록시 서버 액세스 로그 회전이 비활성화됩니다. 디렉토리 프록시 서버 오류 로그 회전을 비활성화하려면 동일한 절차를 수행하되 access를 error로 바꿉니다.
로그 크기, 시간 또는 두 가지 모두를 기준으로 로그 회전을 구성하는 방법에 대한 예는 다음과 같습니다.
이 절에 나와 있는 예는 로그 크기만을 기준으로 로그 회전을 구성하는 방법을 보여줍니다. 다음과 같이 구성하면 로그가 마지막으로 회전된 시간에 상관없이 로그 크기가 10MB에 도달할 때 로그를 회전합니다.
$ dpconf set-access-log-prop -h host1 -p 1389 log-rotation-policy:size \ log-rotation-size:10M |
이 절에 나와 있는 예는 로그 크기에 상관없이 마지막 회전 시간을 기준으로 로그 회전을 구성하는 방법을 보여줍니다.
다음과 같이 구성하면 로그 파일 크기에 상관없이 금일 3시에 로그를 회전한 다음 8시간마다 회전합니다.
$ dpconf set-access-log-prop -h host1 -p 1389 log-rotation-frequency:8h \ log-rotation-policy:periodic log-rotation-start-time:0300 |
다음과 같이 구성하면 로그 파일 크기에 상관없이 매일 3시, 13시 및 23시에 로그를 회전합니다. log-rotation-start-time 매개 변수가 log-rotation-frequency 매개 변수보다 우선적으로 적용되기 때문에 로그가 23시에 회전된 다음 4시간 후에 주기적으로 회전됩니다. 또한 23시에 회전되지 않고 10시간 후에 회전됩니다.
$ dpconf set-access-log-prop -h host1 -p 1389 log-rotation-frequency:10h \ log-rotation-policy:periodic log-rotation-start-time:0300 |
다음과 같이 구성하면 로그 파일 크기에 상관없이 매주 월요일 정오에 로그를 회전합니다.
$ dpconf set-access-log-prop -h host1 -p 1389 log-rotation-frequency:1w \ log-rotation-policy:periodic log-rotation-start-day:2 log-rotation-start-time:1200 |
다음과 같이 구성하면 로그 파일 크기에 상관없이 월요일 정오에 로그를 회전한 다음 3일마다 회전합니다.
$ dpconf set-access-log-prop -h host1 -p 1389 log-rotation-frequency:3d \ log-rotation-policy:periodic log-rotation-start-day:2 log-rotation-start-time:1200 |
로그가 월요일, 목요일, 일요일, 수요일 등의 순서로 회전됩니다. log-rotation-start-day 매개 변수는 첫 번째 주에만 적용됩니다. 따라서, 로그는 두 번째 주 월요일에는 회전되지 않습니다.
다음과 같이 구성하면 로그 크기에 상관없이 매월 22일 정오에 로그를 회전합니다.
$ dpconf set-access-log-prop -h host1 -p 1389 log-rotation-frequency:1m \ log-rotation-policy:periodic log-rotation-start-day:22 \ log-rotation-start-time:1200 |
log-rotation-start-day가 31로 설정되어 있고 해당 월의 일수가 30일이면 로그는 다음 달 1일에 회전됩니다. log-rotation-start-day가 31로 설정되어 있고 해당 월의 일수가 28일(2월)이면 로그는 다음 달 3일에 회전됩니다.
다음 예는 파일 크기가 큰 경우에 지정된 간격으로 로그 회전을 구성하는 방법을 보여줍니다.
다음과 같이 구성하면 로그 파일 크기가 1MB를 초과하는 경우 매일 3시, 11시 및 19시에 로그를 회전합니다. 로그 파일 크기가 1MB를 초과하지 않으면 로그 파일은 회전되지 않습니다.
$ dpconf set-access-log-prop -h host1 -p 1389 log-rotation-frequency:8h \ log-rotation-policy:periodic log-min-size:1M log-rotation-start-time:0300 |
디렉토리 프록시 서버에서 시간, 크기 또는 여유 디스크 공간(기본값)을 기준으로 로그 삭제를 구성할 수 있습니다. 이러한 삭제 정책에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Log File Deletion을 참조하십시오.
다음 절차를 수행하면 액세스 로그에 대한 로그 삭제가 구성됩니다. 오류 로그에 대한 로그 삭제를 구성하려면 동일한 명령을 사용하되 access를 error로 바꿉니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
로그 파일의 최대 사용 기간을 지정합니다.
$ dpconf set-access-log-prop -h host -p port max-age:duration |
여기서 duration은 일(d), 주(w) 또는 월(M) 단위로 구성됩니다. 예를 들어 5일 이상 지난 백업 로그 파일을 삭제하려면 다음 명령을 사용합니다.
$ dpconf set-access-log-prop -h host1 -p 1389 max-age:5d |
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
로그 파일의 최대 크기를 지정합니다.
$ dpconf set-access-log-prop -h host -p port max-size:memory-size |
예를 들어 1MB를 초과하는 백업 로그 파일을 삭제하려면 다음 명령을 사용합니다.
$ dpconf set-access-log-prop -h host1 -p 1389 max-size:1M |
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
사용 가능한 최소 디스크 공간을 지정합니다.
$ dpconf set-access-log-prop -h host -p port min-free-disk-space-size:memory-size |
예를 들어 사용 가능한 디스크 공간이 2MB 미만일 때 백업 로그 파일을 삭제하려면 다음 명령을 사용합니다.
$ dpconf set-access-log-prop -h host1 -p 1389 min-free-disk-space-size:2M |
이 절에서는 syslogd 데몬에 대한 경고 메시지 로깅을 구성하는 방법과 운영 체제에서 syslog 경고를 허용하도록 구성하는 방법에 대해 설명합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
(옵션) 시스템 로그 경고의 현재 등록 정보 값을 봅니다.
$ dpconf get-server-prop -h host -p port syslog-alerts-enabled \ syslog-alerts-facility syslog-alerts-host |
시스템 로그 경고의 기본 등록 정보는 다음과 같습니다.
syslog-alerts-enabled : false syslog-alerts-facility : USER syslog-alerts-host : localhost |
syslog-alerts-host 등록 정보는 메시지를 보낼 syslogd 데몬의 호스트 이름을 정의합니다. syslog-alerts-facility 등록 정보는 읽기 전용이며 메시지를 시스템 로그의 user 범주로 보냅니다.
경고 메시지를 syslogd 데몬에 기록하도록 활성화합니다.
$ dpconf set-server-prop -h host -p port syslog-alerts-enabled:true |
(옵션) 경고 메시지를 다른 호스트의 syslogd 데몬으로 보냅니다.
$ dpconf set-server-prop -h host -p port syslog-alerts-host:hostname |
이 절에서는 SolarisTM, Linux 및 HP-UX 운영 체제에서 syslog 경고를 허용하도록 구성하는 방법에 대해 설명합니다.
syslog 구성 파일에 적절한 기능을 추가합니다.
예를 들어 USER 기능을 사용하여 모든 경고를 저장하려면 /etc/syslog.conf에 다음 행을 추가합니다.
user.info /var/adm/info
여기서 /var/adm/info는 메시지를 저장할 로컬 디렉토리 예입니다. 작업을 계속하기 전에 /var/adm/info가 있는지 확인합니다.
syslogd 데몬을 다시 시작합니다.
메시지가 syslog에 기록되는지 확인합니다.
$ logger -p user.info "Test message" $ cat /var/adm/info Jun 19 17:18:38 host user: [ID 12345 user.info] Test message
syslog 구성 파일에 적절한 기능을 추가합니다.
예를 들어 USER 기능을 사용하여 모든 경고를 저장하려면 /etc/syslog.conf에 다음 행을 추가합니다.
user.info /var/adm/info
여기서 /var/adm/info는 메시지를 저장할 로컬 디렉토리 예입니다. 작업을 계속하기 전에 /var/adm/info가 있는지 확인합니다.
syslogd 데몬이 -r 옵션과 함께 실행되도록 구성합니다.
이 옵션을 사용하면 syslogd가 네트워크 연결을 허용합니다. 기본적으로 -r 옵션은 설정되어 있지 않습니다.
-r 옵션을 설정하려면 /etc/sysconfig/syslog에 다음 행을 추가합니다.
SYSLOGD_OPTIONS="-m 0 -r"
/etc/sysconfig/syslog가 없으면 동일한 행을 /etc/init.d/syslog에 추가합니다.
syslogd 데몬을 다시 시작합니다.
$ /etc/init.d/syslog stop | start
메시지가 syslog에 기록되는지 확인합니다.
$ logger -p user.info "Test message" $ cat /var/adm/info Jun 19 17:18:38 host user: [ID 12345 user.info] Test message
syslog 구성 파일에 적절한 기능을 추가합니다.
예를 들어 USER 기능을 사용하여 모든 경고를 저장하려면 /etc/syslog.conf에 다음 행을 추가합니다.
user.info /var/adm/info
여기서 /var/adm/info는 메시지를 저장할 로컬 디렉토리 예입니다. 작업을 계속하기 전에 /var/adm/info가 있는지 확인합니다.
syslogd 데몬을 다시 시작합니다.
$ /sbin/init.d/syslogd stop | start
메시지가 syslog에 기록되는지 확인합니다.
$ logger -p user.info "Test message" $ cat /var/adm/info Jun 19 17:18:38 host user: [ID 12345 user.info] Test message
클라이언트 요청 경로를 추적하려면 디렉토리 프록시 서버 액세스 로그 및 디렉토리 서버 액세스 로그에 요청이 기록되는 방식을 알고 있어야 합니다. 이 절의 내용을 이해하려면 먼저 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Tracking Client Requests Through Directory Proxy Server and Directory Server Access Logs를 읽으십시오.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
디렉토리 서버 액세스 로그에서 추적할 작업의 연결 번호를 찾습니다.
예를 들어 액세스 로그에서 다음 행은 연결 번호가 conn=12839인 op=2 작업을 나타냅니다.
[20/Jul/2006:18:01:49 -0500] conn=12839 op=2 msgId=4 - SRCH base="dc=example,dc=com" scope=2 filter="(objectClass=organizationalunit)" attrs=ALL |
이 연결에 대한 디렉토리 프록시 서버 연결 정보를 얻습니다.
이 정보를 얻으려면 디렉토리 서버 액세스 로그를 검색하여 연결 번호가 일치하는 작업을 모두 찾습니다. 예를 들어 UNIX 시스템에서 다음과 같이 grep 명령을 실행하여 디렉토리 서버 액세스 로그에서 연결 conn=12839와 일치하는 행을 모두 찾습니다.
$ grep conn=12839 access |
초기 LDAP 연결을 보여주는 행이 찾고 있는 정보이며 이는 다음과 유사합니다.
[19/Jul/2006:16:32:51 -0500] conn=12839 op=-1 msgId=-1 - fd=27 slot=27 LDAP connection from 129.153.160.175:57153 to 129.153.160.175 |
위의 행은 129.153.160.175:57153에서 디렉토리 서버로의 LDAP 연결이 있음을 나타냅니다. 포트 번호(57153)는 디렉토리 프록시 서버 액세스 로그로 다시 연결하는 데 필요한 정보입니다. 포트 번호를 사용하면 디렉토리 프록시 서버 로그에서 일치하는 연결을 찾을 수 있으며 이 연결에서 클라이언트 정보를 찾아볼 수 있습니다.
연결이 처음 구성된 이후에 로그 파일이 회전된 적이 있다면 현재 액세스 로그 파일과 아카이브된 로그 파일을 모두 검색해야 합니다.
디렉토리 프록시 서버 액세스 로그에서 일치하는 연결을 찾습니다.
이 정보를 얻으려면 디렉토리 프록시 서버 액세스 로그를 검색하여 포트 번호가 일치하는 작업을 모두 찾습니다.
로그 파일에서 포트 번호가 동일한 항목을 여러 개 찾을 수 있습니다. 올바른 항목을 찾으려면 디렉토리 서버 로그 항목의 타임스탬프를 검색에 포함시킵니다.
예를 들어 UNIX 시스템의 경우 다음과 같이 grep 명령을 실행하여 디렉토리 서버 로그에서 찾은 타임스탬프 및 포트 번호와 일치하는 연결 항목을 찾습니다.
$ grep 19/Jul/2006:16:32 access | grep 57153 |
초 값은 서버 시간에 약간의 차이를 두기 위해 타임스탬프에서 제외됩니다.
디렉토리 프록시 서버 로그에서 일치하는 행은 다음과 유사합니다.
[19/Jul/2006:16:32:51 -0500] - SERVER_OP - INFO - Created BIND LDAP connection s_conn=sunds-d1m1-9389:34 client=0.0.0.0:57153 server=idm160.central.sun.com:9389 main |
이 행은 디렉토리 프록시 서버가 s_conn=sunds-d1m1-9389:34에 대한 BIND 연결을 만들었음을 나타냅니다. 디렉토리 프록시 서버는 TCP 포트 57153에서 자신을 client=0.0.0.0 클라이언트로 자체 식별합니다.
로그의 이 행에서 얻을 수 있는 중요 정보는 서버 아이디 및 포트 번호(s_conn=sunds-d1m1-9389:34)입니다.
이전 단계에서 식별된 서버 아이디 및 포트 번호와 일치하는 작업을 모두 찾습니다.
이 정보를 얻으려면 디렉토리 프록시 서버 액세스 로그를 검색하여 서버 아이디 및 포트 번호가 일치하는 작업을 모두 찾습니다.
예를 들어 UNIX 시스템에서 다음과 같이 grep 명령을 실행하여 이전 단계에서 찾은 서버 아이디와 일치하는 작업을 찾습니다.
$ grep s_conn=sunds-d1m1-9389:34 access |
이 경우, 이러한 작업은 며칠 동안 지속되었을 수 있기 때문에 타임스탬프 검색은 유용하지 않습니다. 그러나, 검색에서 반환된 작업이 올바른 것인지 확인해야 합니다. Create 연결 문이 여러 개인 경우 원래 검색 문과 일치하는 항목을 찾아야 합니다. 이 작업을 수행하려면 타임스탬프를 단계 1에서 찾은 타임스탬프와 일치시킵니다.
디렉토리 프록시 서버 액세스 로그에서 추출된 다음 내용은 s_conn=sunds-d1m1-9389:34에 대해 반환된 모든 작업을 보여줍니다.
[19/Jul/2006:16:32:51 -0500] - SERVER_OP - INFO - Created BIND LDAP connection s_conn=sunds-d1m1-9389:34 client=0.0.0.0:57153 server=idm160.central.sun.com:9389 main [20/Jul/2006:18:01:49 -0500] - SERVER_OP - INFO - conn=31 op=0 BIND dn="cn=directory manager" method="SIMPLE" s_msgid=3 s_conn=sunds-d1m1-9389:34 [20/Jul/2006:18:01:49 -0500] - SERVER_OP - INFO - conn=31 op=0 BIND RESPONSE err=0 msg="" s_conn=sunds-d1m1-9389:34 [20/Jul/2006:18:01:49 -0500] - SERVER_OP - INFO - conn=31 op=1 SEARCH base="dc=example,dc=com" scope=2 s_msgid=4 s_conn=sunds-d1m1-9389:34 [20/Jul/2006:18:01:49 -0500] - SERVER_OP - INFO - conn=31 op=1 SEARCH RESPONSE err=0 msg="" nentries=1 s_conn=sunds-d1m1-9389:34 |
이 정보를 통해 디렉토리 프록시 서버의 검색 작업에 해당하는 연결 아이디가 31(conn=31)임을 알 수 있습니다.
이전 단계에서 찾은 연결 아이디와 일치하는 클라이언트 연결 IP 주소를 찾습니다.
이 정보를 얻으려면 디렉토리 프록시 서버 액세스 로그를 검색하여 연결 아이디 및 타임스탬프가 일치하는 작업을 모두 찾습니다. 사용할 타임스탬프는 단계 1의 원래 검색 문에 있는 타임스탬프입니다.
예를 들어 UNIX 시스템에서 다음과 같이 grep 명령을 실행하여 클라이언트 연결 IP 주소를 찾습니다.
$ grep "20/Jul/2006:18:01" access | grep conn=31 |
찾으려는 행은 다음과 유사합니다.
[20/Jul/2006:18:01:49 -0500] - CONNECT - INFO - conn=31 client=129.150.64.156:2031 server=0.0.0.0:11389 protocol=LDAP |
이전 단계에서 찾은 IP 주소의 소유자를 확인합니다.
이 정보를 통해 디렉토리 서버에서 작업을 수행한 담당자를 정확하게 설정할 수 있습니다.
모니터링은 디렉토리 프록시 서버 및 해당 데이터 소스의 오류를 감지합니다.
디렉토리 프록시 서버의 모니터링 프레임워크와 cn=monitor 항목의 세부 레이아웃에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Monitoring Directory Proxy Server를 참조하십시오. 이 장은 다음 내용으로 구성되어 있습니다.
디렉토리 프록시 서버에 대한 모니터링된 데이터를 검색하려면 cn=monitor 항목을 사용합니다. 이 항목은 로컬 메모리에 저장된 데이터베이스에서 디렉토리 프록시 서버에 의해 관리됩니다. cn=monitor 항목에 대한 LDAP 검색을 수행하여 cn=monitor 아래에서 속성을 검색할 수 있습니다. 이 항목을 검색하려면 프록시 관리자로 바인드해야 합니다.
JVM을 사용하여 모니터링된 데이터를 검색하는 방법에 대한 자세한 내용은 JVM을 사용하여 디렉토리 프록시 서버에 대한 모니터링된 데이터 검색을 참조하십시오.
디렉토리 프록시 서버가 데이터 소스의 상태를 모니터링하는 방법에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference의 Monitoring Data Sources를 참조하십시오. 이 절에서는 데이터 소스의 모니터링을 구성하는 방법에 대해 설명합니다.
이 모니터링 유형에서 디렉토리 프록시 서버는 디렉토리 프록시 서버 및 데이터 소스 간의 트래픽에서 오류를 수신합니다. 디렉토리 프록시 서버는 오류가 감지될 경우 반응하지만 데이터 소스를 적극적으로 테스트하지 않기 때문에 이 모니터링 유형을 사후 행동 모니터링이라고 합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 소스에 대한 모니터링 모드를 reactive로 설정합니다.
$ dpconf set-ldap-data-source-prop -h host -p port datasource monitoring-mode:reactive |
디렉토리 프록시 서버에 대한 관리 경고 구성에 설명된 것처럼 오류가 감지되거나 데이터 소스가 오프라인 또는 온라인 상태가 될 경우 경고를 보내도록 구성합니다.
디렉토리 프록시 서버는 지정된 간격 동안 데이터 소스에 요청이나 응답이 없을 경우 데이터 소스에 대한 전용 연결을 만듭니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 소스에 대한 모니터링 모드를 proactive로 설정합니다.
$ dpconf set-ldap-data-source-prop -h host -p port datasource monitoring-mode:proactive |
전용 연결을 설정하기 전에 디렉토리 프록시 서버에서 데이터 소스 작업이 없는지 감지하는 최대 시간을 설정합니다.
$ dpconf set-ldap-data-source-prop -h host -p port datasource \ monitoring-inactivity-timeout:time |
기본적으로 비활성 시간 초과는 120초입니다.
디렉토리 프록시 서버에 대한 관리 경고 구성에 설명된 것처럼 데이터 소스가 오프라인 또는 온라인 상태로 감지된 경우 경고를 보내도록 구성합니다.
이 모니터링 유형에서 디렉토리 프록시 서버는 각 데이터 소스에 대한 연결에서 검색을 정기적으로 수행합니다. 이 방법으로 디렉토리 프록시 서버는 닫힌 연결을 감지하고 비활성으로 인해 연결이 끊어지지 않도록 방지합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
데이터 소스에 대한 모니터링 모드를 proactive로 설정합니다.
$ dpconf set-ldap-data-source-prop -h host -p port datasource monitoring-mode:proactive |
디렉토리 프록시 서버에서 수행되는 모니터링 검색 요청을 구성합니다.
$ dpconf set-ldap-data-source-prop -h host -p port datasource \ monitoring-bind-timeout:timeout monitoring-entry-dn:dn \ monitoring-search-filter:filter monitoring-entry-timeout:timeout |
검색 요청에서 다음 등록 정보가 사용됩니다.
데이터 소스에 대한 연결이 설정될 때까지 디렉토리 프록시 서버가 대기하는 시간. 기본적으로 이 등록 정보의 값은 5초입니다.
검색 요청에서 대상 항목의 DN. 기본적으로 이 등록 정보는 루트 DSE 항목입니다("").
검색 필터.
디렉토리 프록시 서버가 검색 응답을 위해 대기하는 시간. 기본적으로 이 등록 정보의 값은 5초입니다.
폴링 간격을 설정합니다.
$ dpconf set-ldap-data-source-prop -h host -p port datasource monitoring-interval:interval |
연결이 끊어진 경우 디렉토리 프록시 서버는 이 간격마다 연결을 폴링하여 복구를 감지합니다. 기본적으로 모니터링 간격은 30초입니다.
디렉토리 프록시 서버에 대한 관리 경고 구성에 설명된 것처럼 데이터 소스가 오프라인 또는 온라인 상태로 감지된 경우 경고를 보내도록 구성합니다.
관리 경고를 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
활성화된 경고를 봅니다.
% dpconf get-server-prop -h host -p port enabled-admin-alerts |
하나 이상의 관리 경고를 활성화합니다.
% dpconf set-server-prop -h host -p port enabled-admin-alerts:alert1 \ [enabled-admin-alerts:alert2 ...] |
예를 들어 사용 가능한 모든 경고를 활성화하려면 다음 명령을 실행합니다.
% dpconf set-server-prop -h host -p port \ enabled-admin-alerts:error-configuration-reload-failure-with-impact \ enabled-admin-alerts:error-server-shutdown-abrupt \ enabled-admin-alerts:info-configuration-reload \ enabled-admin-alerts:info-data-source-available \ enabled-admin-alerts:info-server-shutdown-clean \ enabled-admin-alerts:info-server-startup \ enabled-admin-alerts:warning-configuration-reload-failure-no-impact \ enabled-admin-alerts:warning-data-source-unavailable \ enabled-admin-alerts:warning-data-sources-inconsistent \ enabled-admin-alerts:warning-listener-unavailable |
모든 경고를 비활성화하려면 다음 명령을 실행합니다.
% dpconf set-server-prop -h host -p port enabled-admin-alerts:none |
활성화된 경고의 기존 목록에 경고를 추가하려면 이 명령을 실행합니다.
% dpconf set-server-prop -h host -p port enabled-admin-alerts+:alert-name |
활성화된 경고의 기존 목록에서 경고를 제거하려면 이 명령을 실행합니다.
% dpconf set-server-prop -h host -p port enabled-admin-alerts-:alert-name |
기본적으로 경고가 활성화되지 않습니다.
자세한 내용은 enabled-admin-alerts(5dpconf)를 참조하십시오.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
관리 경고를 활성화하는 방법에 설명된 것처럼 syslog 데몬에 보낼 경고를 선택합니다.
syslog 데몬에 보내도록 경고를 활성화합니다.
$ dpconf set-server-prop -h host -p port syslog-alerts-enabled:true |
USER 기능으로 모든 경고가 syslog에 보내집니다.
경고를 보낼 syslog 데몬의 호스트 이름을 설정합니다.
$ dpconf set-server-prop -h host -p port syslog_hostname:hostname |
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
관리 경고를 활성화하는 방법에 설명된 것처럼 syslog에 보낼 경고를 선택합니다.
전자 메일의 주소와 특성을 구성합니다.
$ dpconf set-server-prop -h host -p port email-alerts-smtp-host:host-name \ email-alerts-smtp-port:port-number \ email-alerts-message-from-address:sender-email-address \ email-alerts-message-to-address:receiver-email-address \ [email-alerts-message-to-address:receiver-email-address ...] \ email-alerts-message-subject:email-subject |
전자 메일로 보내도록 경고를 활성화합니다.
$ dpconf set-server-prop -h host -p port email-alerts-enabled:true |
(옵션) 전자 메일에 경고 코드를 포함하도록 플래그를 설정합니다.
$ dpconf set-server-prop -h host -p port \ email-alerts-message-subject-includes-alert-code:true |
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
관리 경고를 활성화하는 방법에 설명된 것처럼 syslog에 보낼 경고를 선택합니다.
스크립트를 실행하도록 경고를 활성화합니다.
$ dpconf set-server-prop -h host -p port scriptable-alerts-enabled:true |
실행할 스크립트의 이름을 설정합니다.
$ dpconf set-server-prop -h host -p port scriptable-alerts-command:script-name |
디렉토리 프록시 서버는 JVM(Java Virtual Machine) 내에서 실행되고 JVM 시스템의 메모리에 따라 달라집니다. 디렉토리 프록시 서버가 올바르게 실행되고 있는지 확인하려면 JVM 시스템의 메모리 사용을 모니터링해야 합니다.
JVM 시스템의 매개 변수를 조정하는 방법에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Deployment Planning Guide의 Hardware Sizing For Directory Proxy Server를 참조하십시오.
기본적으로 JVM 시스템의 힙 크기는 250MB입니다. 디렉토리 프록시 서버에 물리적 메모리가 충분하지 않은 경우 힙 크기는 250MB보다 작을 수 있습니다.
디렉토리 프록시 서버가 실행 중인 경우 JVM 시스템의 힙 크기를 모니터링하여 메모리가 부족해지지 않도록 할 수 있습니다. 이렇게 하려면 JDK(Java Development Kit)와 함께 제공되는 표준 도구를 사용합니다. 이러한 도구는 $JAVA_HOME/bin/jps 및 $JAVA_HOME/bin/jstat 디렉토리에 있습니다.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.