本章提供了有關將 LDAP 伺服器設置和部署為與 Configuration Manager 一起使用的資訊。
在 Java Desktop System Configuration Manager 架構中,配置資料與實體 (亦即 LDAP 儲存庫中的項目,它們與公司組織結構的元素相對應) 相關聯。
識別的實體包括:
組織:通常表示整個階層結構的組織單元 (部門、群組、團隊) 或地理單元 (大洲、國家/地區、站點)。
使用者:表示整個階層結構的葉節點,顧名思義,通常指使用者。
網域:表示網路組織的邏輯結構單元。
主機:也表示整個階層結構的葉節點,但指網路上的機器。
角色:表示屬性,通常指功能 (管理員和站點管理) 方面的區別,套用於一組使用者。
組織實體和使用者實體用於定義使用者樹,而網域實體和主機實體則定義主機樹。這兩種樹相互獨立,但在架構中的處理方法類似。
組織實體和網域實體與其他實體的關係由實體在儲存庫中的實際位置所定義。即組織實體和網域實體可包含樹中位於這兩個實體下面的任何項目。角色與使用者或主機的關係由使用者項目和主機項目的屬性所定義。
與實體關聯的配置資料儲存在由架構所管理的特殊項目中。這些項目可透過與項目關聯的服務名稱和服務容器來識別。
若要將現有 LDAP 伺服器與 Configuration Manager 一起使用,您需要:
延伸伺服器模式,以支援 Configuration Manager 用來儲存配置資料所用的自訂物件類別和屬性。
在伺服器中自訂與儲存儲存庫中項目與 Configuration Manager 所支援的實體之間的對映資訊。
將現有 LDAP 伺服器與 Configuration Manager 一起使用時需要使用安裝 CD 上的以下部署工具:
88apoc-registry.ldif:介紹儲存配置資料所需物件類別和屬性的模式檔案。
OrganizationMapping:描述 LDAP 項目與 Configuration Manager 實體之間對映的預設特性檔案。
UserProfileMapping:描述 LDAP 使用者項目屬性與 Configuration Manager 使用者設定檔屬性之間對映的預設特性檔案。
createServiceTree:將對映檔案儲存在 LDAP 儲存庫中的程序檔。
deployApoc:延伸 LDAP 伺服器模式並將對映檔案儲存在 LDAP 儲存庫中的程序檔。
配置資料儲存在與資料關聯的項目隨附的項目樹中。在 LDAP 伺服器上儲存這些樹所使用的物件類別和屬性之前,您必須將物件和類別加入 LDAP 伺服器模式。例如,提供的模式延伸檔案使用 LDIF 格式將這些物件和類別增加到 Sun JavaTM System Directory Server 中。若要將這些物件和類別加入其他 LDAP 伺服器,您需要使用伺服器可識別的格式。
若要定義 LDAP 項目和 Configuration Manager 實體之間的對映,則必須編輯 Organization 對映檔案。必須為各種鍵提供符合 LDAP 系統訊息庫佈局的值。
使用者實體可透過所有實體均使用的物件類別來識別,也可由其值在整個系統訊息庫中唯一的屬性識別。可提供顯示名稱格式以決定使用者在管理應用程式中的顯示方式,或者如果組織中的使用者項目使用容器項目,則亦可定義該類項目。鍵名稱及其預設值包括:
# Object class that all user entries use User/ObjectClass=inetorgperson # Attribute whose value in user entries is unique within the repository User/UniqueIdAttribute=uid # Optional container in organization entries of the user entries, # remove line if not used User/Container=ou=People # Display name format within the management application User/DisplayNameFormat=sn, givenname
角色實體可由其使用的可能物件類別清單以及相應的命名屬性清單來識別。這些清單使用格式 <item1>,<item2>,...,<itemN> 並且必須對齊。即,各清單必須含有相同的項目數,且第 n 個物件類別必須與第 n 個命名屬性配合使用。兩個鍵定義角色與使用者之間的關係,以及角色與主機之間的關係。VirtualMemberAttribute 鍵必須從使用者項目或主機項目指定可查詢其值的屬性。該鍵還必須包含項目所從屬角色的完整 DN。MemberAttribute 鍵必須從使用者項目或主機項目為搜尋過濾器指定屬性。該鍵還必須包含使用者或主機所從屬角色的完整 DN。VirtualMemberAttribute 鍵可以是一種服務虛擬屬性,而 MemberAttribute 鍵則必須是可在過濾器中使用的實際屬性。鍵名稱及其預設值包括:
# List of object classes for roles Role/ObjectClass=nsRoleDefinition # Aligned list of corresponding naming attributes Role/NamingAttribute=cn # Physical attribute (usable in a filter) containing the DNs # of the roles of a user/host Role/MemberAttribute=nsRoleDN # Attribute whose query on a user or host return the DNs of the # roles it belongs to Role/VirtualMemberAttribute=nsRole
識別組織實體的方法類似於識別角色的方法,即,使用兩個對齊清單 (物件類別清單和相應命名屬性清單)。鍵名稱及其預設值包括:
# List of object classes for organizations Organization/ObjectClass=organization # Aligned list of corresponding naming attributes Organization/NamingAttribute=o
識別網域實體的方法類似於識別組織實體的方法。鍵名稱及其預設值包括:
# List of object classes for domains Domain/ObjectClass=ipNetwork # Aligned list of corresponding naming attributes Domain/NamingAttribute=cn
識別主機實體的方法類似於識別使用者實體的方法。鍵名稱及其預設值包括:
# Object class that all host entries use Host/ObjectClass=ipHost # Attribute whose value in host entries is unique within the repository Host/UniqueIdAttribute=cn # Optional container in domain entries of the host entries, # remove line if not used Host/Container=ou=Hosts
若要定義 LDAP 使用者項目屬性與 Configuration Manager 使用者實體屬性之間的對映,則必須編輯使用者設定檔對映檔案。每個鍵均對應一個 Configuration Manager 使用者屬性。由於鍵已被組織對映識別,因此可被指定為使用者項目中屬性名稱的值。User/DisplayNameFormat 設定中所用的屬性必須在 User Profile 對映中指定。鍵名稱及其預設值包括:
# inetOrgPerson.givenName org.openoffice.UserProfile/Data/givenname = givenname # person.sn org.openoffice.UserProfile/Data/sn = sn # inetOrgPerson.initials org.openoffice.UserProfile/Data/initials = initials # organizationalPerson.street org.openoffice.UserProfile/Data/street = street,postalAddress,streetAddress # organizationalPerson.l (city) org.openoffice.UserProfile/Data/l = l # organizationalPerson.st (state) org.openoffice.UserProfile/Data/st = st # organizationalPerson.postalCode org.openoffice.UserProfile/Data/postalcode = postalcode # country.c (country) org.openoffice.UserProfile/Data/c = # organizationalPerson.o (company) org.openoffice.UserProfile/Data/o = o,organizationName # deprecated -- no LDAP corollary org.openoffice.UserProfile/Data/position = # organizationalPerson.title org.openoffice.UserProfile/Data/title = title # inetOrgPerson.homePhone org.openoffice.UserProfile/Data/homephone = homephone # organizationalPerson.telephoneNumber org.openoffice.UserProfile/Data/telephonenumber = telephonenumber # organizationalPerson.facsimileTelephoneNumber org.openoffice.UserProfile/Data/facsimiletelephonenumber = facsimiletelephonenumber,officeFax # inetOrgPerson.mail org.openoffice.UserProfile/Data/mail = mail
已將對映檔案自訂為反映 LDAP 儲存庫的狀態之後,即可對其進行部署。如果 LDAP 伺服器模式已包含所需的物件類別和屬性,則可以直接執行程序檔 createServiceTree,否則必須執行程序檔 deployApoc。
deployApoc 程序檔旨在與 Sun JavaTM System Directory Server 一起使用。它會將提供的模式延伸檔案複製到適當的目錄並重新啟動 LDAP 伺服器,然後呼叫 createServiceTree 程序檔。必須將它做為具有在模式系統訊息庫中複製檔案和重新啟動伺服器之許可權的使用者來執行,並且必須透過以下指令啟動它:
./deployApoc <Directoy Server Directory>
<Directoy Server Directory> 參數必須是 目錄伺服器 安裝的 slapd-<server name> 子目錄的路徑。假定安裝使用預設目錄,並且伺服器名為 myserver.mydomain,則該目錄將是 /var/Sun/mps/slapd-myserver.mydomain。
createServiceTree 程序檔無論被直接呼叫,還是透過 deployApoc 程序檔呼叫,均將提示使用者提供 LDAP 伺服器 (主機名稱、連接埠號和基底 DN) 的位置以及擁有管理權限的使用者的定義 (完整 DN 和密碼)。然後程序檔會在 LDAP 伺服器中建立啟動程式服務樹並在其中儲存對映檔案。可將其做為任何使用者執行,並可透過以下指令來啟動它:
./createServiceTree
然後提示使用者輸入:
[主機名稱] (預設值:localhost):LDAP 伺服器的主機名稱,
[連接埠號] (預設值:389):LDAP 伺服器的連接埠號,
[基底 DN]:LDAP 系統訊息庫的基底 DN,
[使用者 DN] (預設值:cn=Directory Manager):具有足夠權限以在基底 DN 下建立新項目之使用者的完整 DN,
[密碼]:該使用者的密碼,
已建立 DN 為:
ou=ApocRegistry,ou=default,ou=OrganizationConfig,ou=1.0,ou=ApocService,ou=services, <baseDN>
的項目,並使用兩個對映檔案的內容來填充。
如前所述,deployApoc 程序檔執行的作業假定了一個安裝目錄、佈局和模式延伸程序與 Sun Java System Directory Server 的對應項很相似的 LDAP 伺服器。在能夠執行 createServiceTree 程序檔之前,其他目錄將需要對模式進行手動延伸。如需有關使用 OpenLDAP 和 ActiveDirectory 的進一步資訊,請參閱附錄 C將 OpenLDAP 和 Active Directory 與 Configuration Manager 一起使用。
建立的樹 (與將要儲存實體關聯的配置資料的樹匹配) 會與在 Sun Java 系統識別伺服器 中用於服務管理的樹在結構上對齊。
Configuration Manager 架構需要能夠建立連線至 LDAP 伺服器,且該連線要具有讀取和搜尋許可權,以便識別哪個完整 DN 與來自桌面的特定使用者或主機識別碼關聯。為此,必須配置系統訊息庫,以允許匿名連接,或者必須建立具有讀取和搜尋存取權的特殊使用者。
管理應用程式會在對映至實體的項目下建立服務樹,以儲存這些實體的配置資料。因此,用於管理的使用者項目需要具有在其管理的項目之下建立子項目的權限。
使用名稱為 Anonymous 和 GSSAPI 的兩種方法,可從桌面用戶端認證架構的使用者。由於桌面用戶端在嘗試從 LDAP 伺服器擷取資料時將不提供任何憑證,因此 Anonymous 方法需要在整個儲存庫中啟用讀取和搜尋的匿名存取。若要使用 GSSAPI 方法 (使用 Kerberos
來進行認證),必須按照「Sun JavaTM System
Directory Server 5 2004Q2 Administration Guide」中的「Managing Authentication and Encryption」一章所述配置 LDAP 伺服器。