第 2 部分 目錄代理伺服器管理 第 16 章 目錄代理伺服器工具

Sun JavaTM System Directory Proxy Server 提供註冊與管理目錄代理伺服器實例的瀏覽器介面與指令行工具。此瀏覽器介面稱為目錄服務控制中心 (DSCC)。本章說明透過使用 DSCC 或指令行管理目錄代理伺服器所需的基本作業。

若要決定是使用 DSCC 還是指令行來執行特定作業,請參閱決定 DSCC 與指令行的使用時機。

本章包含下列主題:

使用目錄代理伺服器的 DSCC

本節說明如何存取目錄代理伺服器的 DSCC。

存取目錄代理伺服器的 DSCC

目錄代理伺服器的指令行工具

用於目錄代理伺服器的指令行工具稱為 dpadmdpconf。如需有關如何使用這些指令的相關資訊,請參閱 dpadm(1M) 與 dpconf(1M) 線上手冊。

本節說明 dpadmdpconf 指令的位置。亦提供有關環境變數、指令間比較及於何處獲取使用這些指令之說明的資訊。

目錄代理伺服器指令的位置

依預設,目錄代理伺服器指令行工具位於下列目錄中:

install-path/dps6/bin

安裝路徑會隨作業系統而異。預設路徑與指令位置中列出了所有作業系統的安裝路徑。

設定 dpconf 的環境變數

dpconf 指令必須具有可使用環境變數預先設定的一些選項。如果使用指令時未指定選項,或未設定環境變數,則會使用預設設定。您可以配置下列選項的環境變數:

-D userDN

使用者連結 DN。環境變數:LDAP_ADMIN_USER。預設值:cn=Proxy Manager

-w password-file

使用者連結 DN 的密碼檔案。環境變數: LDAP_ADMIN_PWF。預設值:密碼提示。

-h host

主機名稱或 IP 位址。環境變數:DIR_PROXY_HOST。預設值:localhost

-p LDAP-port

LDAP 連接埠號。環境變數:DIR_PROXY_PORT。預設值:如果伺服器實例以超級使用者身份執行,則為 389;如果伺服器實例以一般使用者身份執行,則為 1389

-e, --unsecured

指定 dpconf 預設應開啟一個無障礙連線。環境變數:DIR_PROXY_UNSECURED。如果未設定此變數,dpconf 預設會開啟安全連線。

如需更多詳細資訊,請參閱 dpconf(1M) 線上手冊。

dpadmdpconf 的比較

下表顯示了 dpadmdpconf 指令的比較。

表 16–1 dpadmdpconf 指令的比較

 

dpadm 指令

dpconf 指令

用途 

管理目錄代理伺服器本機實例上的程序或檔案 

配置目錄代理伺服器的本機或遠端實例 

使用者 

作業系統使用者 

LDAP 使用者 

本機或遠端 

指令必須位於本機實例上,亦即必須在伺服器執行的主機上執行指令。

指令可以位於本機實例上,也可以從網路上的任何位置執行。

使用指令的範例 

建立目錄代理伺服器實例。 

啟動與停止目錄代理伺服器實例。 

管理憑證資料庫。 

修改目錄代理伺服器實例的配置。 

建立資料檢視。 

配置資料來源池中的負載平衡。 

伺服器狀態 

伺服器可以在執行中,也可以已停止。 

伺服器必須正在執行。

指令識別伺服器實例的方式 

經由指定實例路徑。實例路徑可以是相對路徑或絕對路徑。 

經由指定主機名稱或 IP 位址與連接埠號。 

指令使用 LDAP 連接埠 (-p) 或 LDAPS 安全連接埠 (-P)。如果指令行未指定連接埠號,則使用環境變數 PROXY_PORT。如果未設定環境變數,則使用預設連接埠。

使用 dpconf 設定多重值特性

某些目錄代理伺服器特性可具有多個值。使用下列語法指定下列值:

$ 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

取得有關使用 dpadmdpconf 的說明

如需有關如何使用 dpadmdpconf 指令的相關資訊,請參閱 dpadm(1M) 與 dpconf(1M) 線上手冊。

$ dpadm --help
$ dpconf --help
$ dpadm subcommand --help
$ dpconf subcommand --help
$ dpconf help-properties
$ dpconf help-properties subcommand-entity
$ dpconf help-properties access-log
$ dpconf help-properties subcommand-entity property
$ dpconf help-properties access-log log-search-filters
$ 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
第 17 章 目錄代理伺服器實例

本章說明如何管理目錄代理伺服器實例。本章包含下列主題:

  • 使用目錄代理伺服器實例執行負載平衡、分佈與虛擬

建立與刪除目錄代理伺服器實例

建立目錄代理伺服器實例時,會在指定的路徑中建立實例必要的檔案與目錄。

建立目錄代理伺服器實例

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

如果使用 DSCC 建立新的伺服器實例,可選擇複製現有伺服器的部分或所有伺服器配置設定。

刪除目錄代理伺服器實例

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

尋找目錄代理伺服器實例的狀態

本程序說明如何尋找目錄代理伺服器實例的狀態。

尋找目錄代理伺服器實例的狀態

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

啟動、停止與重新啟動目錄代理伺服器實例

本節提供有關從指令行啟動、停止與重新啟動目錄代理伺服器的資訊。

啟動與停止目錄代理伺服器

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

檢視是否需要重新啟動目錄代理伺服器實例

有時,需要重新啟動伺服器才能使配置變更生效。使用此程序檢查是否需要在變更某項配置後重新啟動目錄代理伺服器實例。

$ dpconf get-server-prop -h host -p port is-restart-required

重新啟動目錄代理伺服器

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

第 18 章 目錄代理伺服器配置

本章說明如何配置目錄代理伺服器實例。本章中的程序使用 dpadmdpconf 指令。如需有關這些指令的資訊,請參閱 dpadm(1M) 與 dpconf(1M) 線上手冊。

本章包含下列主題:

配置範例

本節示範兩個範例目錄代理伺服器配置,其中一個針對負載平衡,另外一個針對資料分佈。如需虛擬目錄的更多資訊,請參閱虛擬配置範例。

配置目錄代理伺服器以執行負載平衡

一個簡單的負載平衡案例包含將搜尋與比較作業傳送至一組目錄,並將其他作業傳送至另一組目錄。目錄代理伺服器會接收所有用戶端作業。此伺服器必須判斷哪組目錄取得讀取作業,而哪組目錄取得其他作業。

    配置目錄代理伺服器處理此負載平衡案例的重要階段如下。

  1. 將目錄增加為目錄代理伺服器的資料來源。

  2. 將資料來源增加至資料來源池。

  3. 配置部分資料來源接受搜尋與比較作業,而其他資料來源則接受增加、連結、刪除、修改及修改 DN 作業。

  4. 將資料來源池增加至資料檢視。

下列範例使用在連接埠 9389 上偵聽的目錄代理伺服器。該代理伺服器在此處會配置為進行如上所述的平衡負載,即平衡一個目錄伺服器實例 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

配置目錄代理伺服器以分佈尾碼資料

