Sun Java System Web Server 7.0 Update 3 管理員指南

靜態和動態群組

群組是描述 LDAP 資料庫中物件集的物件。Web Server 7.0 群組由共用某個一般屬性的使用者組成。例如,物件集可能是在您公司行銷部工作的一些員工。這些員工可能屬於稱為 Marketing 的群組。

對於 LDAP 服務,定義群組成員關係的方式有兩種: 靜態和動態。靜態群組會明確列舉其成員物件。一個靜態群組就是一個 CN,包含 uniqueMembers 和/或 memberURLs 和/或 memberCertDescriptions。靜態群組的成員並不共用某個一般屬性,但 CN=<Groupname> 屬性除外。

動態群組允許您使用 LDAP URL 來定義僅與群組成員符合的規則集。動態群組的成員共用 memberURL 篩選器中定義的一般屬性或屬性集。例如,如果您需要一個包含所有 Sales 人員的群組,且他們已位於以下的 LDAP 資料庫

ou=Sales,o=Airius.com」中,您需要使用以下 memberurl 定義一個動態群組:

ldap:///ou=Sales,o=Airius.com??sub?(uid=*)

隨後,此群組將包含樹中「ou=Sales,o=sun」點下具有 uid 屬性的所有物件,即所有 Sales 成員。

對於靜態和動態群組,如果您使用 memberCertDescription,則成員可以共用憑證中的一般屬性。請注意,這些僅在 ACL 使用 SSL 方法時才適用。

建立新群組後,您即可在其中增加使用者或成員。

靜態群組

對於 LDAP服務,管理伺服器可使您透過在任意數量使用者的 DN 中指定相同群組屬性來建立靜態群組。靜態群組僅在您於其中加入或刪除使用者時才變更。

建立靜態群組的指導原則

使用管理伺服器表單來建立新的靜態群組時,請考量以下準則:

動態群組

動態群組具有 groupOfURLsobjectclass,並具有零個或多個 memberURL 屬性,每一個屬性都是描述物件集的 LDAP URL。

對於 LDAP 服務,如果您想要根據任意屬性將使用者自動分組,或者想要將 ACL 套用至包含相符 DN 的特定群組,Web 伺服器可使您建立動態群組。例如,您可以建立一個群組,該群組將自動包括含有department=marketing 屬性的任何 DN。如果您為 department=marketing 套用搜尋篩選器,則搜尋將傳回一個群組,其中包括含有 department=marketing 屬性的所有 DN。然後,您可以基於此篩選器的搜尋結果來定義動態群組。隨後,您可以針對結果動態群組定義一個 ACL。

Web 伺服器實作動態群組的方式

Web 伺服器在 LDAP 伺服器模式中以 objectclass = groupOfURLs 來實作動態群組。groupOfURLS 類別可以具有多個 memberURL 屬性,每個屬性均包含一個 LDAP URL,用來列舉目錄中的物件集。群組成員將是這些物件集的併集。例如,以下群組僅包含一個成員 URL:

ldap:///o=mcom.com??sub?(department=marketing)

此範例所說明的集合包含「o=mcom.com」之下所屬部門為「行銷」的所有物件。LDAP URL 可包含搜尋基底 DN、範圍與篩選器,但不包含主機名稱與連接埠。這就意味著您僅能參考同一 LDAP 伺服器上的物件。支援所有範圍。

將自動包括 DN,而無須您在群組中逐個增加。此伺服器實例僅具有一個 HTTP 偵聽程式,可在連接埠 80 (或在安裝時選取的任何連接埠) 上偵聽配置給電腦的任何 IP 位址。ACL 檔案中使用的使用者和群組名稱與 LDAP 資料庫中物件的 cn 屬性相對應。


備註 –

Web 伺服器使用 cn (commonName) 屬性做為 ACL 的群組名稱。


ACL 與 LDAP 資料庫的對映定義於 dbswitch.conf 配置檔案 (將 ACL 資料庫名稱與實際 LDAP 資料庫 URL 關聯) 中,以及 ACL 檔案 (定義各資料庫可用於哪個 ACL) 中。例如,若想讓「staff」群組中的成員擁有基底存取權限,ACL 代碼將查詢物件類別為 groupOf<anything> 且 CN 設定為 staff 的物件。物件定義群組成員的方式有兩種:明確列舉成員 DN (靜態群組的 groupOfUniqueNames 作業即如此),或指定 LDAP URL (例如,groupOfURLs)。

群組可以為靜態和動態

群組物件可同時具有 objectclass = groupOfUniqueMembersobjectclass = groupOfURLs,因此「uniqueMember」和「memberURL」屬性都是有效的。群組的成員關係是其靜態成員和動態成員的併集。

動態群組對伺服器效能的影響

使用動態群組時會影響伺服器的效能。如果您正在測試群組成員關係,且 DN 不是靜態群組的成員,則 Web 伺服器將會檢查資料庫基底 DN 中的所有動態群組。Web 伺服器為完成此作業,會檢查基底 DN 和範圍 (對照使用者的 DN),並藉由使用者 DN (做為基底 DN) 和篩選器 memberURL 來執行基底搜尋,從而檢查每一個 memberURL 是否符合。此程序會產生大量的個別搜尋。

建立動態群組的指導原則

使用管理伺服器建立新動態群組時,請考量以下準則:

表 8–1 動態群組:必要參數

參數名稱  

說明  

<base_dn>

搜尋基底的辨別名稱 (DN) 或 LDAP 目錄中執行的所有搜尋的起始點。此參數經常設定為該目錄的後綴或根,例如「o=mcom.com」。

<attributes>

搜尋將傳回的屬性清單。若要指定一個以上的屬性,請使用逗號分隔這些屬性 (例如,「cn,mail,telephoneNumber」);如果未指定任何屬性,則傳回所有屬性。請注意,動態群組成員關係檢查將忽略此參數。

<scope>

搜尋的範圍,可以是下列值之一: 

  • base 僅擷取於 URL 中指定的有關辨別名稱 (<base_dn>) 相關資訊。

  • one 擷取於 URL 中指定且低於辨別名稱 (<base_dn>) 一個層級的項目之資訊。此範圍不包括基準項目。

  • sub 擷取於在 URL 中指定且低於辨別名稱 (<base_dn>) 的所有層級的項目相關資訊。此範圍包括基準項目。

    此參數是必需的。

<(filter)>

套用至搜尋指定範圍內項目的搜尋篩選器。如果您使用的是管理伺服器表單,則必須指定此屬性。請注意,必須帶有括號。 

此參數是必需的。 

請注意,<attributes><scope><(filter)> 參數是依據它們在 URL 中的位置進行識別的。即使您不想指定任何屬性,也仍需要包括問號來分隔該欄位。