Sun ONE Portal Server 6.2 管理者ガイド |
第 3 章
管理の委任の設定この章では SunONE Portal Server の管理の委任を設定する方法について説明します。
この章で説明する内容は次のとおりです。
管理の委任の概要企業が作成するポータルが大規模かつ複雑になるに従い、中央集中型管理モデルはもはや実現不可能です。管理の委任、すなわち Line of Business (LOB) 管理は、管理作業を実際のポータルユーザーに委任または分散することで、この問題に対処しています。
Sun ONE Portal Server では、ロールを使用して管理機能をユーザーに委任できます。企業はロールベースの管理によって、規模の小さな組織または LOB に事業を分割できます。これによって異なるユーザーがユーザーのロールに基づいて LOB の組織、サブ組織、ユーザー、ポリシー、ロール、チャネルを管理できます。
表 3-1 は、Sun ONE Portal Server で適用されるいくつかの重要な管理の委任のリストと定義を示しています。この表には 2 つの列があります。最初の列は用語を示し、2 番目の列は簡単な説明を示します。
委任管理ロール
Sun ONE Identity Server 管理コンソールは、ロールベースの管理の委任の機能を異なる種類の管理者に割り当て、指定されたアクセス権に基づいて組織、ユーザー、ポリシー、ロール、チャネルを管理します。
Sun ONE Identity Server 管理コンソールには、管理機能を委任するために、管理者ロールがあらかじめいくつか設定されています。これらのロールは次のとおりです。
これらのロールについての詳細は、Sun ONE Identity Server 製品のマニュアルを参照してください。
これらの事前に定義された管理者ロールを使用して、ロールの機能がニーズに合う場合は委任管理の実装を設定できます。たとえば、1 つの組織の下に複数のサブ組織があるディレクトリ構造のモデルを使用している場合、Organization Admin を複数のユーザーに割り当て、サブ組織ごとに委任管理者を作成することができます。ただし、企業の組織構造がより複雑な場合は、特定のニーズに的を絞った管理の委任を作成する方がよい可能性があります。この場合、Sun ONE Identity Server 管理コンソールを使用して、特定の業務上のニーズに合わせて委任管理者ロールを定義できます。
企業に合った管理の委任モデルを実装する場合、3 つの重要な概念ロールがあります。
Top-level Admin Role はシステムの設定時に作成され、Organization Admin Role は新しい組織の設定時に自動的に作成されます。Role Administrator Role は、委任管理モデルの要件に基づいて作成するロールです。Role Administrator Role のアクセス権は、対応するアクセス制御命令 (ACI) を直接編集して定義します。
管理の委任では、次の原則が適用されます。
- ユーザー権限はユーザーのロールによって与えられる
- 権限は個々のユーザーに基づいて、要求される権限を持つロールを定義し、このロールを個々のユーザーに割り当てることで許可される
- 特定のロールを 1 つ割り当てることで、一連のユーザーをグループ化できる。これらのユーザーは権限セットが許可され、そのロールに定義されているダイナミックな属性の値を継承する
- ユーザーは複数のロールまたは集約ロールを持つことができる。複数のロールを持つユーザーは、すべてのロールの機能の組み合わせにアクセスできる。集約されたロールで許可される機能で競合が起こると、それらのロールの各サービスに定義された競合の解決レベルを通じて設定された優先順位に基づき、競合が解決される。最高から最低まで 7 段階で解決レベルを設定できる複数のロールからロールテンプレートがマージされ、属性の競合が発生した場合は、最も高い競合の解決レベルに設定されたテンプレートの属性が返される
管理の委任モデルの開発Sun ONE Portal Server の管理機能を適切に委任するために、企業が要求する管理ロールを決定する際に役立つ、管理の委任モデルを開発する必要があります。モデルを開発する場合、次の点に注意してください。
- 企業のビジネス要件を絞り込む。一般に、ロールベースの委任管理に提案されるソリューションは、ビジネス上の要件に沿ったものにする必要がある
- ユーザーが必要なリソースにアクセスし、ユーザーの管理上のニーズを委任された管理者が管理できるように、ユーザーをグループ化するためのディレクトリ構造を開発する
- すべての事業要件に対応しながら、事業エンティティを可能な限り標準的なツリー構造に合わせるように試みる。組織とサブ組織を階層化した構造、または平坦なディレクトリツリー構造を使用できる。平坦なディレクトリ構造では、すべてのエンティティは最上位の組織の 1 つ下に定義され、すべてのロール (Role Administrator Roles を含む) は組織階層としてはお互いに同位になる。たとえば、事業部門に関連するすべてのユーザーは最上位組織の下のユーザーコンテナに作成される。モデルに必要なアクセスロールと管理ロールのそれぞれについて、トップレベルで対応するロールを作成する
管理の委任の設定Sun ONE Portal Server で管理の委任を設定するための手順の概要は、次のとおりです。
Role Administrator Roles の ACI 設定の定義
委任モデルに特定したロール管理者ロールに適切な権限を設定するために、委任モデルの固有の各ロールについて、ACI で適切な権限を定義する必要があります。ロールの ACI 権限テンプレートは、Sun ONE Identity Server 管理コンソールまたは Directory Server コンソールを使用して定義します。ldapmodify コマンドを使用すると、特定のロールに対して ACI を定義できます。
Sun ONE Identity Server 管理コンソールまたは Directory Server コンソールで ACI 権限テンプレートを定義する場合は、次のフォーマットを使用します。
permission_name | aci_desc| dn:aci ## dn:aci ## dn:aci
ここで
permission_name は権限の名前です。
aci_desc はこれらの ACI で許可されるアクセスの詳細です。
dn:aci は DN と ACI のペアを表し、## で区切られます。Sun ONE Identity Server は各 ACI を関連する DN エントリに設定します。
このフォーマットは、値を代入できるタグもサポートします。この値は ACI では ROLENAME、ORGANIZATION、GROUPNAME、および PCNAME といった文字で指定する必要があります。これらのタグを使用することで、デフォルトとして使用できる十分な柔軟性を備えたロールを定義できます。デフォルトロールに基づいてロールが作成されると、ACI のタグはロールの DN から引き出された値で解決されます。
ACI の設定については、『Sun ONE Identity Server Programmer's Guide』を参照してください。
コマンドラインを使用して ACI を定義するには
- ldapmodify コマンドで、使用する ACI 設定を保存したテキストファイルを作成します。たとえば、次の acis.ldif ファイルには、JDCAdmin1 および JDCAdmin2 という 2 つのロールの ACI 定義が格納されています。
- ディレクトリを Sun ONE Identity Server ユーティリティのディレクトリに変更します。次に例を示します。
cd /BaseDir/SUNWam/bin
- IS_BASEDIR/SUNWam/ldaplib/solaris/sparc/ldapsdk が含まれるように LD_LIBRARY_PATH を設定します。
- 次のコマンドを実行します。
./ldapmodify -D "DS_DIRMGR_DN" -w DS_DIRMGR_PASSWORD -f /tmp/acis.ldif
- Sun ONE Identity Server 管理コンソールに管理者としてログインします。
デフォルトでは、ロケーションパネルでは「アイデンティティ管理」が選択され、ナビゲーションパネルでは「組織」が選択されています。
- 新しいロールを作成する組織またはサブ組織に移動します (JDCAdmin1、JDCAdmin2 など)。
- 作成したロールの「デスクトップ」サービステンプレートを作成します。
- ロールディスプレイプロファイルにタブを作成します (たとえば、JDC のロールディスプレイプロファイル、など)。
- タブを作成するロールに移動します。
- ナビゲーションパネルの「表示」メニューから「サービス」を選択します。
- ナビゲーションパネルの「ポータルデスクトップ」の隣にあるプロパティの矢印を選択します。
- デスクトップ属性ページがデータパネルに表示されます。
- デスクトップページで「チャネルおよびコンテナの管理」リンクを選択します。
- 「チャネル」ページが表示され、コンテナパスが root で設定されています。
- チャネルまたはコンテナを追加するコンテナをクリックします。
- ページの上部に、チャネルが追加されるコンテナパスが表示されます。チャネルとコンテナが定義されている場合は、リストに表示されます。
- 「新規」をクリックして、コンテナチャネルまたはチャネルを追加します。
- コンテナチャネルを追加するには、「コンテナチャネル」で「新規」をクリックします。チャネルを追加するには、「チャネル」で「新規」をクリックします。
- 「新規チャネル」ページが表示されます。
- チャネル名を入力し、メニューからプロバイダのタイプを選択します。
- 「作成」をクリックします。
詳細は、第 5 章「ディスプレイプロファイルの管理」を参照してください。
- ユーザーを作成します (admin1、admin2 など)
- ユーザーにロールを割り当てます (たとえば、admin1 に JDCadmin1 を割り当てる、admin2 に JDCadmin2 を割り当てる、など)。
- 管理コンソールからログアウトします。
管理コンソールを使用して ACI を定義するには
- 最上位管理者として Sun ONE Identity Server 管理コンソールにログインします。
デフォルトでは、ロケーションメニューでは「アイデンティティ管理」が選択され、ナビゲーションパネルでは「組織」が選択されています。
- ロケーションパネルで「サービス設定」をクリックします。
- 「管理」サービスの隣にあるプロパティの矢印をクリックします。
データパネルに管理の属性が表示されます。
- 「デフォルトロールアクセス権 (ACI)」入力フィールドに ACI 定義を入力し、「追加」をクリックします。たとえば、以前に定義した JDCAdmin1 ロールと JDCAdmin2 ロールであれば、次のように入力します。
JDCAdmin1|Add/delete users from JDC role|dc=sesta,dc=com:aci:(target= "ldap:///ou=people,dc=sesta,dc=com") (targetattr = "*")(version 3.0; acl "Allow JDCAdmin1 Role to read and search users"; allow (read,search) roledn = "ldap:///cn=JDCAdmin1,dc=sesta,dc=com";)##dc=sesta,dc=com:aci:(target="ldap:///dc=sesta,dc=com") (targetfilter="(entrydn=cn=JDC,dc=sesta,dc=com)")(targetattr="*")(version 3.0; acl "Allow JDCAdmin1 Role to read and search JDC Role";allow (read,search) roledn="ldap:///cn=JDCAdmin1,dc=sesta,dc=com";) ##dc=sesta,dc=com:aci:(target="ldap:///ou=people,dc=sesta,dc=com")(targetattr="nsroledn")(targetfilter="(!(|(nsroledn=cn=Top-level Admin Role,dc=sesta,dc=com)(nsroledn=cn=Top-level Help Desk Admin Role,dc=sesta,dc=com)(nsroledn=cn=Organization Admin Role,dc=sesta,dc=com)(nsroledn=cn=Top-level Policy Admin Role,dc=sesta,dc=com)))")(targattrfilters="add=nsroledn:(nsroledn=cn=JDC,dc=sesta,dc=com),del=nsroledn:(nsroledn=cn=JDC,dc=sesta,dc=com)")(version 3.0; acl "Allow JDCAdmin1 Role to add/remove users to JDC Role"; allow (write)roledn="ldap:///cn=JDCAdmin1,dc=sesta,dc=com";)
JDCAdmin2|Add/remove channels from the JDC role|dc=sesta,dc=com:aci:(target="ldap:///cn=SunPortalDesktopService,dc=sesta,dc=com")(targetfilter=(cn=cn=JDC,dc=sesta,dc=com))(targetattr="*")(version 3.0; acl "Allow JDCAdmin2 to edit display profile of JDC Role"; allow (all) roledn="ldap:///cn=JDCAdmin2,dc=sesta,dc=com";)##dc=sesta,dc=com:aci:(target="ldap:///dc=sesta,dc=com")(targetattr = "*") (version 3.0; acl "Allow JDCAdmin2 to read and search all"; allow (read,search) roledn = "ldap:///cn=JDCAdmin2,dc=sesta,dc=com";)
「デフォルトロールアクセス権 (ACI)」リストに新しい ACI が表示されます。
- 「保存」をクリックします。
委任モデルのための管理ロールの新規作成
委任管理ロールの権限を定義する ACI を作成した後、その ACI 定義を使用するためのロールを作成する必要があります。
- 最上位管理者または組織管理者として Sun ONE Identity Server 管理コンソールにログインします。
デフォルトでは、ロケーションメニューでは「アイデンティティ管理」が選択され、ナビゲーションパネルでは「組織」が選択されています。
- ロールの作成先である組織またはサブ組織に移動します。
作成したすべての組織がナビゲーションパネルに表示されます。
注
これが新規組織の場合、すべてのサービスを登録し、適切なテンプレート を作成する必要があります。詳細は、第 2 章「認証、ユーザー、および サービスの管理」を参照してください。
- 「表示」メニューから「ロール」を選択し、「新規」をクリックします。
「新規ロール」ページがデータパネルに表示されます。
- 名前を入力し、スタティックロールを選択して「次へ」をクリックします。
- 説明を入力し、タイプとして「管理」を選択します。
- 「アクセス権」を選択します。
- 「作成」をクリックします。
新規ロールがナビゲーションパネルに表示されます。
ロール管理者ロールを割り当てるには
- Sun ONE Identity Server 管理コンソールに管理者としてログインします。
デフォルトでは、ロケーションメニューでは「アイデンティティ管理」が選択され、ナビゲーションパネルでは「組織」が選択されています。
- ロールの作成先である組織またはサブ組織に移動します。
作成したすべての組織がナビゲーションパネルに表示されます。
- 「表示」メニューから「ロール」を選択します。
- 割り当てるロールのプロパティの矢印をクリックします。
- データパネルの「表示」メニューから「ユーザー」を選択し、「追加」をクリックします。
「ユーザーを追加」ページがデータパネルに表示されます。
- 割り当てるユーザーを検索するためのフィールドの値を指定し、「フィルタ」を選択します。
ユーザーのリストが表示されます。
- ロールを割り当てるユーザーの隣のボックスにチェックマークを付けるか、「すべて選択」を選択してすべてのユーザーを選択します。
- 「送信」をクリックします。
「このロールのユーザー」ボックスのリストが、割り当てられたユーザーで更新されます。
ロール管理者ロールの追加制限の設定
機能が制限されたロールを設定できます。一般的な制限として、ディスプレイプロファイルの修正およびコンテンツ管理機能の実行に対するロールへの制限がありますが、この場合、デスクトップ属性の他の表示が制限されます。
また、委任された管理者を開始 DN ビューとともに設定することもできます。開始 DN ビューは、委任された管理者がエンティティを確認して修正できるディレクトリの場所です。
ロールに追加制限を設定する手順は次のとおりです。
- Sun ONE Identity Server 管理コンソールに管理者としてログインします。
デフォルトでは、ロケーションメニューでは「アイデンティティ管理」が選択され、ナビゲーションパネルでは「組織」が選択されています。
- 設定するロールが格納された組織またはサブ組織に移動します。
作成したすべての組織がナビゲーションパネルに表示されます。
- 「表示」メニューから「ロール」を選択します。
- 設定するロールを選択します。
- 「表示」メニューから「サービス」を選択します。
- プロファイルまたはチャネル管理機能のみを表示するようにロールを制限するには、次の手順に従います。
- 特定の開始 DN にロールを制限するには、次の手順を実行します。