一個簡單的資料分佈案例包含將 UID 開頭為 A 到 M 的項目儲存在一組目錄中,並將 UID 開頭為 N 到 Z 的項目儲存在另一組目錄中。目錄代理伺服器會接收所有用戶端作業。此伺服器必須判斷哪組目錄處理 A 到 M,而哪組目錄處理 N 到 Z。

    配置目錄代理伺服器處理此資料分佈案例的重要階段如下。

  1. 將目錄增加為目錄代理伺服器的資料來源。

  2. 將資料來源增加至資料來源池,以處理不同的資料分佈。

  3. 建立專為將用戶端請求分佈至適當資料池而設計的資料檢視。

  4. 分割 LDIF 以載入至適當的資料來源。

  5. 將分割的 LDIF 匯入至適當的資料來源。

  6. 針對附加至適當資料池的資料來源,調整基於作業的加權。

下列範例使用在連接埠 9389 上偵聽的目錄代理伺服器。為了簡化範例,該代理伺服器在此處會配置為僅分佈如上所述的三個目錄伺服器實例。如需可用性和讀取延展性,請使用複寫的目錄拓樸以儲存 LDAP 資料。其中一個目錄伺服器實例 dsA-M:1389 會處理 UID 開頭為 A 到 M 的使用者項目。另一個目錄伺服器實例 dsN-Z:2389 會處理 UID 開頭為 N 到 Z 的使用者項目。最後一個目錄實例會處理尾碼的基底項目 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 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 addressNon-secure listen address (如果這些特性設為非預設值)。以上輸出不會顯示 Non-secure listen address,因為此特性未設為非預設值。

如果需要重新啟動實例,dpconf info 也會提醒使用者重新啟動。

您也可以使用 dpadm info 顯示目錄代理伺服器實例的配置資訊,但此指令僅能在實例已停止時使用。

備份與復原目錄代理伺服器實例

當您使用 dpadm 備份目錄代理伺服器時,會備份配置檔案與伺服器憑證。如果已執行目錄代理伺服器虛擬 ACI,也會備份 ACI。

目錄代理伺服器在每次伺服器成功啟動時,自動備份 conf.ldif 檔案。

備份目錄代理伺服器實例

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

復原目錄代理伺服器實例

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

您必須建立一個目錄代理伺服器實例,才能啟動復原作業。

$ dpadm stop instance-path
$ dpadm restore instance-path archive-dir
配置代理伺服器管理員

代理伺服器管理員是授權管理員,類似 UNIX® 系統上的超級使用者。在建立目錄代理伺服器實例時定義代理伺服器管理員項目。代理伺服器管理員的預設 DN 為 cn=Proxy Manager

您可以檢視並變更代理伺服器管理員 DN 與密碼,如下列程序所示。

配置代理伺服器管理員

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

要求重新啟動伺服器的配置變更

目錄代理伺服器及其實體的大部分配置變更可在線上完成。某些變更需要重新啟動伺服器才會生效。如果變更下列清單中任何特性的配置,則必須重新啟動伺服器:

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

特性的 rwsrwd 關鍵字表示該特性的變更是否需要重新啟動伺服器。

  • 如果特性具有 rws (讀取、寫入、靜態) 關鍵字,則變更特性後必須重新啟動伺服器。

  • 如果特性具有 rwd (讀取、寫入、動態) 關鍵字,則動態執行對特性的修改作業 (不重新啟動伺服器)。

若要確定對特性的變更是否需要重新啟動伺服器,請執行下列指令:

$ 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 章, 目錄伺服器配置。


注意 –

如果重新配置目錄代理伺服器存取目錄伺服器的配置項目,則很可能破壞目錄代理伺服器的管理架構。


如果真的需要透過目錄代理伺服器存取目錄伺服器的配置項目,請採取特殊步驟以確保不破壞目錄代理伺服器的管理架構。本節說明如何透過使用目錄代理伺服器存取目錄伺服器的配置項目。

透過使用目錄代理伺服器存取目錄伺服器的配置項目

第 19 章 目錄代理伺服器憑證

本章說明如何配置目錄代理伺服器憑證。如需有關配置目錄伺服器憑證的資訊,請參閱管理憑證。

本章中的程序使用 dpadmdpconf 指令。如需有關這些指令的資訊,請參閱 dpadm(1M) 與 dpconf(1M) 線上手冊。

本章包含下列主題:

預設的自行簽署憑證

建立目錄代理伺服器實例時,其具有預設的自行簽署憑證。自行簽署的憑證是公開與私密金鑰對,其中公開金鑰是由目錄代理伺服器自行簽署。

檢視預設的自行簽署憑證

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

建立、請求與安裝目錄代理伺服器憑證

若要在目錄代理伺服器上執行安全傳輸層 (SSL),必須使用自行簽署的憑證或公開金鑰基礎架構 (PKI) 解決方案。

PKI 解決方案與外部憑證授權機構 (CA) 相關。若使用 PKI 解決方案,您需要包含公開金鑰與私密金鑰的 CA 簽署伺服器憑證。此憑證特定於單一目錄代理伺服器實例。您還需要包含公開金鑰之可信任的 CA 憑證。可信任的 CA 憑證可確保來自您的 CA 之所有伺服器憑證皆可信任。此憑證有時亦稱為 CA 根金鑰或根憑證。

如需有關如何建立非預設自行簽署憑證以及如何請求與安裝 CA 簽署憑證的資訊,請參閱下列程序。

建立目錄代理伺服器的非預設自行簽署憑證

當您建立目錄代理伺服器實例時,系統會自動提供預設的自行簽署憑證。若要以非預設設定值建立自行簽署的憑證,請使用此程序。

該程序會建立伺服器憑證的公開與私密金鑰對,其中公開金鑰是由目錄代理伺服器簽署。自行簽署的憑證有效期限為三個月。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

請求目錄代理伺服器的 CA 簽署憑證

自行簽署的憑證適用於測試目的。但是,在生產環境中,使用可信任的認證機構 (CA) 憑證更為安全。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

安裝目錄代理伺服器的 CA 簽署伺服器憑證

若要信任 CA 簽署的伺服器憑證,必須在目錄代理伺服器實例上安裝該憑證。此程序會將 CA 憑證的公開金鑰安裝至目錄代理伺服器的憑證資料庫中。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

更新過期的目錄代理伺服器 CA 簽署憑證

本節說明如何更新過期的 CA 簽署伺服器憑證。

更新過期的目錄代理伺服器 CA 簽署伺服器憑證

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

列出憑證

如需有關如何列出伺服器與 CA 憑證的資訊,請參閱下列程序。

列出伺服器憑證

此程序列出目錄代理伺服器實例上已安裝的所有憑證。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

列出 CA 憑證

此程序列出目錄代理伺服器實例上已安裝的 CA 憑證。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

將憑證從後端 LDAP 伺服器增加至目錄代理伺服器憑證資料庫

本節說明如何將憑證從後端 LDAP 伺服器增加至目錄代理伺服器憑證資料庫。

將憑證從後端目錄伺服器增加至目錄代理伺服器憑證資料庫

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

匯出憑證至後端 LDAP 伺服器

後端 LDAP 伺服器可能需要目錄代理伺服器的憑證。本節說明如何配置目錄代理伺服器以匯出憑證至後端 LDAP 伺服器。

配置目錄代理伺服器以匯出用戶端憑證至後端 LDAP 伺服器

接下來的步驟

