Sun Java System Communications Services 6 2005Q1 Delegated Administrator 指南 |
附录 A
服务提供商管理员和服务提供商组织Delegated Administrator 控制台提供了新的管理员角色(服务提供商管理员 (Service Provider Administrator, SPA))以及可以在目录中创建的新的组织类型。
本附录介绍了以下主题:
本附录介绍了服务提供商管理员角色和新的组织类型,并说明了如何在 Delegated Administrator 中创建它们。
服务提供商管理员Delegated Administrator 控制台允许您将管理任务委托给新的角色,即服务提供商管理员 (SPA),该角色可以创建和管理新类型的从属组织。
SPA 的权限范围介于顶级管理员 (Top-Level Administrator, TLA) 和组织管理员 (Organization Administrator, OA) 之间。
通过 SPA,可以创建三层管理结构,如第 1 章“Delegated Administrator 概述”的三层结构中所述。
第二级委托可以简化对大型 LDAP 目录所支持的大客户群的管理。例如,ISP 可以为数百或数千家小型企业提供服务,其中每家企业都要求拥有自身的组织。每天都可能会有许多组织添加到该目录中。
如果您使用的是双层结构,则 TLA 必须创建所有这些新组织。现在,TLA 便可以将这些任务委托给 SPA。
SPA 可以为新客户创建从属组织,并指定 OA 来管理这些组织中的用户。
图 A-1 显示了三层组织结构样例的逻辑视图。
图 A-1
使用服务提供商管理员的目录:逻辑视图
图 A-1 中的示例显示了一个提供商组织。但是,一个目录可以包含多个提供商组织。
在此示例中,管理任务的委托情况如下:
有关提供商和从属组织的定义,请参见由服务提供商管理员管理的组织。
服务提供商管理员角色
SPA 可以执行以下任务:
在图 A-1 所示的示例中,VIS 提供商组织的 SPA 可以
例如,在图 A-1 所示的样例组织中,SPA 可以将 OA 角色分配给 SESTA 组织中的 user2。然后,user2 便可以管理 SESTA 组织中的用户。
SPA 还可以删除用户的 OA 角色。
有关服务等级软件包的信息,请参见第 1 章“Delegated Administrator 概述”中的服务软件包。
SPA 可以将指定类型的服务等级软件包分配给组织,并确定可以在该组织中使用的每个软件包的最大数量。
例如,SPA 可以分配以下服务等级软件包:
SPA 可以使用 Delegated Administrator 控制台来执行这些任务。在此版本中,Delegated Administrator 实用程序不包括用于执行这些任务的命令选项。
注
TLA 可以修改或删除任何现有的共享组织或完整组织。TLA 还可以管理这些组织中的用户。
TLA 可以删除用户的 SPA 角色,但无法通过控制台来分配 SPA 角色。有关此版本 Delegated Administrator 中的约束列表,请参见此版本的注意事项。
有关 TLA 执行的管理任务的完整描述,请参见第 1 章“Delegated Administrator 概述”中的管理员角色和目录分层结构。
将 SPA 角色分配给用户
必须将 SPA 角色分配给如下组织中的用户:该组织被指定为包含 SPA,并且从属于 SPA 将要管理的提供商组织。
在图 A-1 所示的示例中,假设您需要为名为 VIS 的提供商组织创建 SPA。您可以将 SPA 角色分配给组织 DEF 中的 user1。
SPA 必须在从属组织中,因为提供商组织节点不包含任何用户。
因此,必须在提供商组织下至少创建一个组织后,SPA 才能管理提供商组织。应指定此组织包含分配了 SPA 角色的用户。有关详细信息,请参见本附录后面的创建提供商组织和服务提供商管理员。
此版本的注意事项
在此版本的 Delegated Administrator 中,无法使用 Delegated Administrator 控制台或实用程序来创建 SPA 或提供商组织。
要创建 SPA 或提供商组织,必须手动修改自定义服务提供商模板 da.provider.skeleton.ldif。
有关使用自定义服务提供商模板来执行上述任务的说明,请参见本附录后面的创建提供商组织和服务提供商管理员。
由服务提供商管理员管理的组织SPA 可以创建、修改和删除以下类型的组织,这些组织从属于 SPA 的提供商组织:
以下部分将介绍提供商组织、完整组织和共享组织。
提供商组织
提供商组织是 LDAP 目录中的一个节点,在逻辑意义上包含完整组织和共享组织。提供商组织节点具有允许 SPA 管理从属组织的属性。
在 LDAP 目录中,提供商组织必须位于邮件域下。有关示例,请参见本附录后面的样例服务提供商组织数据。
提供商组织不能包含用户条目。但可以在提供商组织下创建的组织中置备用户。
提供商组织存储与在其下创建的组织有关的目录信息。例如:
完整组织
完整组织具有以下特征:
在图 A-1 所示的示例中,user2 属于 sesta.com 域,并具有邮件地址 user2@sesta.com。
在图 A-1 所示的示例中,完整组织 SESTA 具有域名 sesta.com。
共享组织
共享组织具有以下特征:
在图 A-1 所示的示例中,user5 属于 siroe.com 域,并具有邮件地址 user5@siroe.com。
在图 A-1 所示的示例中,共享组织 DEF 使用域名 siroe.com。
在图 A-1 所示的示例中,DEF 与 HIJ 组织均属于 siroe.com 域。
创建提供商组织和服务提供商管理员在此版本的 Delegated Administrator 中,您必须使用 Delegated Administrator 提供的自定义服务提供商模板 (da.provider.skeleton.ldif) 来创建您自己的提供商组织和 SPA。
注
您还可以在运行 Delegated Administrator 配置程序时,将样例提供商组织(及其从属组织)和样例 SPA 安装在您的目录中。可以通过在配置程序中选择“加载样例组织”(Load sample service packages) 来执行此操作。
但是,样例组织模板 (da.sample.data.ldif) 将被用作示例,而不是用作创建您自己的提供商组织的模板。有关此示例的详细信息,请参见本附录后面的样例服务提供商组织数据。
创建了提供商组织和 SPA 后,SPA 即可登录到 Delegated Administrator 控制台中,创建和管理从属组织,并将 SPA 角色分配给 SPA 组织中的其他用户。但是,这些 SPA 只能管理同一个提供商组织。
要创建另一个提供商组织以及管理该组织的 SPA,应再次使用自定义服务提供商模板。
本部分包含以下主题:
- 模板创建的条目提供了在目录中安装模板的编辑副本时所创建的组织示例。
- 创建提供商组织、从属组织和 SPA 时所需的信息定义了创建提供商组织、从属共享组织和 SPA 时所需的模板中的参数。
- 创建提供商组织和服务提供商管理员的步骤说明了如何编辑模板以及将信息安装在您的目录中。
- 自定义服务提供商模板是一个模板列表。
模板创建的条目
在目录中安装自定义服务提供商模板的编辑副本时,将创建以下条目:
图 A-2 显示了安装模板时所创建的条目的示例。它是组织的目录信息树 (Directory Information Tree, DIT) 视图。
图 A-2 只是一个示例。您的组织名称、SPA 用户名和 DIT 结构应特定于您自己的安装。
图 A-2
自定义服务提供商模板:目录信息树视图
安装的自定义服务提供商模板样例中的节点
图 A-2 所示的示例中的节点如下:
创建提供商组织、从属组织和 SPA 时所需的信息
要创建提供商组织、一个从属组织和 SPA,您需要使用特定于您的安装的信息来替换自定义服务提供商模板中的参数。
在阅读这些参数时,您可以查看自定义服务提供商模板中所示的 da.provider.skeleton.ldif 的列表。或者打开位于以下目录中的实际 ldif 文件:
da_base/lib/config-templates
有关与这些参数关联的属性的定义,请参见《Sun Java System Communications Services Schema Reference》中的第 5 章 "Classes and Attributes Used by Communications Services Delegated Administrator (Schema 2)" 和第 3 章 "Attributes"。
定义提供商组织和从属组织的参数
要创建提供商组织和从属组织,请编辑以下参数:
可为用户(包含在从属于提供商组织的组织中)分配的服务软件包的名称。这是一个多值参数。
在 da.provider.skeleton.ldif 文件的 "Provider Organization" 部分,您将看到以下属性:
sunIncludeServices: <servicepackage>
对于要在提供商组织中包含的每个服务软件包,请添加 sunIncludeServices 属性和 servicepackage 参数的一个实例。只有在此处列出的这些服务软件包才能分配给从属组织中的用户。
示例:
sunIncludeServices: gold
sunIncludeServices: platinum
sunIncludeServices: ruby
sunIncludeServices: silver如果未使用 sunIncludeServices 属性(删除了包含 servicepackage 参数的行),则可以分配目录中的所有服务软件包。
可为提供商组织中的从属组织分配的域名。这是一个多值参数。
在 da.provider.skeleton.ldif 文件的 "Provider Organization" 部分,您将看到以下属性:
sunAssignableDomains: <domain_name>
sunAssignableDomains 属性中的域名是邮件域组织的 sunPreferredDomain 和 associatedDomain 属性中所列名称的子集(部分或全部)。(邮件域是在其下创建此提供商组织的组织。)
对于要在提供商组织中包含的每个域名,请添加 sunAssignableDomains 属性和 domain_name 参数的一个实例。只有在此处列出的域名才能分配给从属组织。
示例:
sunAssignableDomains: siroe.com
sunAssignableDomains: siroe.net
sunAssignableDomains: varrius.com
sunAssignableDomains: sesta.com
sunAssignableDomains: sesta.net
SPA 用户所在的共享组织的名称。当您将编辑过的 ldif 信息安装在目录中时,此组织将作为共享组织创建,并从属于提供商组织。它将被指定为包含 SPA 用户的组织。分配了此提供商组织的 SPA 角色的其他用户必须在此从属共享组织中。
在 da.provider.skeleton.ldif 文件的 "Provider Organization" 部分,您将看到以下属性:
sunProviderOrgDN:
o=<provider_sub_org>,o=<providerorg>,<maildomain_dn>sunProviderOrgDN 属性标识被指定为包含提供商组织用户(特别是 SPA 用户)的组织。
示例:
sunProviderOrgDN:
o=MySPAUserOrg,o=MyProviderOrg,o=siroe.com,o=usergroup
可为特定从属组织中的用户分配的域名。这是一个多值参数。
available_domain_name 的值是为 sunAssignableDomains: <domain_name> 属性和参数提供的值的相应子集。但 domain_name 应用于整个提供商组织,available_domain_name 应用于单个从属组织。
在 da.provider.skeleton.ldif 文件的 "Shared Subordinate Organization" 部分,您将看到以下属性:
sunAvailableDomainNames: <available_domain_name>
对于希望此从属组织继承(从提供商组织的 sunAssignableDomains 属性中的域名列表)的每个域名,请添加 sunAvailableDomains 属性和 available_domain_name 参数的一个实例。只有在此处列出的域名才能分配给从属组织。
示例:
sunAvailableDomainNames: siroe.com
sunAvailableDomainNames: siroe.net
sunAvailableDomainNames: varrius.com
可用于特定从属组织的服务软件包。这是一个多值参数。
为从属组织分配的服务软件包是为具有 sunIncludeServices 属性的整个提供商组织分配的服务软件包的子集。
在 da.provider.skeleton.ldif 文件的 "Shared Subordinate Organization" 部分,您将看到以下属性:
sunAvailableServices: <available_services>
available_services 参数的格式为
Service package name:count
其中 count 是一个整数。如果没有该数值,则默认值为无限制的数字。
对于希望此从属组织继承(从提供商组织的 sunIncludeServices 属性中的服务软件包)的每个服务软件包,请添加 sunAvailableServices 属性和 available_services 参数的一个实例。
示例:
sunAvailableServices: gold:1500
sunAvailableServices: platinum:2000
sunAvailableServices: silver:5000定义 SPA 的参数
要创建 SPA,请编辑以下参数:
分配给 SPA 用户的服务软件包。有关服务软件包的信息,请参见第 1 章“Delegated Administrator 概述”中的服务软件包。
示例:
inetCos: platinum
SPA 用户的邮件地址。邮件地址的域部分必须是替换 available_domain_name 参数的一个域值。也就是说,它必须是可以在 SPA 用户所在的从属组织中使用的域。有关详细信息,请参见 available_domain_name。
示例:
mail: user1@siroe.com
有关如何编辑自定义服务提供商模板以及将信息安装在目录中的说明,请参见创建提供商组织和服务提供商管理员的步骤。
创建提供商组织和服务提供商管理员的步骤
要创建提供商组织和服务提供商管理员,请执行以下步骤:
- 在目录中创建邮件域。
如果您尚未在目录中创建邮件域,请执行此操作。提供商组织及其从属共享组织将使用此邮件域。
- 复制并重命名 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》中的第 5 章 "Classes and Attributes Used by Communications Services Delegated Administrator (Schema 2)" 和第 3 章 "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> 是编辑过的 ldif 文件的名称,该文件要作为新的提供商组织和 SPA 安装在目录中。
自定义服务提供商模板
模板 (da.provider.skeleton.ldif) 包含创建新的提供商组织和 SPA 时必须修改的参数。
以下列表显示了 ldif 文件中包含参数的部分。该列表不包括整个文件。此处不包括支持 Access Manager 所需的条目和 ACI。
您只应修改 ldif 文件中的参数。请不要修改与 Access Manager 有关的文件部分。
da.provider.skeleton.ldif 文件(相关部分)
#
# 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 users who is the Provider Administrator.
#
dn:o=<provider_sub_org>,o=<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>
样例服务提供商组织数据运行 Delegated Administrator 配置程序 config-commda 时,您可以选择将样例组织数据(在 ldif 文件中定义)安装在您的目录中。(运行配置程序时,请在服务软件包和组织样例 (Service Package and Organization Samples) 面板中选择加载样例组织 (Load sample service packages)。)配置程序将 da.sample.data.ldif 文件添加到 LDAP 目录树中。
此 ldif 文件将被用作示例,而不是用作创建您自己的提供商组织的模板。要创建新的提供商组织,请参见创建提供商组织、从属组织和 SPA 时所需的信息。
样例数据提供的组织
图 A-1 显示了示例 ldif 文件提供的组织结构的逻辑视图。(图 A-1 添加的共享组织 HIJ 在该文件中不存在。)
样例 ldif 文件在根后缀节点下包含以下组织:
ldif 文件为这些组织定义了以下管理员角色:
逻辑分层结构和目录信息树
在三层目录结构中,目录信息树 (DIT) 与图 A-1 所示的逻辑视图看上去并非完全一样。组织在 DIT 中实现的分层结构稍有不同。
例如,在 DIT 中,完整域必须直接位于根后缀的下方。因此,应该在根后缀下添加域节点,以存储共享域(供共享组织使用)和完整组织(具有自身的域)的 LDAP 信息。
样例组织数据:目录信息树视图
图 A-3 显示了样例组织数据的目录信息树 (DIT) 视图。
与图 A-1 所示的逻辑视图一样,图 A-3 所示的示例包含以下组织:
样例目录信息树中的节点
样例组织文件 (da.sample.data.ldif) 中的节点如下:
样例目录信息树中的用户 DN
图 A-3 所示的样例组织文件中的某些用户 DN 如下: