![]() | |
Sun Java(TM) System Directory Server 5 2004Q2 管理指南 |
第 1 章
Directory Server 管理概論Directory Server 產品包含了管理多重目錄的 Directory Server、Administration Server,以及透過圖形介面管理兩個伺服器的 Server Console。本章提供關於 Directory Server 的概論資訊,以及您要啟動管理目錄服務所需的最基本工作。
本章所介紹的兩種 Directory Server 5.2 新增功能是 Plug-in 簽名和 DSML-over-HTTP 通訊協定。驗證 Plug-in 簽名是額外的安全性功能,讓伺服器可偵測或防止未經授權的 Plug-in 載入。Directory Server Markup Language (DSML) 是一種以 XML 為基礎的新格式,用於傳送要求給目錄伺服器。
本章包含下列章節:
Directory Server 管理概論Directory Server 為穩定、具延展性的伺服器,設計來管理企業內的使用者和資源目錄。它是以稱為輕量型目錄存取通訊協定 (Lightweight Directory Access Protocol,LDAP) 的開放式系統伺服器通訊協定為基礎。Directory Server 會以 ns-slapd 處理程序或服務在您的機器上執行。伺服器會管理目錄內容並回應用戶端的要求。
您可透過 Sun Java System 提供協助您管理 Directory Server (和數種其他 Sun Java System 伺服器) 的第二伺服器,即 Administration Server,以執行大部分的 Directory Server 管理工作。Server Console 是 Administration Server 的圖形化介面;Directory Server Console 是 Server Console 的一部分,專門設計來搭配 Directory Server 使用。
您可以透過 Directory Server Console 執行大部分的 Directory Server 管理工作。您也可以利用編輯組態檔,或使用指令行公用程式手動執行管理工作。如需關於 Server Console 的詳細資訊,請參閱《Administration Server Administration Guide》。
備註
如果正在使用 Directory Server 資料服務的 Sun Cluster HA,在管理 Directory Server 和來自指令行時,您必須使用 directoryserver(1M) 指令及其子指令。
請勿直接使用單獨的程序檔和二進位檔案碼。
啟動和停止 Directory Server如果不使用安全通訊端階層 (Secure Sockets Layer,SSL),您可以利用列示於此處的方法啟動和停止 Directory Server。如果您使用 SSL,請參閱「啟動啟用 SSL 的伺服器」。
從指令行啟動和停止伺服器
從指令行啟動和停止伺服器。執行下列指令:
或
只有 Directory Server 5.2 不是預設版本時,才需要 useversion 選項。關於 directoryserver 指令的完整語法,請參閱《Directory Server Administration Reference》的 Chapter 1 "Command-Line Tools Reference"。
這些指令必須作為根執行,如果:
否則,兩個指令必須與 Directory Server 相同的 UID 和 GID 一起執行。例如,如果 Directory Server 以 nobody 執行,則必須以 nobody 執行 start 和 stop 公用程式。
關於 Directory Server 之前版本的使用者,請注意已無法在參照模式中啟動伺服器。您可以使用 Directory Server Console 設定全域參照。此程序在「設定預設參照」中有說明。
從主控台啟動和停止伺服器
Directory Server Console 正在執行時,您可以透過其圖形介面啟動、停止和重新啟動 Directory Server。如需執行主控台的說明,請參閱「啟動 Directory Server Console」。
當您成功地從 Directory Server Console 啟動或停止 Directory Server 時,主控台會
訊息對話,說明已經啟動伺服器或關閉伺服器。如發生錯誤,主控台將顯示有關該錯誤的所有訊息。
啟動啟用 SSL 的伺服器啟用 SSL 之前,您必須在您的伺服器上安裝與配置憑證。如需管理憑證及啟用 SSL 的說明,請參閱第 11 章「管理驗證和加密」;如需關於憑證、憑證資料庫及取得伺服器憑證的資訊,請參閱《Administration Server Administration Guide》中的 Chapter 9 "Using SSL and TLS with Sun Java System Servers"。
若要啟動已啟用 SSL 的伺服器,您必須從指令行啟動伺服器,而且提供保護伺服器憑證的密碼。
或者,您可以建立密碼檔案以儲存您的憑證密碼。透過將您的憑證資料庫密碼放置在檔案中,可以從伺服器主控台啟動伺服器,並且允許伺服器在無人執行時,自動重新啟動。
密碼檔案必須放置在下列位置中:
serverRoot/alias/slapd-serverID-pin.txt
其中 serverID 是您在安裝時為伺服器指定的識別碼。
在檔案中包含安全 Token 的名稱及其密碼,如下:
deviceName Token:password
本範例顯示內部憑證資料庫的裝置名稱 (大小寫及空格必須完全依照如下顯示):
Internal (Software) Token:password
如果將憑證儲存在替代裝置上,請使用位在 [管理憑證] 對話方塊上方的下拉式功能表中的裝置名稱。若要建立憑證資料庫,您必須使用管理伺服器及 [憑證設定精靈]。如需關於 Directory Server 使用 SSL 的資訊,請參閱第 11 章「管理驗證和加密」。
使用 Directory Server ConsoleDirectory Server Console 是您以 Server Console 的單獨視窗存取的介面。您可按照下列程序所述,從 Server Console 啟動 Directory Server Console。
啟動 Directory Server Console
- 請檢查確認 Directory Server 常駐程式 slapd-serverID 正在執行中。若沒有,請以 root 或管理使用者身份輸入下列指令來啟動它:
- 請檢查確認管理伺服器常駐程式 ns-httpd 正在執行中。若沒有,請以 root 或管理使用者身份輸入下列指令來啟動它:
如果要在不是安裝 Administration Server 的電腦執行 Server Console,可能需要依《Administration Server Administration Guide》Chapter 6 的 "Network Settings" 所述配置 Administration Server 上的連線限制。
顯示 [主控台] 登入視窗。或者,如果您的組態目錄 (包含 o=NetscapeRoot 尾碼的目錄) 儲存在單獨的 Directory Server 實例中,則會顯示視窗,要求該目錄伺服器的系統管理員使用者 DN、密碼及 Administration Server 的 URL。
- 使用連結 DN 及使用者密碼登入,該使用者必須擁有充分的存取授權可執行您希望執行的作業。
顯示 Server Console。
- 在左面板的樹狀目錄中,瀏覽找尋您的 Directory Server 主機,然後按一下其名稱或圖示顯示其一般內容。
圖 1-1 Sun Java System Server Console
若要編輯 Directory Server 名稱和描述,請按一下 [編輯] 按鈕。在文字方塊中輸入新的名稱和描述。按一下 [確定],設定新名稱和描述。名稱會顯示在左邊的樹狀目錄中,如上圖所示。
- 連按兩下樹狀目錄中的 Directory Server 名稱,或按一下 [開啟] 按鈕,顯示管理此目錄伺服器的 Directory Server Console。
瀏覽 Directory Server Console
Directory Server Console 提供介面,可在 Directory Server 實例上瀏覽及執行管理作業。此介面始終顯示四個標籤,可從其中存取所有 Directory Server 功能:
[工作] 標籤
開啟 Directory Server Console 時,[工作] 標籤是第一個顯示的介面。它包含所有主要管理工作的按鈕,諸如下圖所示的啟動或停止 Directory Server。若要檢視所有工作及其按鈕,您或許需要捲動清單。
圖 1-2 Directory Server Console 的 [工作] 標籤
為了執行這些工作,您必須以擁有系統管理員權限的使用者身份登入。權限不足的使用者無法看到 [工作] 按鈕。
[組態] 標籤
Directory Server Console 的 [組態] 標籤提供介面和對話方塊,用來檢視及修改所有目錄設定值,如尾碼、複製、結構、記錄及 Plug-in 設定值。只有在您以擁有系統管理員權限的使用者身份登入時,這些對話方塊才能夠使用或生效。
此標籤的左邊含有所有組態功能的樹狀目錄,而右邊則顯示專門用來管理各功能的介面。這些介面通常包含其他標籤、對話方塊或快顯功能視窗。例如,下圖顯示整個目錄的一般設定值。
圖 1-3 Directory Server Console 的 [組態] 標籤
當您選擇左樹狀目錄中的可設定項目時,該項目目前的設定值會顯示在右面板的一或多個標籤中。如需這些設定值的說明和行為,請參閱本指南中描述各功能的章節。視設定的不同,某些變更在儲存時會立即生效,其他的則要等到重新啟動伺服器時才會生效。當伺服器必須重新啟動時,主控台將顯示對話方塊通知您。
標籤中未儲存的變更會在標籤名稱旁以紅色標記通知。即使您配置另一個項目或檢視其他主要標籤之一,標籤上還是會保持未儲存的變更。[儲存] 及 [重設] 按鈕可套用至指定可設定項目的所有標籤,但是不會影響其他項目的未儲存設定值。
大多數文字欄位只允許您輸入具有該設定之正確語法的值。依據預設,在語法正確以前,設定標籤與您輸入的值會以紅色反白顯示。在所有設定值均為有效語法前,[儲存] 按鈕會停用。您可以選擇用斜體字型代表反白顯示的錯誤值,如「視覺組態喜好設定」所述。
[目錄] 標籤
主控台的 [目錄] 標籤為了方便瀏覽,以樹狀目錄顯示目錄項目。在此標籤中,您可以瀏覽、顯示及編輯包含的所有項目和屬性。
備註
如果預計瀏覽數千個項目的清單,請建立瀏覽索引以便進行快速存取。如需指令,請參閱「主控台的瀏覽索引」。
圖 1-4 Directory Server Console 的 [目錄] 標籤
如果登入時提供的連結 DN 具有充分的存取權限,則可以將組態項目視為一般項目來檢視,並且可以直接修改。但是,您應該始終使用透過 [組態] 標籤可用的對話方塊來安全變更組態設定值。
透過 [檢視] 功能表,有數個可用的選項可用來變更 [目錄] 標籤的佈局和內容。新佈局選項包括可檢視單一樹狀目錄中涵蓋葉項目在內的所有項目,而且也可以在右窗格中顯示屬性。預設是在右邊檢視葉項目,而非在左樹狀目錄中。
[檢視] > [顯示] 選項可啟用樹狀目錄中所有項目的 ACI 次數、角色次數及停用狀態圖示。在 圖 1-4 中,ACI 次數和葉項目顯示於左樹狀目錄中,而選擇項目的屬性值顯示於右窗格中。如需詳細資訊,請參閱「樹狀目錄檢視選項」。
[狀態] 標籤
[狀態] 標籤顯示伺服器統計資料和日誌檔訊息。左樹狀目錄列出所有的狀態項目,在選擇時,各項目的內容會顯示在右窗格中。例如,下圖顯示日誌檔項目表。
圖 1-5 Directory Server Console 的 [狀態] 標籤
從主控台檢視目前的連結 DN
您可以檢視用來登入 Directory Server Console 的 連結 DN,按一下位於顯示左下角的登入圖示即可。然後目前的連結 DN 會顯示於登入圖示旁,如此處所示:
變更您的登入身份
當您從 Directory Server Console 建立或管理項目時,以及當您首次存取 Server Console 時,系統讓您提供連結 DN 及密碼選項,以登入主控台。如此可識別正在存取樹狀目錄的使用者,以決定需要授與執行作業的存取授權。
首次啟動 Server Console 時,您可以目錄管理員 DN 登入。在任何時候,您都選擇以不同的使用者身份登入,而不必先停止再重新啟動主控台。
若要在 Server Console 中變更您的登入:
以下章節,會進一步解說目錄管理員 DN 和密碼。
使用線上說明
線上說明為 Directory Server Console 的大部分標籤和對話方塊提供上下文相關資訊。[說明] 按鈕通常位在這些介面的右下角。若要在任何螢幕上啟動上下文相關說明,其鍵盤快速鍵始終為 Alt-P。
啟動線上說明會在主控台的內建瀏覽器中顯示 HTML 格式的頁面。您可以在這個頁面上按一下 [在瀏覽器中啟動] 按鈕,在外部瀏覽器 (如 Mozilla) 中顯示同一頁面。線上說明上有關詳細資訊的連結,也會開啟外部瀏覽器視窗。
每個線上說明頁會提供對應的標籤或對話方塊中所包含各欄位或按鈕的說明。當您透過主控台解釋、輸入或修改值時,這些資訊可以指引您。
Directory Server 的說明系統依存於 Administration Server。如果在 Administration Server 的遠端電腦上執行 Directory Server Console,您必須確認下列各項:
- 您可能必須設定 Administration Server 上強制執行的連線限制,以允許從您的電腦存取,如《Administration Server Administration Guide》Chapter 6 的 "Network Settings" 所述。
- 如果要使用外部瀏覽器檢視線上說明頁,而且您的瀏覽器設為使用代理,您必須執行下列動作:
主控台剪貼簿
Directory Server Console 使用您的系統剪貼簿複製、剪下及貼上文字。若要減少輸入字元,當您在 [目錄] 標籤內瀏覽時,可以將項目的 DN 或 URL 複製到剪貼簿。
開啟必須在文字欄位中貼入 DN 或 URL 的對話方塊或另一個標籤之前:
主控台設定值
Directory Server Console 提供許多設定值,可自訂 [組態] 及 [目錄] 標籤中資訊的顯示方式。
視覺組態喜好設定
當您在最上層 [組態] 標籤上的欄位中修改組態參數與輸入值時,Directory Server Console 會使用彩色文字表示有效輸入。例如,如果啟用某項功能,該功能要求輸入進一步的組態值,則必要欄位的標籤會以紅色顯示,等您輸入有效值之後則會變成藍色。
依預設值,主控台使用紅色和藍色,但您可以依下列方式修改此行為:
- 在 Directory Server Console 的任意標籤上,選擇 [編輯] > [喜好設定] 功能表項目。在 [主控台喜好設定] 對話方塊中,選擇 [其他] 標籤。
- 選擇您喜好的視覺組態標記的單選按鈕。您可以選擇彩色的字型或字型外觀,或同時選擇兩者。
- 如需 [主控台喜好設定] 對話方塊的其他標籤上各項設定值的描述,請參閱《Administration Server Administration Guide》Chapter 2 的 "Customizing Server Consol"。
然後按一下 [確定] 以儲存變更。
- 結束 Server Console 的所有視窗,再重新啟動。
樹狀目錄檢視選項
在 Directory Server Console 最上層的 [目錄] 標籤上,[檢視] 功能表的項目可讓您顯示樹狀目錄中的其他資訊,並可選擇右面板中顯示的內容。
下列 [檢視] 選項會影響 [目錄] 標籤的內容:
- 追蹤參照 - 若選擇此核取方塊,樹狀目錄將顯示參照目標的項目及所有子項,如同這些項目就在目錄中一樣。若清除此核取方塊,參照將顯示為參照項目。如需詳細資訊,請參閱「建立智慧型參照」。
- 排序物件 - 若清除此核取方塊,則會依伺服器傳回項目的順序顯示項目。若選擇此核取方塊,則會根據下述的顯示屬性將樹狀目錄中同一層的項目排序。如需關於如何排序大型樹狀子目錄,而不影響伺服器效能的資訊,請參閱「主控台的瀏覽索引」。
- 顯示>ACI 次數 - 如果項目的 aci 屬性中包含一或多個存取控制指令 (ACI),樹狀目錄會在項目旁顯示個數。如需詳細資訊,請參閱第 6 章「管理存取控制」。
- 顯示>角色次數 - 如果項目是一或多個角色的成員,樹狀目錄會在項目旁顯示次數。如需詳細資訊,請參閱「指派角色」。
- 顯示>停用狀態 - 如果使用者或群組項目已停用,以防止連結到伺服器,則樹狀目錄會以項目的圖示顯示紅色方塊和線條。如需詳細資訊,請參閱「停用與啟用使用者與角色」。
- 佈局>檢視子項 - 當您選擇此佈局選項時,左面板中的樹狀目錄不會顯示目錄的葉項目,而選擇左面板中的父項節點會在右面板中顯示其所有子項,包括葉項目。您可以選擇任一面板的項目。
- 佈局>只檢視樹狀目錄 - 使用這個選項時,[目錄] 標籤只有一個面板,以顯示包含目錄中所有項目的樹狀目錄。
- 佈局>檢視屬性 - 在此佈局中,左面板顯示包含目錄中所有項目的樹狀目錄,而右面板顯示在樹狀目錄上選擇項目中儲存的屬性與值。
- 顯示屬性 - 按一下此功能表項目可查看 [顯示屬性] 對話方塊,並選擇 [目錄] 標籤顯示之項目的標籤。依預設值,標籤是項目第一個 RDN 屬性的值,例如 People。對於沒有 RDN 的基礎項目,標籤則是完整的 DN,例如 dc=example,dc=com。
配置 LDAP 參數LDAP 參數是目錄伺服器中的基本設定值,例如目錄管理員的辨別名稱 (DN)、全域唯讀設定、連接埠組態及能否追蹤所有目錄修改時間等。
配置目錄管理員
目錄管理員是有權限的伺服器系統管理員,相當於 UNIX 的 root 使用者。存取控制不會套用至您定義為目錄管理員的項目。您已在安裝過程中先定義了此項目。預設為 cn=Directory Manager。
目錄管理員的 DN 儲存在 nsslapd-rootDN 屬性中,密碼儲存在 cn=config 分支的 nsslapd-rootpw 屬性中。
使用 Directory Server Console 變更目錄管理員 DN、密碼以及此密碼所使用的加密結構:
- 以目錄管理員身份登入主控台。
若您已經登入主控台,如需如何以不同使用者身份登入的說明,請參閱「變更您的登入身份」。
- 在最上層的 [組態] 標籤上,選擇瀏覽樹狀目錄根部的伺服器節點,並在右面板中選擇 [設定值] 標籤。
- 在 [目錄管理員 DN] 欄位中輸入新的辨別名稱。預設值是安裝期間所定義的值。
- 從 [管理員密碼加密] 下拉式功能表中,選擇儲存結構,讓伺服器用來儲存目錄管理員的密碼。
- 請使用所提供的文字欄位,輸入新密碼並做確認。
- 按一下 [儲存]。
變更目錄伺服器連接埠號碼
您可利用 Directory Server Console 或變更 cn=config 項目下的 nsslapd-port 屬性值,修改使用者目錄伺服器的連接埠或安全連接埠號碼。
如果您想要修改包含 Sun Java System 組態資訊 (o=NetscapeRoot 樹狀子目錄) 的 Directory Server 連接埠或安全連接埠,可以透過 Directory Server Console 進行修改。
如果您變更組態目錄或使用者目錄連接埠或安全連接埠號碼,應該瞭解下列影響:
- 您必須變更 Administration Server 所配置的組態、使用者目錄連接埠或安全連接埠號碼。請參閱《Administration Server Administration Guide》Chapter 6 的 "Network Settings"。
- 如果您安裝了其他 Sun Java System Server,指向組態或使用者目錄,則您必須更新那些伺服器,以指向新的連接埠號碼。
- 如果設定非權限的連接埠號碼,而且 Directory Server 安裝在其他使用者可以存取的機器上,您可能冒著連接埠被另一個應用程式劫取的危險。也就是說,另一個應用程式可以連結相同的位址/連接埠對。此惡意應用程式可以處理要用於 Directory Server 的要求,而且可用於擷取驗證程序中使用的密碼、改變用戶端要求或伺服器回應或產生拒絕服務攻擊。若要避免此類安全性危險,請使用 nsslapd-listenhost 屬性指定 Directory Server 聆聽的介面 (位址)。如需詳細資訊,請參閱《Directory Server Administration Reference》Chapter 2 的 "nsslapd-listenhost"。
- 透過主控台變更連接埠號碼不會對某些程序檔作必要的修改,而且需要以手動方式修改這些程序檔。如需更多資訊,請參閱《Directory Server 版本說明》。
使用下列程序修改 Directory Server 在聆聽傳入 LDAP 要求時,所使用的連接埠或安全連接埠。若要修改 DSML 要求的連接埠,請參閱「配置 DSML」。
- 在 Directory Server Console 最上層的 [組態] 標籤上,選擇含有伺服器名稱的根節點,然後在右面板中選擇 [網路] 標籤。
標籤顯示伺服器目前的 LDAP 通訊協定的連接埠設定值。
- 在 [連接埠] 欄位中輸入您要伺服器用於進行非 SSL 通訊的連接埠號碼。預設值是 389。
- 如果已依第 11 章「管理驗證和加密」所述在此伺服器上啟用 SSL,您可以允許安全連接埠上的連線:
- 按一下 [儲存],然後再重新啟動伺服器。
如需資訊,請參閱「啟動和停止目錄伺服器」。
設定全域唯讀模式
在您的目錄中,每一個尾碼都可以放置獨立的唯讀模式,而且如果定義了特定參照也可以傳回此參照。Directory Server 也提供可套用至所有尾碼的全域唯讀模式,而且當定義了全域參照時,也可以傳回此參照。
全域唯讀模式是設計來讓系統管理員防止在執行如重新編製尾碼的索引時,同時修改了目錄的內容。基於這個原因,全域唯讀模式不會套用至下列組態分支:
無論唯讀設定如何,「存取控制指令」(Access Control Instructions,ACI) 都應該保護這些分支,以防非管理使用者進行修改 (請參閱第 6「管理存取控制」)。全域唯讀模式可防止目錄中所有其他尾碼的更新作業,包括由目錄管理員啟動的更新作業。
如果啟用了唯讀模式,也會中斷尾碼上的複製。主機複本將不再變更任何複製,儘管它會持續複製在啟動唯讀模式前所作的所有變更。在停用唯讀模式前,用戶複本不會收到更新。多重主機複製藍本的主機不會變更任何複製,也無法收到其他主機的更新。
若要啟用或停用全域唯讀模式:
如需關於將個別尾碼放置在唯讀模式的資訊,請參閱「設定尾碼唯讀模式」。
追蹤目錄項目的修改
您可將伺服器配置成維護新近建立或修改項目的特殊屬性:
- creatorsName - 首先建立項目人員的辨別名稱。
- createTimestamp - 以 GMT (格林威治標準時間) 格式表示建立項目時間的時間戳記。
- modifiersName - 最後修改項目人員的辨別名稱。
- modifyTimestamp- 以 GMT 格式表示最後修改項目時間的時間戳記。
備註
當用戶端應用程式建立或修改鏈結尾碼中的項目時,creatorsName 和 modifiersName 屬性不會反映項目的真實建立者或修改者。這些屬性包含需要連結遠端伺服器的鏈結代理伺服器名稱。如需關於代理伺服器授權的資訊,請參閱「建立代理身份」。
追蹤複製尾碼的修改時間時,名稱和時間戳記屬性會被當成一般屬性而進行複製。如此一來,這些屬性會反映主機伺服器上項目原始修改的時間,而不是複製到用戶的時間。
若要啟用 Directory Server 追蹤此資訊:
- 在 Directory Server Console 最上層的 [組態] 標籤上,選擇組態樹狀目錄中的根節點,然後在右面板中選擇 [設定值] 標籤。
- 選擇 [追蹤項目修改次數] 核取方塊。
伺服器會將 creatorsName、createTimestamp、modifiersName 和 modifyTimestamp 屬性加入至每一個新建或修改的項目。現有項目不會包含建立屬性。
- 按一下 [儲存],然後再重新啟動伺服器。
如需更多資訊,請參閱「啟動和停止目錄伺服器」。
驗證 Plug-in 簽名驗證 Plug-in 簽名是 Directory Server 5.2 的新增功能。Directory Server 所提供的 Plug-in 各有一個數位簽名,可在啟動時由伺服器予以驗證。依預設值,伺服器將會驗證 Plug-in 簽名,但無論簽名是否存在或有效與否,它都會載入每一個 Plug-in。
驗證簽名有下列優點:
配置 Plug-in 簽名的驗證
- 在 Directory Server Console 最上層的 [組態] 標籤上,選擇組態樹狀目錄中的 [Plug-in] 節點。目前的簽名驗證原則顯示在右面板中。
- 選擇下列其中一個選項:
- 按一下 [儲存],然後如「啟動和停止目錄伺服器」中所述重新啟動 Directory Server。
檢視 Plug-in 的狀態
配置 DSML除了在輕量型目錄存取通訊協定 (Lightweight Directory Access Protocol,LDAP) 中處理要求外,Directory Server 現在也回應使用目錄服務標記語言版本 2 (Directory Service Markup Language version 2,DSMLv2) 傳送的要求。DSML 為用戶端編碼目錄作業的另外一種方式,但是伺服器會以所有相同的存取控制及安全性功能,將 DSML 視同任何其他要求來處理。事實上,DSML 處理程序允許很多其他類型的用戶端可以存取您的目錄內容。
Directory Server 支援透過超文字傳輸通訊協定 (Hypertext Transfer Protocol,HTTP/1.1) 使用 DSMLv2,以及使用簡單物件存取通訊協定 (Simple Object Access Protocol,SOAP) 版本 1.1 作為程式設計通訊協定,以傳輸 DSML 內容。如需有關這些通訊協定和 DSML 要求範例的詳細資訊,請參閱「使用 DSMLv2 存取目錄」。
啟用 DSML 要求
由於 LDAP 為存取目錄的標準通訊協定,依預設,安裝 Directory Server 後,不會啟用 DSML 要求。如果您想要自己的伺服器能夠回應透過 HTTP/SOAP 傳送的 DSML 要求,必須確實啟用這項功能。
若要透過主控台在您的伺服器上啟用 DSML 要求:
- 在 Directory Server Console 最上層的 [組態] 標籤上,選擇組態樹狀目錄中的根節點,並選擇右面板中的 [網路] 標籤。
- 選擇 [啟用 DSML] 核取方塊,並選擇下列其中一個安全選項:只有已啟用 SSL 時才可使用安全連接埠選項,如第 11 章「管理驗證和加密」所述。
- 然後編輯下列任何一個欄位:
- 按一下 [儲存],將會提醒您必須重新啟動該伺服器,以開始回應 DSML 要求。
若要透過指令行啟用 DSML 要求:
- 請執行下列 ldapmodify 指令,啟用 DSML 前端 Plug-in 並修改其設定值。修改 ds-hdsml-port、ds-hdsml-secureport 及 ds-hdsml-rooturl 屬性是選用的:
% ldapmodify -h host -p LDAPport -D "cn=Directory Manager" -w passwd
dn:cn=DSMLv2-SOAP-HTTP,cn=frontends,cn=plugins,cn=config
changetype:modify
replace:nsslapd-pluginEnabled
nsslapd-pluginEnabled:on
-
replace:ds-hdsml-port
ds-hdsml-port:DSMLport
-
add:ds-hdsml-secureport
ds-hdsml-port:secureDSMLport
-
replace:ds-hdsml-rooturl
ds-hdsml-root:relativeURL
-
^D配置DSML 安全性
除了先前章節中所述的安全連接埠設定以外,您也可以配置接受 DSML 要求時所需要的安全層級。DSML 前端 Plug-in 的 ds-hdsml-clientauthmethod 屬性,決定用戶端所需要的驗證方法。此屬性可以擁有下列的值:
- httpBasicOnly - 伺服器使用 HTTP Authorization 標頭中的內容,尋找可以對映至目錄中項目的使用者名稱。此處理程序及其組態在「DSML 識別對映」中有進一步的描述。使用此設定時,傳到安全 HTTPS 連接埠的 DSML 要求透過 SSL 加密,但不使用用戶端憑證。
- clientCertOnly - 伺服器會使用用戶端憑證的認證識別用戶端。有了此值,所有 DSML 用戶端都必須使用安全 HTTPS 連接埠傳送 DSML 要求並提供憑證。該伺服器會檢查確認用戶端憑證符合目錄中的項目。如需更多資訊,請參閱第 11 章「管理驗證和加密」。
- clientCertFirst - 伺服器會嘗試先利用用戶端憑證 (如果有提供的話) 來驗證用戶端。否則,該伺服器會使用授權標頭的內容來驗證用戶端。
如果 HTTP 要求中既無憑證也沒有提供授權標頭,則伺服器會以匿名連結執行 DSML 要求。下列情況中也會使用匿名連結:
不論 ds-hdsml-clientauthmethod 屬性值為何,如果提供了憑證,但是此憑證卻無法對應至任何項目,或者如果已指定了 HTTP 授權標頭,但是無法對映至使用者項目,則將會拒絕 DSML 要求並出現錯誤訊息 403:「禁止」。
若要透過主控台設定 DSML 安全需求:
- 在 Directory Server 主控台最上層的 [組態] 標籤上,選擇組態樹狀目錄中的根節點,並選擇右面板中的 [加密] 標籤。
您必須已經依第 11 章「管理驗證和加密」所述配置及啟用 SSL。
- 在 [DSML 用戶端驗證] 欄位中,從下拉式功能表選擇其中一個選項。
- 按一下 [儲存],接著重新啟動伺服器以強制執行新的安全設定。
若要透過指令行設定 DSML 安全需求:
- 請執行下列 ldapmodify 指令,編輯 DSML 前端 Plug-in 的屬性:
% ldapmodify -h host -p LDAPport -D "cn=Directory Manager" -w passwd
dn:cn=DSMLv2-SOAP-HTTP,cn=frontends,cn=plugins,cn=config
changetype:modify
replace:ds-hdsml-clientauthmethod
ds-hdsml-clientauthmethod:httpBasicOnly or
clientCertOnly or clientCertFirst
^D- 修改完成 DSML 前端 Plug-in 後,您必須重新啟動伺服器,強制執行此新的安全設定。
DSML 識別對映
在執行沒有憑證的基本驗證時,Directory Server 會使用稱為識別對映的機制來決定接受 DSML 要求時應使用的連結 DN。此機制會從 HTTP 要求的 Authorization 標頭中擷取資訊,決定要用於連結的識別。如需此機制的完整描述,請參閱「識別對映」。
伺服器組態中的下列項目,提供 DSML-over-HTTP 的預設識別對映:
dn:cn=default,cn=HTTP-BASIC, cn=identity mapping, cn=config
objectclass:top
objectclass:nsContainer
objectclass:dsIdentityMapping
cn:default
dssearchbasedn:ou=People,userRoot
dssearchfilter:(uid=${Authorization})此對映會在 ou=People,userRoot 樹狀子目錄中搜尋其 uid 屬性符合 Authorization 標頭中指定的使用者名稱的項目。userRoot 是您在安裝目錄時定義的尾碼,例如 dc=example,dc=com。
在對映項目屬性內,您可以使用 ${header} 格式的預留位置,其中 header 是 HTTP 標頭的名稱。DSML 對映中最常使用的標頭為:
若要使 DSML 要求執行不同的識別對映,請為 HTTP 標頭定義新的識別對映:
- 編輯預設的 DSML-over-HTTP 識別對映,或為此通訊協定建立自訂的對映。如需識別對映項目中各屬性的定義,請參閱「識別對映」。這些對映必須位於下列項目之下:
cn=HTTP-BASIC, cn=identity mapping, cn=config.您可以依照下列兩種方式之一建立新對映:
- 使用 Directory Server console 最上層的 [目錄] 標籤,用適當的物件類別建立新項目,如「使用主控台管理項目」所述。
- 使用 ldapmodify 工具,從指令行加入此項目,如「使用 ldapmodify 加入項目」中所述。
- 新對映生效前須重新啟動 Directory Server。
系統會先評估自訂對映,而如果自訂對映都不成功,則再評估預設對映。如果所有對映在決定 DSML 要求的連結 DN 時都失敗了,則會禁止並拒絕 DSML 要求 (錯誤 403)。