配置後端 LDAP 伺服器以執行用戶端認證。如需有關如何執行目錄伺服器此項作業的資訊,請參閱配置憑證層級與認證方法。

另請參閱

如需有關配置用戶端與目錄代理伺服器之間基於憑證之認證的資訊,請參閱配置基於憑證的認證。

備份與復原目錄代理伺服器憑證資料庫

使用 dpadm 備份目錄代理伺服器時,即會備份伺服器憑證。備份的憑證儲存在 archive-path/alias 目錄中。

如需有關如何備份與復原目錄代理伺服器的資訊,請參閱備份與復原目錄代理伺服器實例。

提示輸入存取憑證資料庫的密碼

依預設,憑證資料庫的密碼由內部管理。因此,您無須鍵入憑證密碼或指定密碼檔案。當憑證資料庫透過儲存的密碼由內部管理時,密碼儲存在安全的環境中。

若要讓憑證更安全且有更多控制權,請配置目錄代理伺服器提示在指令行中輸入密碼。然後,系統提示您輸入除 autostartbackupdisable-serviceenable-serviceinforestorestop 之外所有 dpadm 子指令的密碼。

如需有關配置目錄代理伺服器提示或不提示輸入密碼的資訊,請參閱下列程序。

提示輸入存取憑證資料庫的密碼

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

停用存取憑證資料庫的密碼提示

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

第 20 章 LDAP 資料來源與資料來源池

本章說明如何使用 dpconf 指令建立和配置 LDAP 資料來源與資料來源池。如需有關這些主題的參考資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「LDAP Data Sources」

本章包含下列主題:

建立與配置 LDAP 資料來源

如需有關如何建立與配置 LDAP 資料來源的資訊,請參閱下列程序。

建立 LDAP 資料來源

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置 LDAP 資料來源

本程序配置目錄代理伺服器與 LDAP 資料來源之間的授權,以及目錄代理伺服器如何監視 LDAP 資料來源。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

建立與配置 LDAP 資料來源池

如需有關如何建立與配置資料來源池的資訊,請參閱下列程序:

建立 LDAP 資料來源池

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置 LDAP 資料來源池

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

將 LDAP 資料來源附加至資料來源池

附加至資料來源池的資料來源稱為附加資料來源。附加資料來源的特性決定資料來源池的負載平衡配置。當您配置附加資料來源的加權時,請考量資料來源池中所有附加資料來源的加權。請確保所有加權可依需求來搭配運作。如需有關如何配置負載平衡加權的資訊,請參閱配置負載平衡加權。

將 LDAP 資料來源附加至資料來源池

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

第 21 章 目錄代理伺服器負載平衡與用戶端相似性 配置負載平衡

如需有關負載平衡的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Load Balancing」。本節說明如何配置負載平衡並提供配置範例。

選取負載平衡演算法

您可以使用 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
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
  load-balancing-algorithm:selected-algorithm
$ dpadm restart instance-path

配置負載平衡加權

您需要考量資料來源池中任何其他附加資料來源的加權,以配置某個附加資料來源的加權。 請考量所有附加資料來源的加權。如果資料來源針對某種作業類型的加權為已停用,該類型的請求將永遠不會傳送至該資料來源。如果資料來源加權為 0 (零),除非所有其他資料來源皆不可用,否則不會將請求分佈至該資料來源。因此,僅在所有其他資料來源皆無法使用時,才使用以加權 0 配置的資料來源。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

第 24 章 目錄代理伺服器與後端 LDAP 伺服器之間的連線

負載平衡的配置範例

本節包含配置每個負載平衡演算法的範例程序。

配置比例演算法以進行負載平衡

在此範例中,資料來源 ds–1 配置為其他兩個資料來源加權的兩倍。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

開始之前

確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源與資料來源池的資訊,請參閱第 20 章, LDAP 資料來源與資料來源池。

配置飽和演算法以進行負載平衡

在此範例中,資料來源 ds-1 執行大部分連結作業,但不執行任何其他類型的作業。以下列加權配置三個資料來源:

  • ds-1 以加權 3 配置連結作業,停用所有其他類型的作業。

  • ds-2 以加權 2 配置所有作業。

  • ds-3 以加權 1 配置所有作業。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

開始之前

確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源與資料來源池的資訊,請參閱第 20 章, LDAP 資料來源與資料來源池。

配置操作相似性演算法以進行全域帳號封鎖

此範例有三個資料來源。將資料來源 ds-1 配置為接收所有連結請求。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

開始之前

確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源與資料來源池的資訊,請參閱第 20 章, LDAP 資料來源與資料來源池。

配置操作相似性演算法以進行快取最佳化

此範例有三個資料來源。資料來源 ds-1 處理所有搜尋和比較作業。當 ds-1 回應請求時,目標項目會儲存在快取中。如果 ds-1 重複回應相同的請求,資料來源會使用快取的資料。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

開始之前

確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源與資料來源池的資訊,請參閱第 20 章, LDAP 資料來源與資料來源池。

配置容錯移轉演算法以進行負載平衡

此範例有三個資料來源。資料來源 ds-1 接收所有請求。如果 ds-1 失敗,ds-2 會接收所有請求直到 ds-1 回復為止。如果 ds-2ds-1 回復之前失敗,ds-3 會接收所有請求。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

開始之前

確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源與資料來源池的資訊,請參閱第 20 章, LDAP 資料來源與資料來源池。

配置用戶端相似性

用戶端相似性可降低負載平衡部署中的傳播延遲風險。如需有關用戶端相似性的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Client Affinity」。本節說明如何配置用戶端連線與資料來源之間的相似性,並提供配置範例。

配置用戶端相似性

本程序說明如何配置用戶端連線與資料來源之間的相似性。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

用戶端相似性的配置範例

本節包含與用戶端相似性相關的配置範例,並包含複寫延遲、驗證寫入作業以及基於連線的路由之範例。

配置當資料來源池包含主機與用戶時,複寫延遲的用戶端相似性

本程序會針對第一次寫入作業之後三秒內發生的所有讀取與寫入作業,配置用戶端相似性。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

將用戶端相似性配置為利用讀取作業驗證每個寫入作業

本程序會針對每個寫入作業之後的第一次讀取作業,配置用戶端相似性。此範例可用於由其中指定的連結 DN 透過執行讀取作業驗證每個寫入作業之應用程式。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置基於連線之路由的用戶端相似性

在 Directory Proxy Server 6.0 之前的版本中,用戶端與 LDAP 伺服器之間已開啟一個連線。來自用戶端的所有請求會使用相同的連線,直到連線關閉為止。此路由類型稱為基於連線的路由。本程序說明如何配置基於連線的路由之用戶端相似性。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

開始之前

確保所有資料來源已附加至資料來源池,且 clientCredentialsForwarding 已設為 useBind

第 22 章 目錄代理伺服器分佈

本章包含下列主題:

建立與配置 LDAP 資料檢視

如需有關如何建立與配置 LDAP 資料檢視的資訊,請參閱下列程序:

建立 LDAP 資料檢視

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置 LDAP 資料檢視

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置自訂分佈演算法

您可以針對所有資料檢視類型 (亦即 ldap-data-viewjdbc-data-viewldif-data-viewjoin-data-view),配置自訂分佈演算法。下列程序僅針對 ldap-data-view 設定演算法。

重新命名屬性與 DN

目錄中的每個項目皆由 DN 和一組屬性及其值所識別。通常,在用戶端定義的 DN 與屬性不會對映至在伺服器端定義的 DN 與屬性。您可以定義資料檢視以重新命名 DN 與屬性。當用戶端提出請求時,DN 和屬性會重新命名為符合伺服器端的名稱。當結果傳回用戶端時,DN 與屬性會重新命名回符合用戶端的名稱。

如需有關屬性重新命名與 DN 重新命名的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Attribute Renaming and DN Renaming」。如需有關如何重新命名屬性與 DN 的資訊,請參閱下列程序:

配置屬性重新命名

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置 DN 重新命名

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置 與

建立從屬資料檢視時,目錄代理伺服器自動將從屬資料檢視從上層資料檢視排除。當請求的目標為從屬資料檢視時,該請求將傳送至從屬資料檢視,而不是上層資料檢視。

在從屬資料檢視中指定替代搜尋基底時,目標在上層資料檢視的搜尋作業會同時在從屬資料檢視中執行。

依預設,目錄代理伺服器自動配置 excluded-subtreesalternate-search-base-dn 特性。下列程序說明如何手動配置這些特性。

手動配置 excluded-subtreesalternate-search-base-dn 特性

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

建立與配置使用範例的資料檢視

本節包含下列有關資料檢視以及如何建立與配置這些檢視的資訊:

本節中的範例假設連線處理程式允許目錄代理伺服器處理所有用戶端連線。

預設資料檢視

若所建立的資料檢視未配置任何特性,則該資料檢視會有下列配置:

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 為何,均路由所有請求的資料檢視

本節顯示不論請求的目標 DN 為何,都將所有請求路由至資料來源池的資料檢視配置。此資料檢視稱為根資料檢視。依預設,建立目錄代理伺服器實例時建立根資料檢視。如需有關根資料檢視的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 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

當子樹狀結構清單儲存在多個資料相同的資料來源中時,路由請求的資料檢視

本節中的範例具有多個包含同一組子樹狀結構的資料來源。這類資料來源具有相同的資料,而且集中在一個資料來源池中以進行負載平衡。每個子樹狀結構皆配置有資料檢視,於用戶端請求時顯示該子樹狀結構。下圖顯示部署範例。

圖 22–1 當子樹狀結構清單儲存在多個資料相同的資料來源中時,路由請求的部署範例

配置當子樹狀結構清單儲存在多個資料相同的資料來源中時,路由請求的資料檢視

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

當不同的子樹狀結構儲存在不同的資料來源時,提供單一存取點的資料檢視

本節中的範例包含各個子樹狀結構的資料檢視。資料來源池會配置給每組資料相同的資料來源。下圖顯示部署範例。

圖 22–2 當不同的子樹狀結構儲存在不同的資料來源時,提供單一存取點的部署範例

配置當不同的子樹狀結構儲存在不同的資料來源中時,提供單一存取點的資料檢視

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

當子樹狀結構的不同部分儲存在不同的資料來源中時,提供單一存取點的資料檢視

本節說明如何配置資料檢視,提供子樹狀結構的不同部分之單一存取點。此範例包含具有相同基底 DN 的兩個資料檢視。數值分佈演算法用於將項目分隔至不同的資料檢視。資料來源池會配置給每組資料相同的資料來源。下圖顯示部署範例。

圖 22–3 當子樹狀結構的不同部分儲存在不同的資料來源中時,提供單一存取點的部署範例

配置當子樹狀結構的不同部分儲存在不同的資料來源中時,提供單一存取點的資料檢視

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

當上層與從屬子樹狀結構儲存在不同的資料來源中時,提供單一存取點的資料檢視

本節說明如何配置資料檢視,在子樹狀結構的上層分支儲存在與從屬分支所在不同的資料來源時,提供單一存取點。如需有關此部署類型的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Data Views to Route Requests When Superior and Subordinate Subtrees Are Stored in Different Data Sources」

本節中的範例包含三個資料檢視。資料檢視 1 的基底 DN 是資料檢視 2 與 3 的上層基底 DN,亦即資料來源 2 與 3 包含從屬於資料來源 1 中子樹狀結構的子樹狀結構。下圖顯示部署範例。

圖 22–4 當上層與從屬子樹狀結構儲存在不同的資料來源中時,路由請求的部署範例

目錄代理伺服器在子樹狀結構的從屬分支配置為其他資料檢視的基底 DN 時,自動從資料檢視排除從屬分支。

配置當上層與從屬子樹狀結構儲存在不同的資料來源中時,提供單一存取點的資料檢視

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

具階層與分佈演算法的資料檢視

本節中的範例包含四個資料檢視。資料檢視 1 的基底 DN 是其他資料檢視的上層基底 DN。資料檢視 3 與 4 有相同的基底 DN,但是數值分佈演算法將項目分隔至不同的資料檢視。

目錄代理伺服器在子樹狀結構的從屬分支配置為其他資料檢視的基底 DN 時,自動從資料檢視排除從屬分支。數值分佈演算法將相同子樹狀結構的項目分隔至不同的資料檢視。資料來源池會配置給每組資料相同的資料來源。

下圖顯示部署範例。

圖 22–5 具階層與分佈演算法的資料檢視範例

配置具階層與分佈演算法的資料檢視

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

第 23 章 目錄代理伺服器虛擬

本章說明如何建立虛擬資料檢視。虛擬資料檢視會轉換資料來源,再對用戶端應用程式呈現不同的資料檢視。虛擬資料檢視包含轉換的 LDAP 資料檢視、LDIF 資料檢視、連結資料檢視及 JDBCTM 資料檢視。如需虛擬資料檢視的功能簡介與範例使用案例的說明,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的第 18 章「Directory Proxy Server Virtualization」

您無法使用目錄服務控制中心 (DSCC) 執行本章中的程序。必須使用指令行。

本章包含下列主題:

建立與配置 LDIF 資料檢視

LDIF 資料檢視是一種簡易式的虛擬資料檢視,其中的 LDIF 檔案會類似於 LDAP 資料來源。與 LDAP 資料檢視不相同,當設定 LDIF 資料檢視時,不建立資料來源或資料來源池,而是在建立資料檢視時指定 LDIF 檔案。依預設,無法寫入 LDIF 資料檢視。如需詳細資訊,請參閱定義虛擬資料檢視的存取控制。

如需有關建立與配置 LDIF 資料檢視的資訊,請參閱下列程序。

建立 LDIF 資料檢視

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

配置 LDIF 資料檢視

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

配置虛擬資料轉換

虛擬資料轉換定義於現有的資料檢視上,並從實體資料檢視建立虛擬資料檢視。如需有關其運作方式的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Virtual Data Transformations」

您可以將虛擬資料轉換增加至任何類型的資料檢視:LDAP 資料檢視、LDIF 資料檢視、連結資料檢視或 JDBC 資料檢視。

增加虛擬轉換

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

建立與配置連結資料檢視

連結資料檢視是多個資料檢視的彙總。如需有關連結資料檢視運作方式的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Join Data Views」

如需有關如何建立與配置連結資料檢視的資訊,請參閱下列程序。

建立連結資料檢視

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

配置連結資料檢視

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

配置連結資料檢視,以啟用多個連結資料檢視對單一資料檢視的參照

