Portal Server では、ポータルの管理者が、特定の組織内の各種のタスクを管理する責任を委任管理者と呼ばれるほかのユーザーに委任することができます。管理機能を分散させると、とりわけ複雑な組織でポータルの管理を改善できます。ポータルの管理者は、委任管理者がデスクトップの管理に使用するチャネルを設定できます。
委任管理者は、Portal Server デスクトップにある管理ポートレットを使用して、管理タスクを実行します。ここでは、Developers Sample デスクトップにこれらのチャネルを設定する方法について説明します。これにより、委任管理者用の基本的なデスクトップを設計できるようになります。
Portal Server では、Portal Server デスクトップで管理ポートレットを提供しています。管理者は、これらのポートレットを使用して、委任管理者がデスクトップとエンドユーザーロールの管理に使用する特殊なチャネルを設定できます。次の 3 つの委任管理ロールがあります。
組織管理者ロール — 定義された組織内のデスクトップコンテンツおよびエンドユーザーを管理します。
コンテンツ管理ロール — 定義された組織内のエンドユーザーのデスクトップコンテンツを管理します。
ユーザー管理ロール — 定義された組織内のエンドユーザーを管理し、エンドユーザーロールを割り当てたり、割り当てを解除することができます。
ここでは、Developers Sample デスクトップにこれらのチャネルを設定する方法について説明します。これにより、委任管理者用の基本的なデスクトップを設計できるようになります。
ここでは、Developers Sample デスクトップで、委任管理チャネルを組織、ロール、およびユーザーのレベルに設定する方法を示します。
デスクトップチャネルへのアクセスを許可または制限するアクセス制御命令を設定します。
組織レベルの管理者アクセスの場合、アクセス制御命令は Access Manager によってデフォルトで設定されます。
ロールレベルまたはユーザーレベルの管理者アクセスの場合は、Portal Server の管理者がアクセス制御命令を設定する必要があります。
サンプル ACI (アクセス制御命令) を Directory Server にロードします。
ldapmodify -D "cn=directory manager"-w -f acis.
ldif
と入力します。
サンプル ACI の内容は次のとおりです。
# acis.ldif dn:dc=sample,dc=siroe,dc=com changetype:modify # JDCAdmin1 ロールの ACI add:aci aci: (target= "ldap:///ou=people,o=DeveloperSample,dc=red,dc=iplanet,dc=com") (targetattr = "*") (version 3.0; acl "Allow JDCAdmin1 Role to read and search users"; allow (read,search) roledn = "ldap:///cn=JDCAdmin1,o=DeveloperSample,dc=red,dc=iplanet,dc=com";) - add:aci aci: (target="ldap:///dc=red,dc=iplanet,dc=com") (targetfilter="(entrydn=cn=JDC,o=DeveloperSample,dc=red,dc=iplanet,dc=com)") (targetattr="*") (version 3.0; acl "Allow JDCAdmin1 Role to read and search JDC Role"; allow (read,search) roledn="ldap:///cn=JDCAdmin1,o=DeveloperSample,dc=red,dc=iplanet,dc=com";) - add:aci aci: (target="ldap:///ou=people,o=DeveloperSample,dc=red,dc=iplanet,dc=com") (targetattr="nsroledn") (targetfilter="(!(|(nsroledn=cn=Top-level Admin Role,dc=red,dc=iplanet,dc=com) (nsroledn=cn=Top-level Help Desk Admin Role,dc=red,dc=iplanet,dc=com) (nsroledn= cn=Organization Admin Role,o=DeveloperSample,dc=red,dc=iplanet,dc=com) (nsroledn=cn=Top-level Policy Admin Role,dc=red,dc=iplanet,dc=com)))") (targattrfilters="add=nsroledn: (nsroledn=cn=JDC,o=DeveloperSample,dc=red,dc=iplanet,dc=com), del=nsroledn:(nsroledn=cn=JDC,o=DeveloperSample,dc=red,dc=iplanet,dc=com)") (version 3.0; acl "Allow JDCAdmin1 Role to add/remove users to JDC Role"; allow (write) roledn="ldap:///cn=JDCAdmin1,o=DeveloperSample,dc=red,dc=iplanet,dc=com";) - # JDCAdmin2 ロールの ACI add:aci aci: (target="ldap:///cn=SunPortalportal1DesktopService,dc=red,dc=iplanet,dc=com") (targetfilter= (cn=cn=JDC,o=DeveloperSample,dc=red,dc=iplanet,dc=com))(targetattr="*") (version 3.0; acl "Allow JDCAdmin2 to edit display profile of JDC Role"; allow (all) roledn="ldap:///cn=JDCAdmin2,o=DeveloperSample,dc=red,dc=iplanet,dc=com";) - add:aci aci: (target="ldap:///dc=red,dc=iplanet,dc=com")(targetattr = "*") (version 3.0; acl "Allow JDCAdmin2 to read and search all"; allow (read,search) roledn = "ldap:///cn=JDCAdmin2,o=DeveloperSample,dc=red,dc=iplanet,dc=com";) # |
o=DeveloperSample,dc=red,dc=iplanet となっている部分をすべて dc=sample,dc=hostname ,dc=com に置き換えます。
委任管理者のロールを定義します。
Sun JavaTM System Access Manager 管理コンソールにログインします。
Access Manager コンソールについては、『Sun Java System Access Manager 7.1 管理ガイド』を参照してください。
DeveloperSample 組織に移動します。
次のいずれかを作成します。
新しいサブ組織
新しい組織を作成すると、Access Manager によってその組織の組織管理者ロールが設定されます。
新しい委任管理ロール
次の新しいロールを作成します。
エンドユーザーロール — ロール JDC を作成し、「タイプ」を「サービス」に設定して、アクセス権をオフにします。
コンテンツ管理ロール — ロール JDCAdmin2 を作成し、「タイプ」を「管理」に設定して、アクセス権をオフにします。
ユーザー管理ロール — ロール JDCAadmin1 を作成し、「タイプ」を「ユーザー」に設定して、アクセス権をオフにします。
次の新しいユーザーを作成します。
jdcuser — ロール JDC に割り当てます。
jdcuadmin — ロール JDCAadmin1 に割り当てます。
jdctadmin — ロール JDCAdmin2 に割り当てます。
(省略可能) Access Manager コンソールからログアウトします。
ポータルデスクトップサービスの属性値が、管理者ロール DN 側とポータル側で一致するようにします。
管理者ロール DN のデスクトップサービス属性値は、次のとおりです。
content.admin.role.dn
user.admin.role.dn
ポータルのデスクトップサービスの属性値がこれらの値と一致しない場合、この管理者ロールに属するユーザーがポータルに対して認証を行うと、正しくないデスクトップが表示されることがあります。
たとえば、DeveloperSample ポータルデスクトップサービスの属性値を次のように設定したとします。
親コンテナ: JSPTabContainer
EditContainer: JSPEditContainer
デフォルトタイプ: developer_sample
一方、管理者ロール DN を両方とも次のように設定したとします。
cn=Organization Admin Role, o=DeveloperSample, dc=siroe, dc=com
この場合、管理者ロール DN に対応するポータルデスクトップサービスの属性を次のように設定する必要があります。
cn=Organization Admin Role, o=DeveloperSample, dc=siroe, dc=com
taskadmin.properties ファイルを編集します。
portal-base-directory/samples/taskadmin ディレクトリの taskadmin.properties ファイルを開きます。
次の変数の値を指定します。
am.admin.dn — 最上位管理者 DN (たとえば、amadmin)
default.org.dn — 最上位組織またはデフォルト組織 (たとえば、dc=sun,dc=com)
ps.portal.id — Portal ID (たとえば、portal1)
ps.parent.tab.container — ポータルデスクトップの親コンテナ名 (たとえば、ASCTabContainer)
ps.default.type — ポータルデスクトップタイプ (たとえば、enterprise_sample)
content.admin.role.dn — コンテンツ管理者のチャネルとコンテナがロードされる DN
user.admin.role.dn — ユーザー管理者のチャネルとコンテナがロードされる DN
managed.content.dn — コンテンツ管理者ロールで管理される DN
実際の配備に合わせてデフォルト値を変更します。
# ------------------------------------------------------ # 全般設定 # ------------------------------------------------------ # # psadmin パスワードファイル (ファイル名とディレクトリパス) # 例: /tmp/password # psadmin.password.file=/tmp/password //パスワードファイルにパスワードが含まれます # # ポータル構成場所 # 例: /etc/opt/SUNWportal # ps.config.location=/etc/opt/SUNWportal # # Portal ID # 例: portal1 # ps.portal.id=portal1 # # Access Manager 管理者 DN # 例: uid=amAdmin,ou=People,dc=siroe,dc=com # am.admin.dn=uid=amAdmin,ou=People,dc=siroe,dc=com # # Access Manager デフォルト組織 # 例: dc=siroe,dc=com # default.org.dn=dc=siroe,dc=com # # ------------------------------------------------------ # タスク管理全般設定 # ------------------------------------------------------ # # 親タブコンテナ # 例: JSPTabContainer # ps.parent.tab.container=JSPTabContainer # # 親タブコンテナプロバイダ # 例: JSPTabContainerProvider # ps.parent.tab.container.provider=JSPTabContainerProvider # # ポータルデフォルトタイプ # 例: developer_sample # ps.default.type=developer_sample # # ------------------------------------------------------ # コンテンツ管理者設定 # ------------------------------------------------------ # # コンテンツ管理者ロール DN。コンテンツ管理チャネルおよびコンテナ # がこの DN にロードされます。# 例: 次を参照してください # content.admin.role.dn=cn=Organization Admin Role,o=DeveloperSample,dc=siroe,dc=com # # 管理対象コンテンツ DN。'content.admin.role.dn' で管理される DN です。 # 例: 次を参照してください # managed.content.dn=o=DeveloperSample,dc=siroe,dc=com # # ------------------------------------------------------ # ユーザー管理者設定 # ------------------------------------------------------ # # ユーザー管理者ロール DN。ユーザー管理チャネルおよびコンテナ # がこの DN にロードされます。# 例: 次を参照してください # user.admin.role.dn=cn=Organization Admin Role,o=DeveloperSample,dc=siroe,dc=com # # ====================================================== # 例 # ====================================================== # # 組織管理者の例: # content.admin.role.dn=cn=Organization Admin Role,o=DeveloperSample,dc=siroe,dc=com # managed.content.dn=o=DeveloperSample,dc=siroe,dc=com # user.admin.role.dn=cn=Organization Admin Role,o=DeveloperSample,dc=siroe,dc=com # # ロール管理者の例: # content.admin.role.dn=cn=JDCAdmin2,o=DeveloperSample,dc=siroe,dc=com # managed.content.dn=cn=JDC,o=DeveloperSample,dc=siroe,dc=com # user.admin.role.dn=cn=JDCAdmin1,o=DeveloperSample,dc=siroe,dc=com
ant コマンドを実行します。
/usr/sfw/bin/ant -f ps-base-directory/samples/taskadmin/build.xml -Dprops.location=/tmp
tmp は taskadmin.properties ファイルの場所です
追加されたことを確認します。