在此發行版本的 Delegated Administrator 中,您必須使用 Delegated Administrator 提供的自訂服務提供者範本 (da.provider.skeleton.ldif) 來建立您自己的提供者組織和 SPA。
您也可以在執行 Delegated Administrator 配置程式時,在目錄中安裝提供者組織 (帶有從屬組織) 範例和 SPA 範例。您可以透過選擇配置程式中的 [載入組織範例] 來執行此作業。
但是,組織範本範例 (da.sample.data.ldif) 僅用做範例,而非建立自己的提供者組織的範本。如需有關此範例的詳細資訊,請參閱本附錄後面部分的服務提供者組織資料範例。
建立提供者組織和 SPA 後,SPA 即可登入 Delegated Administrator 主控台、建立和管理從屬組織以及將 SPA 角色指定給 SPA 組織中的其他使用者。但是,這些 SPA 只能管理同一提供者組織。
若要建立其他提供者組織和管理該組織的 SPA,您應再次使用自訂服務提供者範本。
本小節包含以下主題:
範本建立的項目顯示在目錄中安裝已編輯的範本時建立的組織之範例。
建立提供者組織、從屬組織和 SPA 所需的資訊定義範本中建立提供者組織、從屬共用組織和 SPA 所需的參數。
建立提供者組織和服務提供者管理員的步驟說明如何在目錄中編輯範本以及安裝資訊。
自訂服務提供者範本是範本清單。
提供者組織
被指定保留 SPA 使用者的從屬共用組織
從屬共用組織中一個被指定 SPA 角色的使用者
可以在其下建立完整組織的預留位置節點。這些完整組織將由此提供者組織的 SPA 管理。
圖 A–2 顯示了透過安裝範本建立的項目範例。其為組織的目錄資訊樹狀結構 (DIT) 視圖。
圖 A–2 只是一個範例。您的組織名稱、SPA 使用者名稱和 DIT 結構應該特定於您自己的安裝。
圖 A–2 所示範例中的節點如下:
o=usergroup - 使用者/群組資料的根字尾。
o=siroe.com - 提供者組織使用的郵件網域。
o=MyProviderOrg - 提供者組織節點。
o=MySPAUserOrg - 指定保留提供者組織使用者 (包含被指定 SPA 角色的使用者) 的從屬共用組織。
ou=people - 包含使用者所需的標準 LDAP 組織單位。
uid=user1 - MySPAUserOrg 組織中被指定為 SPA 的使用者的 uid。
o=MyProviderOrgDomainsRoot - 用於保留從屬於 MyProviderOrg 提供者組織的完整組織的預留位置節點。
若要建立提供者組織、從屬組織和 SPA,您需要使用您的安裝的特定資訊替代自訂服務提供者範本中的參數。
若要瞭解這些參數,可以查看自訂服務提供者範本中所示的 da.provider.skeleton.ldif 清單。或開啟實際 ldif 檔案,該檔案位於以下目錄中:
da_base/lib/config-templates
如需與這些參數相關之屬性的定義,請參閱「Sun Java System Communications Services Schema Reference」中的「Chapter 5: Communications Services Delegated Administrator Classes and Attributes (Schema 2)」和「Chapter 3: Messaging Server and Calendar Server Attributes」。
若要建立提供者組織和從屬組織,請編輯以下參數:
ugldapbasedn
目錄中使用者/群組資料的根字尾。
範例:
o=usergroup
dc=red,dc=iplanet,dc=com
maildomain_dn
將在其下建立提供者組織的郵件網域的完整 DN。
範例:
o=siroe.com, o=usergroup
o=sesta.com,o=SharedDomainsRoot,o=Business,dc=red, \ dc=iplanet,dc=com |
maildomain_dn_str
郵件網域 DN 中的所有逗號 (,) 都由底線 (_) 替代。
例如,如果郵件網域 DN 為
o=siroe.com,o=SharedDomainsRoot,o=Business,dc=red, \ dc=iplanet,dc=com |
郵件網域 DN 字串將為
o=siroe.com_o=SharedDomainsRoot_o=Business_dc=red_ \ dc=iplanet_dc=com |
providerorg
提供者組織的名稱。將為提供者組織所在的目錄節點指定此名稱。
此參數多次在 da.provider.skeleton.ldif 範本中使用。
範例:
sunProviderOrgDN: o=MyProviderOrg,o=siroe.com,o=usergroup
o=MyProviderOrg
sunBusinessOrgBase: o=MyProviderOrgdomainsroot, o=usergroup
servicepackage
可以指定給從屬於提供者組織的組織中使用者的服務套裝軟體的名稱。這是一個多值參數。
在 da.provider.skeleton.ldif 檔案的 [提供者組織] 區段中,您將看到以下屬性:
sunIncludeServices: <servicepackage>
針對您要包含在提供者組織中的每個服務套裝軟體,增加一個 sunIncludeServices 屬性和 servicepackage 參數的實例。僅可將此處列出的這些服務套裝軟體指定給從屬組織中的使用者。
範例:
sunIncludeServices: gold sunIncludeServices: platinum sunIncludeServices: ruby sunIncludeServices: silver |
如果您未使用 sunIncludeServices 屬性 (如果您刪除包含 servicepackage 參數的行),則可以指定目錄中的所有服務套裝軟體。
domain_name
可以指定給提供者組織中的從屬組織的網域名稱。這是一個多值參數。
在 da.provider.skeleton.ldif 檔案的 [提供者組織] 區段中,您將看到以下屬性:
sunAssignableDomains: <domain_name>
sunAssignableDomains 屬性中的網域名稱是郵件網域組織的 sunPreferredDomain 和 associatedDomain 屬性中列出的名稱之子集 (一些或全部)。(郵件網域是其下建立此提供者組織的組織。)
針對您要包含在提供者組織中的每個網域名稱,增加一個 sunAssignableDomains 屬性和 domain_name 參數的實例。僅可將此處列出的網域名稱指定給從屬組織。
範例:
sunAssignableDomains: siroe.com sunAssignableDomains: siroe.net sunAssignableDomains: varrius.com sunAssignableDomains: sesta.com sunAssignableDomains: sesta.net |
provider_sub_org
SPA 使用者所在的共用組織的名稱。在目錄中安裝已編輯的 ldif 資訊時,會將該組織建立為提供者組織的共用組織和從屬組織。該組織會被指定為包含 SPA 使用者的組織。此提供者組織中被指定 SPA 角色的其他使用者必須在此從屬共用組織中。
在 da.provider.skeleton.ldif 檔案的 [提供者組織] 區段中,您將看到以下屬性:
sunProviderOrgDN: o=<provider_sub_org>,o=<providerorg>,<maildomain_dn> |
sunProviderOrgDN 屬性可識別為提供者組織使用者,特別是 SPA 使用者指定的組織。
範例:
sunProviderOrgDN: o=MySPAUserOrg,o=MyProviderOrg,o=siroe.com,o=usergroup |
preferredmailhost
提供者組織的從屬組織 (SPA 使用者所在的組織) 之喜好郵件主機的機器名稱。您必須使用完全合格的網域名稱 (FQDN)。
在 da.provider.skeleton.ldif 檔案的 [共用從屬組織] 區段中,您將看到以下屬性:
preferredMailHost: <preferredmailhost>
範例:
preferredMailHost: mail.siroe.com
available_domain_name
可以指定給特定從屬組織中使用者的網域名稱。這是一個多值參數。
available_domain_name 的值是為 sunAssignableDomains: <domain_name> 屬性和參數指定的值的適當子集。domain_name 套用於整個提供者組織,而 available_domain_name 套用於單一從屬組織。
在 da.provider.skeleton.ldif 檔案的 [共用從屬組織] 區段中,您將看到以下屬性:
sunAvailableDomainNames: <available_domain_name>
針對您希望此從屬組織從提供者組織之 sunAssignableDomains 屬性中的網域名稱清單繼承的每個網域名稱,增加一個 sunAvailableDomains 屬性和 available_domain_name 參數的實例。僅可將此處列出的網域名稱指定給從屬組織。
範例:
sunAvailableDomainNames: siroe.com sunAvailableDomainNames: siroe.net sunAvailableDomainNames: varrius.com |
available_services
可用於特定從屬組織的服務套裝軟體。這是一個多值參數。
指定給從屬組織的服務套裝軟體是使用 sunIncludeServices 屬性指定給整個提供者組織的服務套裝軟體的子集。
在 da.provider.skeleton.ldif 檔案的 [共用從屬組織] 區段中,您將看到以下屬性:
sunAvailableServices: <available_services>
available_services 參數的格式為
service package name: count |
其中,count 為整數。如果缺少 count,則預設值為無限制的數。
針對您希望此從屬組織從提供者組織的 sunIncludeServices 屬性中可用的服務套裝軟體繼承之每個服務套裝軟體,增加一個 sunAvailableServices 屬性和 available_services 參數的實例。
範例:
sunAvailableServices: gold:1500 sunAvailableServices: platinum:2000 sunAvailableServices: silver:5000 |
若要建立 SPA,請編輯以下參數:
spa_uid
SPA 使用者的使用者 ID。
範例:
uid: user1
spa_password
SPA 使用者的密碼。
範例:
userPassword: x12P3&qrS
spa_firstname
SPA 使用者的名字。
範例:
givenname: John
spa_lastname
SPA 使用者的姓氏。
範例:
sn: Smith
spa_servicepackage
指定給 SPA 使用者的服務套裝軟體。如需有關服務套裝軟體的資訊,請參閱第 1 章, Delegated Administrator 簡介中的服務套裝軟體。
範例:
inetCos: platinum
spa_mailaddress
SPA 使用者的郵件位址。郵件位址的網域部分必須是替代 available_domain_name 參數的網域值之一。亦即必須是可用於從屬組織 (SPA 使用者所在的組織) 中的網域。如需更多資訊,請參閱定義提供者組織和從屬組織的參數。
範例:
mail: user1@siroe.com
如需有關如何在目錄中編輯自訂服務提供者範本和安裝資訊的說明,請參閱建立提供者組織和服務提供者管理員的步驟。
您可以使用 ldif 檔案 da.provider.skeleton.ldif 執行以下程序。
在目錄中建立郵件網域。
如果您尚未建立郵件網域,請在目錄中執行此作業。提供者組織及其從屬共用組織將使用此郵件網域。
複製並重新命名 da.provider.skeleton.ldif 檔案。
安裝 Delegated Administrator 時,da.provider.skeleton.ldif 檔案會安裝在以下目錄中:
da_base /lib/config-templates
在 da.provider.skeleton.ldif 檔案副本中編輯以下參數。使用對於您的安裝正確的值替代這些參數。
如需參數的定義,請參閱建立提供者組織、從屬組織和 SPA 所需的資訊。
某些參數在 ldif 檔案中使用多次。您必須搜尋並替代每個參數的所有實例。
一些參數代表多值屬性的值。您可以複製和編輯這些參數及其關聯屬性名稱,以允許 ldif 檔案中存在這些屬性的多個實例。以下註明了多值參數。
<ugldapbasedn>
<maildomain_dn>
<maildomain_dn_str>
<providerorg>
<servicepackage> (多值)
<domain_name> (多值)
<provider_sub_org>
<preferredmailhost>
<available_domain_name> (多值)
<available_services> (多值)
<spa_uid>
<spa_password>
<spa_firstname>
<spa_lastname>
<spa_servicepackage>
<spa_mailaddress>
如需與這些參數相關之屬性的定義,請參閱「Sun Java System Communications Services Schema Reference」中的「Chapter 5: Communications Services Delegated Administrator Classes and Attributes (Schema 2)」和「Chapter 3: Messaging Server and Calendar Server Attributes」。
使用 LDAP 目錄工具 ldapmodify 在目錄中安裝提供者組織和 SPA。
例如,您可以執行以下指令:
ldapmodify -D <directory manager> -w <password> \ -f <da.provider.finished.ldif> |
其中,
<directory manager> 是 Directory Server 管理員的名稱。
<password> 是 Directory Service 管理員的密碼。
<da.provider.finished.ldif> 是要做為新的提供者組織和 SPA 安裝在目錄中的已編輯 ldif 檔案的名稱。
範本 (da.provider.skeleton.ldif) 包含您必須修改以建立新的提供者組織和 SPA 的參數。
下面的清單顯示 ldif 檔案中具有參數的區段。該清單未包含整個檔案。此處未包含支援 Access Manager 所需的項目和 ACI。
您應僅修改 ldif 檔案中的參數。請勿修改與 Access Manager 相關的檔案區段。
# # The following parameterized values must be replaced. # # <ugldapbasedn> :: Root suffix for user/group data # <maildomain_dn> :: Complete dn of the mail domain underneath # which the provider organization will be # created. # <maildomain_dn_str> :: The maildomain dn with all ',' replaced # by '_'. E.g. # dn --\> o=siroe.com,o=SharedDomainsRoot, # o=Business,dc=red,dc=iplanet,dc=com # dn_str --> o=siroe.com_o=SharedDomainsRoot_ # o=Business_dc=red_dc=iplanet_dc=com # <providerorg> : Organization value for provider node. # <servicepackage> :: One for each service package to include. # All service packages in the system # may be assigned by leaving this value empty. # <domain_name> :: One for each DNS name which may be assigned # to a subordinate organization. # These names form a proper subset (some or # all) of the names listed in the <maildomain> # organization's sunpreferreddomain # and associateddomain attributes. # <provider_sub_org> :: Organization value for the shared subordinate # organization in which the Provider # Administrator resides. # <preferredmailhost> :: Name of the preferred mail host for the # provider's subordinate organization. # <available_domain_name> :: one for each DNS name that an organization # allows an organization admin to use when # creating a user's mail address. This is # a proper subset of the values given for # <domain_name> (sunAssignableDomains attribute). # <available_services> :: One for each service packags available to an # organization (sunAvailableServices attribute). # These service packages form a proper subset # of the ones assigned to a provider organization # - <servicepackage> (sunIncludeServices # attribute). Form is # <service package name>:<count> # where count is an integer. If count is absent # then default is unlimited. # <spa_uid> :: The uid for the service provider administrator. # <spa_password> :: The password for the service provider # administrator. # <spa_firstname> :: First name of the service provider # administrator. # <spa_lastname> :: Last name of the service provider # administrator. # <spa_servicepackage> :: Service package assigned to the service # provider administrator. # <spa_mailaddress> :: The spa's mail address. The domain part of the # mail address must be one of the values used for # <available_domain_name>. # # # Provider Organization # dn: o=<providerorg>,<maildomain_dn> changetype: add o: <providerorg> objectClass: top objectClass: sunismanagedorganization objectClass: sunmanagedorganization objectClass: organization objectClass: sunManagedProvider sunAllowBusinessOrgType: full sunAllowBusinessOrgType: shared sunBusinessOrgBase: o=<providerorg>domainsroot,<ugldapbasedn> sunIncludeServices: <servicepackage> sunAssignableDomains: <domain_name> sunAllowMultipleDomains: true sunAllowOutsideAdmins: false sunProviderOrgDN: o=<provider_sub_org>,o=<providerorg>,<maildomain_dn> # . # . # [Entries and ACIs required by Access Manager] # . # . # # Full Organizations node # dn: o=<providerorg>DomainsRoot,<ugldapbasedn> changetype: add o: <providerorg>DomainsRoot objectClass: top objectClass: organization objectClass: sunmanagedorganization # . # . # [Entries and ACIs required by Access Manager] # . # . # # Provider Admin Role shared organizations # dn: cn=Provider Admin Role,o=<providerorg>,<maildomain_dn> changetype: add cn: Provider Admin Role objectClass: ldapsubentry objectClass: nssimpleroledefinition objectClass: nsroledefinition objectClass: nsmanagedroledefinition objectClass: iplanet-am-managed-role objectClass: top iplanet-am-role-description: Provider Admin # # Provider Admin Role full organizations # dn: cn=Provider Admin Role,o=<providerorg>DomainsRoot,<ugldapbasedn> changetype: add cn: Provider Admin Role objectClass: ldapsubentry objectClass: nssimpleroledefinition objectClass: nsroledefinition objectClass: nsmanagedroledefinition objectClass: iplanet-am-managed-role objectClass: top iplanet-am-role-description: Provider Admin # # Shared Subordinate Organization. Includes 1 user who is # the Provider Administrator. # dn: o=<provider_sub_org>,=<providerorg>,<maildomain_dn> changetype: add preferredMailHost: <preferredmailhost> sunNameSpaceUniqueAttrs: uid o: <provider_sub_org> objectClass: inetdomainauthinfo objectClass: top objectClass: sunismanagedorganization objectClass: sunnamespace objectClass: sunmanagedorganization objectClass: organization objectClass: sunDelegatedOrganization objectClass: sunMailOrganization sunAvailableDomainNames: <available_domain_name> sunAvailableServices: <available_services> sunOrgType: shared sunMaxUsers: -1 sunNumUsers: 1 sunMaxGroups: -1 sunNumGroups: 0 sunEnableGAB: true sunAllowMultipleServices: true inetDomainStatus: active sunRegisteredServiceName: GroupMailService sunRegisteredServiceName: DomainMailService sunRegisteredServiceName: UserMailService sunRegisteredServiceName: iPlanetAMAuthService sunRegisteredServiceName: UserCalendarService sunRegisteredServiceName: iPlanetAMAuthLDAPService sunRegisteredServiceName: DomainCalendarService # . # . # [Entries and ACIs required by Access Manager] # . # . dn: ou=People,o=<provider_sub_org>,o=<providerorg>,<maildomain_dn> changetype: add ou: People objectClass: iplanet-am-managed-people-container objectClass: organizationalUnit objectClass: top dn: ou=Groups,o=<provider_sub_org>,o=<providerorg>,<maildomain_dn> changetype: add ou: Groups objectClass: iplanet-am-managed-group-container objectClass: organizationalUnit objectClass: top # . # . # [Entries and ACIs required by Access Manager] # . # . # # User - provider administrator # dn: uid=<spa_uid>,ou=People,o=<provider_sub_org>,o=<providerorg>, \ <maildomain_dn> changetype: add sn: <spa_lastname> givenname: <spa_firstname> cn: <spa_firstname> <spa_lastname> uid: <spa_uid> iplanet-am-modifiable-by: cn=Top-level Admin Role,<ugldapbasedn> objectClass: inetAdmin objectClass: top objectClass: iplanet-am-managed-person objectClass: iplanet-am-user-service objectClass: iPlanetPreferences objectClass: person objectClass: organizationalPerson objectClass: inetuser objectClass: inetOrgPerson objectClass: ipUser objectClass: inetMailUser objectClass: inetLocalMailRecipient objectClass: inetSubscriber objectClass: userPresenceProfile objectClass: icsCalendarUser mailhost: <preferredmailhost> mail: <spa_mailaddress> maildeliveryoption: mailbox mailuserstatus: active inetCos: <spa_servicepackage> inetUserStatus: Active nsroledn: cn=Provider Admin Role,o=<providerorg>,<maildomain_dn> userPassword: <spa_password>