在連結資料檢視中設定連結規則的配置資訊,使多個連結資料檢視可參照該資料檢視。若要達成目的,請執行下列作業:

$ dpconf set-join-data-view-prop view-name join-rule-control-enabled:true
$ 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.1 Reference」中的「Additional Secondary Data View Properties」

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

建立與配置 JDBC 資料檢視

JDBC 資料檢視可讓 LDAP 用戶端應用程式得以存取關聯式資料庫。如需有關 JDBC 資料檢視運作方式的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「JDBC Data Views」

如需有關如何建立與配置 JDBC 資料檢視的資訊,請參閱下列程序。

建立 JDBC 資料檢視

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

$ 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
$ dpconf create-jdbc-data-source-pool -h host -p port pool-name
$ dpconf attach-jdbc-data-source -h host -p port pool-name source-name
$ dpconf create-jdbc-data-view -h host -p port view-name pool-name suffix-DN
$ dpconf list-jdbc-data-views -h host -p port

配置 JDBC 資料檢視

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

配置 JDBC 表格、屬性與物件類別

當您配置 JDBC 資料檢視時,也必須配置下列物件:

  • JDBC 物件類別。將一或多個 JDBC 表格對映至 LDAP 物件類別。

  • JDBC 表格。已針對每個關聯式資料庫表格進行定義。

  • JDBC 屬性。定義 JDBC 表格中指定欄的 LDAP 屬性。

定義 JDBC 表格之間的關係

JDBC 物件類別在最簡單的情況下僅包含單一 (主要) 表格。由於沒有輔助表格,因此無須定義表格之間的關係。

如果物件類別包含多個表格,必須清楚地定義這些表格之間的關係。表格之間的關係一律定義於輔助表格上。輔助表格的下列特性可讓您定義這些關係:

  • is-single-row-table 指定 LDAP 項目在表格中僅有一個相符列。

  • contains-shared-entries 指定主要表格中的多個列會使用輔助表格中的某列。

  • filter-join-rule 指出如何根據主要表格中的項目,從輔助表格中擷取項目。

以下範例說明如何根據前兩個特性的值定義篩選連結規則。這些範例假設物件類別具有一個主要表格與一個輔助表格。


範例 23–1 is-single-row-table:truecontains-shared-entries:true

這是這些特性的預設值。在本例中,主要與輔助表格之間的關係為 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



範例 23–2 is-single-row-table:truecontains-shared-entries:false

在本例中,主要與輔助表格之間的關係為 1->11<-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



範例 23–3 is-single-row-table:falsecontains-shared-entries:false

在本例中,主要與輔助表格之間的關係為 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}"


範例 23–4 is-single-row-table:falsecontains-shared-entries:true

目錄代理伺服器目前不支援此案例。


定義虛擬資料檢視的存取控制

虛擬資料檢視的 ACI 可儲存在 LDAP 目錄或 LDIF 檔案中。如需有關虛擬 ACI 運作方式的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Access Control On Virtual Data Views」

建立目錄代理伺服器實例時,定義虛擬存取控制的下列預設配置:

  • 依預設在其中儲存 ACI 的 LDIF 檔案 ( instance-path/config/access_controls.ldif)

  • 名為 virtual access controls 的 LDIF 資料檢視

    此資料檢視可讓目錄代理伺服器存取儲存在 LDIF 檔案中的 ACI。

定義新的 ACI 儲存庫

若不想使用上述的預設 ACI 配置,可以定義其他儲存庫。

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

配置虛擬存取控制

不論您使用的 ACI 儲存庫為何,都必須配置虛擬存取控制。


備註 –

僅代理伺服器管理員可以建立 ACI 池,並經由 ACI 資料檢視直接管理 ACI。如果 ACI 儲存庫為 LDAP 目錄,則必須修改該目錄的模式以包含 aciSource 物件類別與 dpsaci 屬性。如需有關自訂模式的詳細資訊,請參閱延伸目錄伺服器模式。


無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

定義虛擬資料檢視的模式檢查

一般說來,LDAP 資料檢視的模式檢查由後端目錄使用後端目錄模式執行。若要由目錄代理伺服器執行模式檢查,請使用下列程序。

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

若要正規化請求,特別是 DN,請依下列方式設定伺服器的 use-external-schema 特性:

定義模式檢查

虛擬配置範例

下節將提供兩個配置範例。這些配置說明虛擬目錄的主要功能,並指出這些功能的配置方式。

連結 LDAP 目錄與 MySQL 資料庫

本節的程序說明連結 LDAP 目錄與 MySQL 資料庫的虛擬配置範例。LDAP 目錄是主要的資料來源,包含大部分的使用者資訊。mySQL 資料庫包含關於使用者的其他資訊。下圖說明產生的配置。

圖 23–1 虛擬配置範例

您可以使用 install-path /ds6/ldif/Example.ldif 中提供的資料範例複寫本範例,或者以自己的資料替代資料範例。

此配置可分為三部分:

  • 配置與測試 LDAP 資料檢視

  • 配置與測試 JDBC 資料檢視

  • 配置與測試連結資料檢視

為簡便起見,本節中的所有指令假設目錄代理伺服器在本機的 /local/dps 中執行。這些指令還假設已設定下列環境變數:

DIR_PROXY_PORT

1389

LDAP_ADMIN_PWF

pwd.txt,包含管理員密碼的檔案。

DIRSERV_PORT

4389

LDAP_ADMIN_USER

cn=Directory Manager

配置與測試 LDAP 資料檢視

配置 LDAP 資料檢視

開始之前

本節中的作業假設下列資訊:

  • 目錄伺服器實例在連接埠 4389host1 執行。

  • 目錄伺服器中的資料儲存在尾碼 dc=example,dc=com 下。若要複寫本範例,請建立目錄伺服器實例與尾碼 dc=example,dc=com,並匯入 install-path/ds6/ldif/Example.ldif 中的範例資料。

測試 LDAP 資料檢視

配置與測試 JDBC 資料檢視

下列作業假設已安裝 mySQL 資料庫,同時正在執行以及寫入資料,而且 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

IDSURNAMEPASSWORDTITLECOUNTRY_ID

COUNTRY

IDNAME

PHONE

USER_IDNUMBER

配置 JDBC 資料檢視

建立所需的 ACI

您必須透過配置 ACI 以啟用資料檢視的寫入存取,才能測試 JDBC 資料檢視。依預設拒絕對非 LDAP 資料檢視的寫入存取。就本例目的而言,增加一個允許使用者修改其密碼的全域 ACI 即已足夠。

測試 JDBC 資料檢視

建立與測試連結資料檢視

建立連結資料檢視

建立所需的 ACI

測試連結資料檢視

連結多個不同的資料來源

此配置以 Example.com 機構為例,說明虛擬目錄的部分功能可以滿足其特定的目錄服務需求。

資料儲存方案

Example.com 將機構資料儲存在多個不同的資料來源中。為了支援舊版,使用者資料分佈在 LDAP 目錄、平面 LDIF 檔案與 SQL 資料庫中。人力資源部門將使用者資料儲存在基底 DN 為 o=example.com 的 LDAP 目錄中。薪資部門將資料儲存在 SQL 資料庫中。管理部門將部門與大樓編號等管理資料儲存在基底 DN 為 dc=example,dc=com 的 LDIF 檔案中。

此外,Example.com 已買入名為 Company22 的公司。Company22 也將其使用者資料儲存在基底 DN 為 dc=company22,dc=com 的 LDAP 目錄中。

下圖提供如何儲存 Example.com 使用者資料的高階檢視。

圖 23–2 不同來源中的資料儲存

用戶端應用程式需求

Example.com 具有數個必須能夠存取儲存在不同資料來源中的資料的 LDAP 用戶端應用程式。這些用戶端應用程式的需求不盡相同。因此需要不同的資料檢視。在某些情況下,用戶端必須彙總資料。此外,某些用戶端應用程式必須能夠存取 Company22 的使用者資料,以便能夠同時管理 Example.com 的新舊員工。

下圖提供 Example.com 用戶端應用程式需求的高階檢視。

圖 23–3 用戶端應用程式需求

以下幾節引導您充分配置目錄代理伺服器資料檢視,以滿足本範例方案中所述之用戶端應用程式需求。如需有關資料檢視運作方式的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的第 17 章「Directory Proxy Server Distribution」「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的第 18 章「Directory Proxy Server Virtualization」

範例方案的配置分為下列幾節:

彙總來自人力資源部門 LDAP 目錄與管理部門 LDIF 檔案的資料

人力資源部門會儲存員工姓名、工作開始資料與工作職級等資訊。管理部門儲存其他資料,例如大樓代碼與辦公室編號。處理人力資源部門資料的用戶端應用程式必須能夠存取合併自這兩個來源的資料。這兩個資料來源具有存在於每個項目中的共用屬性 employeeNumber

下圖說明用戶端應用程式的需求。

圖 23–4 來自 LDAP 目錄與 LDIF 檔案的資料彙總

若要滿足此應用程式需求,必須為薪資部門的目錄與管理部門的 LDIF 檔案建立資料檢視。然後,連結這兩個資料檢視以提供對彙總資料的存取。此共用屬性可讓目錄代理伺服器彙總每個使用者的資料。

為簡便起見,本節中所用的指令假設下列資訊:

  • 目錄代理伺服器實例在本機上執行,並具有預設 LDAP 連接埠 (389)。

  • 目錄代理伺服器實例位於 /local/myDPS

  • 已將包含代理伺服器管理員密碼之檔案的路徑設定為變數 LDAP_ADMIN_PWF。如需有關設定目錄代理伺服器環境變數的更多資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 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 資料檢視

建立與啟用管理部門資料的 LDIF 資料檢視

連結薪資部門資料檢視與管理部門資料檢視

透過重新命名 DN 將資料從 Company22 增加至 Example.Com 的 DIT

Company22 的使用者資料儲存在 DN dc=company22,dc=com 下。雖然 Example.com 希望在大多數情況下能夠單獨儲存此使用者資料,但卻只有一個用戶端應用程式同時管理 Company 22 員工與其他 Example.com 員工。此用戶端應用程式要求 Company22 的使用者資料必須類似於 Example.com 的資料。

下圖說明用戶端應用程式的需求。

圖 23–5 DN 重新命名

若要滿足此應用程式需求,必須為 Company22 的目錄建立虛擬 DN 為 dc=example,dc=com 的資料檢視。

為簡便起見,本節中所用的指令假設下列資訊:

  • 目錄代理伺服器實例在本機上執行,並具有預設 LDAP 連接埠 (389)。

  • 目錄代理伺服器實例位於 /local/myDPS

  • 已將包含代理伺服器管理員密碼之檔案的路徑設定為變數 LDAP_ADMIN_PWF。如需有關設定目錄代理伺服器環境變數的更多資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Installation Guide」中的「Environment Variables」

  • Company 22 的 LDAP 目錄在連接埠 2389 上名為 company22Host 的主機上執行。

為 Company 22 的目錄建立含虛擬 DN 的資料檢視

將 Company 22 的資料增加至人力資源部門的資料

人力資源部門需要 Example.com 與新買入的 Company 22 人力資源部門資料的彙總檢視。下圖說明人力資源部門全域應用程式的需求。

圖 23–6 來自連結資料檢視與 LDAP 資料檢視的資料彙總

連結範例連接資料檢視與 Company 22 資料檢視

讓 LDAP 用戶端存取 SQL 資料庫中的薪資部門資料

Example.com 的薪資部門將薪水資料儲存在 SQL 資料庫中。該資料庫有兩個表格,分別為 employee 表格與 salary 表格。Example.com 具有要求能夠存取那些資料的 LDAP 用戶端應用程式。用戶端應用程式要求 SQL 資料必須類似於 LDAP 資料。

下圖說明用戶端應用程式的需求。

圖 23–7 提供 SQL 資料庫存取的 JDBC 資料檢視

若要滿足此應用程式需求,必須建立 JDBC 資料檢視將 SQL 表格中的欄對映至 LDAP 屬性。

為簡便起見,本節中所用的指令假設下列資訊:

  • 目錄代理伺服器實例在本機上執行,並具有預設 LDAP 連接埠 (389)。

  • 目錄代理伺服器實例位於 /local/myDPS

  • 已將包含代理伺服器管理員密碼之檔案的路徑設定為變數 LDAP_ADMIN_PWF。如需有關設定目錄代理伺服器環境變數的更多資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Installation Guide」中的「Environment Variables」

  • SQL 資料庫已啟動且正在執行。

  • 已將 JAVA_HOME 變數設定為正確的 Java 路徑。

  • SQL 資料庫的密碼儲存在 myPasswordFile 檔案中的 myPassword

為 Example.com 的薪資部門資料庫建立 JDBC 資料檢視

增加虛擬存取控制

透過在 LDAP 目錄中定義 ACI 可處理該目錄的存取控制。透過虛擬資料檢視存取資料來源時,必須定義 ACI 僅會套用至透過這些資料檢視進行檢視的資料。

連線處理程式控制透過目錄代理伺服器的所有存取。如需有關連線處理程式的資訊,請參閱第 25 章, 用戶端與目錄代理伺服器之間的連線。

增加允許匿名存取的 ACI

第 24 章 目錄代理伺服器與後端 LDAP 伺服器之間的連線

本章說明如何配置目錄代理伺服器與後端 LDAP 伺服器之間的連線。本章包含下列主題:

配置目錄代理伺服器與後端 LDAP 伺服器之間的連線

建立 LDAP 資料來源時,為 LDAP 資料來源開啟的預設連線數為六個,亦即每個讀取、連結和寫入作業分別使用兩個。若要驗證預設連線,請鍵入下列指令:

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 伺服器之間連線的資訊,請參閱下列程序:

配置目錄代理伺服器與後端 LDAP 伺服器之間的連線數


備註 –

本程序配置連結作業的連線數。若要配置讀取或寫入作業的連線數,請執行相同的程序,但以 readwrite 取代 bind


您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置連線逾時

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置連線池等待逾時

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置目錄代理伺服器與後端 LDAP 伺服器之間的 SSL

下列程序說明如何配置目錄代理伺服器與後端 LDAP 伺服器之間的 SSL。

配置目錄代理伺服器與後端 LDAP 伺服器之間的 SSL

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

選擇目錄代理伺服器的 SSL 密碼與協定

