このリリースの 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 のロールを割り当てられる下位組織のユーザー1名。
完全な組織を作成できるプレースホルダのノード。プロバイダ組織の 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 プロバイダ組織の下位にある完全な組織を保持するプレースホルダノード。
プロバイダ組織、1 つの下位組織、1 名の SPA を作成するには、組織の形態に応じてサービスプロバイダのカスタムテンプレートのパラメータを書き換える必要があります。
各パラメータについては、「サービスプロバイダのカスタムテンプレート」に示す da.provider.skeleton.ldif の一覧を参照してください。または、次のディレクトリにある ldif ファイルを開いてください。
da_base/lib/config-templates
これらのパラメータに関連づけられた属性の定義については、『Sun Java System Communications Services Schema Reference』の第 5 章「Communications Services Delegated Administrator Classes and Attributes (Schema 2)」および第 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 ファイルの「Provider Organization」の項には、次の属性があります。
sunIncludeServices: <servicepackage>
プロバイダ組織にサービスパッケージを含めるときは、属性 sunIncludeServices のインスタンス 1 つとパラメータ servicepackage を追加します。下位組織のユーザーには、ここに記述したサービスパッケージのみ割り当てられます。
例
sunIncludeServices: gold sunIncludeServices: platinum sunIncludeServices: ruby sunIncludeServices: silver |
属性 sunIncludeServices を使用しない場合 (パラメータ servicepackage が含まれている行を削除した場合) は、ディレクトリ内のすべてのサービスパッケージを割り当てることができます。
domain_name
プロバイダ組織の下位組織に割り当てられるドメイン名。これは、多値パラメータです。
da.provider.skeleton.ldif ファイルの「Provider Organization」の項には、次の属性があります。
sunAssignableDomains: <domain_name>
属性 sunAssignableDomains のドメイン名は、メールドメイン組織の属性 sunPreferredDomain と属性 associatedDomain に記述した名前の一部 (または全部) です。メールドメイン組織の下にプロバイダ組織が作成されます。
プロバイダ組織にドメイン名を含めるときは、属性 sunAssignableDomains のインスタンス 1 つと、パラメータ 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 ファイルの「Provider Organization」の項には、次の属性があります。
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 ファイルの「Shared Subordinate Organization」の項には、次の属性があります。
preferredMailHost: <preferredmailhost>
例
preferredMailHost: mail.siroe.com
available_domain_name
特定の下位組織のユーザーに割り当てられるドメイン名。これは、多値パラメータです。
available_domain_name の値は、属性とパラメータ sunAssignableDomains: <domain_name> に与えられた値の一部です。domain_name がプロバイダ組織全体に適用されるのに対し、available_domain_name は 1 つの下位組織に適用されます。
da.provider.skeleton.ldif ファイルの「Shared Subordinate Organization」の項には、次の属性があります。
sunAvailableDomainNames: <available_domain_name>
プロバイダ組織の属性 sunAssignableDomains から下位組織に継承するドメイン名ごとに、属性 sunAvailableDomains のインスタンス 1 つとパラメータavailable_domain_name を追加します。下位組織には、ここに記述したドメイン名だけが割り当てられます。
例
sunAvailableDomainNames: siroe.com sunAvailableDomainNames: siroe.net sunAvailableDomainNames: varrius.com |
available_services
特定の下位組織で使用可能なサービスパッケージ。これは、多値パラメータです。
下位組織に割り当てるサービスパッケージは、属性 sunIncludeServices でプロバイダ組織全体に割り当てたパッケージの一部です。
da.provider.skeleton.ldif ファイルの「Shared Subordinate Organization」の項には、次の属性があります。
sunAvailableServices: <available_services>
パラメータ available_services の形式は次のとおりです。
service package name: count |
count は整数で指定します。数を指定しないと、無制限になります。
プロバイダ組織の属性 sunIncludeServices から下位組織に継承するサービスパッケージごとに、属性 sunAvailableServices のインスタンス 1 つとパラメータ 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 のパラメータとして設定したドメイン値の中の 1 つになります。すなわち、必ず 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』の第 5 章「Communications Services Delegated Administrator Classes and Attributes (Schema 2)」および第 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>