目錄代理伺服器可以使用的密碼與協定視正在使用的 JavaTM 虛擬機器 (JVMTM) 而定。依預設,目錄代理伺服器使用為 JVM 機器啟用的預設密碼與協定。

選擇密碼與協定清單

使用此程序擷取支援的密碼與協定,以及啟用的密碼與協定。如果是支援的密碼或協定,您可加以啟用或停用。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

將請求轉寄至後端 LDAP 伺服器

本節包含關於可用於將請求從目錄代理伺服器轉寄至後端 LDAP 伺服器的各式方法之資訊。

利用重新執行連結轉寄請求

如需有關目錄代理伺服器中用戶端憑證的連結重新執行的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Directory Proxy Server Configured for BIND Replay」。下列程序說明如何透過使用連結重新執行將請求從目錄代理伺服器轉寄至後端 LDAP 伺服器。

利用重新執行連結轉寄請求

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

利用代理授權轉寄請求

本節包含透過使用代理授權與代理授權控制轉寄請求的程序。

透過使用代理授權轉寄請求

當請求包含代理授權控制時,透過使用代理授權轉寄請求

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

轉寄不含用戶端身份識別的請求

下列程序說明如何將請求從目錄代理伺服器轉寄至後端 LDAP 伺服器,而不轉寄用戶端身份識別。

轉寄不含用戶端身份識別的請求

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

以替代使用者身份轉寄請求

本節包含有關如何以替代使用者身份轉寄請求的資訊。

配置遠端使用者對映

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置本機使用者對映

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置匿名用戶端的使用者對映

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

第 25 章 用戶端與目錄代理伺服器之間的連線

如需用戶端與目錄代理伺服器之間的連線簡介、連線處理程式簡介,以及連線處理程式中所用之條件與策略的說明,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的第 20 章「Connections Between Clients and Directory Proxy Server」

本章包含下列主題:

建立、配置與刪除連線處理程式

如需有關如何建立、配置與刪除連線處理程式,以及如何配置資料檢視相似性的資訊,請參閱下列程序。

建立連線處理程式

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置連線處理程式

開始之前

連線處理程式的特性必須依據針對目錄代理伺服器實例所定義的其他連線處理程式特性進行定義。請考量所有連線處理程式的特性,以確保這些連線處理程式指定不同的條件集和正確設定優先權。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

刪除連線處理程式

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置資料檢視的相似性

當連線處理程式配置了連線時,該連線處理程式配置的資料檢視清單或所有已配置資料檢視中,會顯示該連線上的請求。該連線上後續的請求僅會顯示在第一次請求所使用的資料檢視中。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

建立與配置請求篩選策略與搜尋資料隱藏規則

如需請求篩選策略的簡介,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Request Filtering Policies for Connection Handlers」。如需搜尋資料隱藏規則的簡介,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Search Data Hiding Rules in the Request Filtering Policy」

如需有關如何建立與配置請求篩選策略和搜尋資料隱藏規則的資訊,請參閱下列程序。

建立請求篩選策略

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置請求篩選策略

您可以使用 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
$ dpconf set-request-filtering-policy-prop -h host -p port policy-name \
  property:value [property:value ...]

建立搜尋資料隱藏規則

您可以使用 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                         :  -
$ dpconf set-search-data-hiding-rule-prop -h host -p port policy-name rule-name \
  property:value [property:value ...]
$ 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 類型以外的項目。


範例 25–1 請求篩選策略範例

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


範例 25–2 搜尋資料隱藏規則範例

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

建立與配置資源限制策略

如需資源限制策略的簡介,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Resource Limits Policies for Connection Handlers」。如需有關如何建立與配置資源限制策略以及如何自訂搜尋限制的資訊,請參閱下列程序。

建立資源限制策略

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置資源限制策略

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

自訂搜尋限制

您可以根據搜尋基底與搜尋範圍,定義搜尋作業的自訂限制。如果搜尋作業的目標 DN 與範圍符合指定的條件,則限制搜尋結果的大小上限。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

將目錄代理伺服器配置為基於連線的路由器

Directory Proxy Server 5.2 是基於連線的路由器。在 Directory Proxy Server 5.2 中,用戶端連線路由至指定的目錄伺服器。用戶端連線上的所有請求都傳送至相同的目錄伺服器,直到連線中斷或用戶端解除連結為止。

Directory Proxy Server 6.1 是基於作業的路由器。但是,此版本的目錄代理伺服器可能因為相容性而配置為基於連線的路由器,如下列程序所述。

將目錄代理伺服器配置為基於連線的路由器

第 26 章 目錄代理伺服器用戶端認證

本章包含下列主題:

配置用戶端與目錄代理伺服器之間的偵聽程式

目錄代理伺服器提供安全和非安全的偵聽程式與用戶端進行通訊。如需有關目錄代理伺服器偵聽程式的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Directory Proxy Server Client Listeners」。本節說明如何配置偵聽程式。

配置用戶端與目錄代理伺服器之間的偵聽程式


備註 –

本程序配置用戶端與目錄代理伺服器之間的非安全偵聽程式。若要配置安全偵聽程式,請執行相同的程序,但以 ldaps 取代 ldap


您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。在 DSCC 中,您可以在 [效能] 標籤上配置此特性。

認證目錄代理伺服器的用戶端

依預設,目錄代理伺服器配置為進行簡單的連結認證。簡單連結認證不需要其他配置。

如需有關用戶端與目錄代理伺服器之間認證的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Client Authentication Overview」。如需有關如何配置認證的資訊,請參閱下列程序。

配置基於憑證的認證

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。


備註 –

基於憑證的認證僅能在 SSL 連線上執行。


配置匿名存取

如需有關匿名存取的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Anonymous Access」。如需有關如何將匿名用戶端的識別對映到其他識別的資訊,請參閱以替代使用者身份轉寄請求。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

為 SASL 外部連結配置目錄代理伺服器

您可以使用 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
$ dpconf set-server-prop -h host -p port allow-sasl-external-authentication:true
$ dpconf set-server-prop -h host -p port cert-search-bind-dn:bind-DN \
 cert-search-bind-pwd-file:filename
$ dpconf set-server-prop -h host -p port cert-search-base-dn:base-DN
$ 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...]
   
第 27 章 目錄代理伺服器記錄

目錄代理伺服器會在存取記錄和錯誤記錄中記錄資訊。與目錄伺服器不同,目錄代理伺服器不具有稽核記錄。如需目錄代理伺服器中記錄的說明,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的第 23 章「Directory Proxy Server Logging」

本章包含下列主題:

檢視目錄代理伺服器記錄

您可以直接透過記錄檔或使用目錄服務控制中心 (DSCC) 檢視目錄代理伺服器記錄。

依預設,記錄儲存在此目錄中:

instance-path/logs

下圖顯示 DSCC 上目錄代理伺服器錯誤記錄的螢幕擷取。

圖 27–1 目錄代理伺服器的錯誤記錄視窗

配置目錄代理伺服器記錄

透過使用 dpconf 指令或 DSCC,可以配置目錄代理伺服器錯誤記錄與存取記錄。如需有關如何使用 DSCC 配置記錄的資訊,請參閱目錄代理伺服器線上說明。本節說明如何透過使用 dpconf 指令配置目錄代理伺服器記錄。

您可以透過執行下列指令,擷取完整的配置選項清單以及允許的值和預設值:

$ dpconf help-properties error-log
$ dpconf help-properties access-log

配置目錄代理伺服器存取與錯誤記錄

本程序配置目錄代理伺服器存取記錄。若要配置目錄代理伺服器錯誤記錄,請執行相同的程序,但以 error 取代 access

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置目錄代理伺服器記錄自動重建

依預設,當記錄檔大小到達 100 MB 時自動重建記錄檔。依預設保留十個記錄檔,超過十個之後,自動重建程序會從最舊的記錄檔開始覆寫。本節說明如何配置目錄代理伺服器記錄以排程自動重建、如何手動自動重建記錄,以及如何停用記錄自動重建。如需配置範例,請參閱記錄自動重建的配置範例。

配置定期自動重建存取與錯誤記錄

本程序配置目錄代理伺服器存取記錄。若要配置目錄代理伺服器錯誤記錄,請執行相同的程序,但以 error 取代 access

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

手動自動重建存取與錯誤記錄檔

本程序自動重建目錄代理伺服器存取記錄。若要自動重建目錄代理伺服器錯誤記錄,請執行相同的程序,但以 error 取代 access

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

停用存取與錯誤記錄自動重建

本程序停用目錄代理伺服器存取記錄的自動重建。若要停用目錄代理伺服器錯誤記錄的自動重建,請執行相同的程序,但以 error 取代 access

記錄自動重建的配置範例

如何依記錄大小和/或時間配置記錄自動重建的範例。

基於記錄大小自動重建記錄

本節中的範例顯示如何僅基於記錄大小配置記錄自動重建。此配置在記錄到達 10 MB 時自動重建記錄,而不論上次自動重建記錄的時間為何。

$ dpconf set-access-log-prop -h host1 -p 1389 log-rotation-policy:size \
  log-rotation-size:10M

基於時間自動重建記錄

本節中的範例顯示如何基於上次自動重建的時間配置記錄自動重建,而不論記錄大小為何。

$ dpconf set-access-log-prop -h host1 -p 1389 log-rotation-frequency:8h \
 log-rotation-policy:periodic log-rotation-start-time:0300
$ 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
$ 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
$ 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 天,則在次月的第一天自動重建記錄。如果 log-rotation-start-day 設為 31 而該月僅有 28 天 (二月),則在次月第 3 天自動重建記錄。

基於時間和記錄大小自動重建記錄

本範例顯示如何配置在檔案大小足夠大時,依指定間隔自動重建記錄。

此配置在每天 3:00、11:00 與 19:00 當記錄檔大小超過 1 MB 時,自動重建記錄。如果記錄檔大小未超過 1 MB,則不自動重建記錄檔。

$ 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.1 Reference」中的「Log File Deletion」

下列程序配置存取記錄的記錄刪除。若要配置錯誤記錄的記錄刪除,請使用相同指令,但以 error 取代 access

配置基於時間的存取與錯誤記錄刪除

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置基於檔案大小的存取與錯誤記錄刪除

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置基於可用磁碟空間的存取與錯誤記錄刪除

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

將警示記錄至 常駐程式

本節說明如何配置將警示訊息記錄至 syslogd 常駐程式,以及如何配置作業系統接受 syslog 警示。

配置目錄代理伺服器將警示記錄至 syslogd 常駐程式

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

配置作業系統接受 syslog 警示

本節提供有關配置 SolarisTM、Linux 與 HP-UX 作業系統接受 syslog 警示的指示。

配置 Solaris 作業系統接受 syslog 警示

配置 Linux 接受 syslog 警示

配置 HP-UX 接受 syslog 警示

經由目錄代理伺服器與目錄伺服器存取記錄追蹤用戶端請求

若要追蹤用戶端請求的路徑,您必須瞭解請求如何記錄在目錄代理伺服器存取記錄與目錄伺服器存取記錄中。若要瞭解本節,請先閱讀「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Tracking Client Requests Through Directory Proxy Server and Directory Server Access Logs」

追蹤由目錄伺服器經目錄代理伺服器至用戶端應用程式的作業

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

第 28 章 目錄代理伺服器監視與警示

監視功能會偵測目錄代理伺服器與資料來源的失敗。

如需目錄代理伺服器監視架構的說明及 cn=monitor 項目詳細配置的說明,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Monitoring Directory Proxy Server」。本章包含下列主題:

擷取關於目錄代理伺服器的監視資料

若要擷取關於目錄代理伺服器的監視資料,請使用 cn=monitor 項目。此項目由目錄代理伺服器在本機常駐記憶體資料庫上進行管理。您可以透過在 cn=monitor 項目上執行 LDAP 搜尋,以擷取 cn=monitor 下的屬性。您必須以代理伺服器管理員身份連結,才能搜尋此項目。

如需有關使用 JVM 擷取監視資料的資訊,請參閱透過使用 JVM 擷取關於目錄代理伺服器的監視資料。

擷取關於資料來源的監視資料

如需目錄代理伺服器如何監視資料來源運作狀態的說明,請參閱「Sun Java System Directory Server Enterprise Edition 6.1 Reference」中的「Monitoring Data Sources」。本節說明如何配置對資料來源的監視。

透過偵聽錯誤監視資料來源

在此監視類型中,目錄代理伺服器偵聽目錄代理伺服器與資料來源之間通訊的錯誤。此監視類型稱為被動監視,因為目錄代理伺服器是在偵測到錯誤時做出反應,而不主動測試資料來源。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

透過定期建立專屬連線監視資料來源

如果在指定間隔內資料來源沒有請求或回應,則目錄代理伺服器會建立該資料來源的專屬連線。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

透過測試建立的連線監視資料來源

在此監視類型中,目錄代理伺服器會每隔一段固定時間,便向每個資料來源的各連線執行搜尋。這樣,目錄代理伺服器可偵測關閉的連線,從而避免連線因無活動而遭中斷。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

$ 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
$ dpconf set-ldap-data-source-prop -h host -p port datasource monitoring-interval:interval
配置目錄代理伺服器的管理警示

如需有關如何配置管理警示的資訊,請參閱下列程序。

啟用管理警示

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

另請參閱

如需詳細資訊,請參閱 enabled-admin-alerts(5dpconf)。

將管理警示配置為傳送至 Syslog

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

將管理警示配置為傳送至電子郵件

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

將管理警示配置為執行程序檔

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

透過使用 JVM 擷取關於目錄代理伺服器的監視資料

目錄代理伺服器在 Java 虛擬機器 (JVM) 內部執行,且依賴 JVM 機器的記憶體。若要確保目錄代理伺服器正常執行,您必須監視 JVM 機器的記憶體使用量。

依預設,JVM 機器的堆疊大小為 250 MB。如果目錄代理伺服器沒有足夠的實體記憶體,堆疊大小可能小於 250 MB。

目錄代理伺服器執行時,您可以監視 JVM 機器的堆疊大小,以確保足夠的記憶體。若要執行這項作業,請使用 Java 開發工具組 (JDK) 隨附的標準工具。這些工具位於下列目錄:$JAVA_HOME/bin/jps$JAVA_HOME/bin/jstat

檢視 JVM 堆疊大小

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

在目錄代理伺服器執行時監視 JVM 堆疊大小

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

$ jps
$ jstat -gcutil PID
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。