ダイナミック役割の使用
ダイナミック役割を使用して、アクセス制御ポリシー規則を設定できます。これらは、コンテキストチームと共有チームのチームメンバーに割り当てられた役割を対象に作成されたシステムグループ、およびコンテキストチームにメンバーが存在する組織を表すアプリケーションコンテキストで作成されたシステムグループを表します。システムグループの詳細については、グループを参照してください。
ダイナミック役割を表示するには、「ポリシー管理」ユーティリティの「アクセス制御規則」ウィンドウで「役割」タブを選択します。これらのダイナミック役割は、サイトコンテキストおよび組織コンテキストで次のように管理されます。
• サイトコンテキストでは、ダイナミック役割は以下の要素で構成されます。
◦ コンテキストチーム内にメンバーを持つ組織を表すアプリケーションコンテキスト内で作成されたシステムグループを表す組織役割。アクセス権がある組織の組織役割しか存在しません。各役割には、組織参加者の名前に "Organization Role" を付加した名前が付けられます。組織役割は自動的に作成されます。ユーザーが作成する必要はありません。
◦ wt.project.RoleRb.rbinfo ファイルで定義された役割ごとのコンテキストチーム役割。サイトコンテキストを使用して、新しいコンテキストチーム役割を作成することはできません。ただし、カスタマイズの一環として、wt.project.RoleRb.rbinfo ファイルのコンテンツを変更することは可能です。.rbinfo ファイルのコンテンツの修正方法については、Windchill Customization Guide を参照してください。
• 組織コンテキストでは、ダイナミック役割は以下の要素で構成されます。
◦ コンテキストチーム内にメンバーを持つ組織を表すアプリケーションコンテキスト内で作成されたシステムグループを表す組織役割。
アクセス可能な組織の組織役割のみが対象となります。各役割には、組織参加者の名前に "Organization Role" を付加した名前が付けられます。組織役割は自動的に作成されます。ユーザーが作成する必要はありません。
◦ 特定の組織コンテキストから「役割」テーブルに表示されるように設定された役割のコンテキストチーム役割。
特定の組織コンテキストから「役割」テーブルに表示される役割の初期設定は、サイトコンテキストから継承されます。組織コンテキストでは、組織管理者が「役割」テーブルに表示されているコンテキストチーム役割を、追加および削除したり、表示/非表示にすることができます。したがって、組織コンテキストからポリシー管理ユーティリティを起動した場合、組織管理者は、「アクセス制御規則」ウィンドウの「役割」タブに表示されるコンテキストチーム役割のセットを管理することができます。
ダイナミック役割を使用するポリシー規則は、サイトレベルおよび組織レベルで設定できます。さらに、これらの規則は、ポリシー規則で指定したドメインの子ドメインに継承されます。これによって、アプリケーションレベルではなく組織 (サイト) レベルで、これらの役割とそのアクセス制御ポリシー規則を管理できます。組織 (またはサイト) レベルで規則を設定すれば、多数のプロジェクト、プログラム、製品、またはライブラリで構成されたサイトを容易に管理できます。ダイナミック役割のポリシー規則をアプリケーションコンテキストで設定した場合、それらの規則はそのアプリケーションコンテキストにのみ適用されます。
ダイナミック役割は、ポリシー管理ユーティリティを使用して既存のアクセス制御ポリシー規則を編集するか、ダイナミック役割を参加者として使用する組織テンプレートとアプリケーションテンプレートを作成することで使用できます。ダイナミック役割とその使用例については、
アクセス制御規則でのダイナミック役割の使用を参照してください。
デフォルトでは、テンプレートによって次のダイナミック役割を作成できます。
• パッケージ作成者
• 受信送信物マネージャ
PTC では、組織コンテキストのアクセス制御ポリシー規則にダイナミック役割を指定する新しいテンプレートセットを作成するためのサンプル XML ファイルを提供しています。このサンプルファイルは、<Windchill>/LoadXMLFiles/dynamicRole ディレクトリにあります (<Windchill> は Windchill がインストールされている場所です)。以下のサンプルファイルを使用して、一連のダイナミック役割テンプレートを作成できます。さらに、各自のコンテキストや組織コンテキスト、および子アプリケーションコンテキストを作成するときに、それらのテンプレートを使用できます。
• generalOrganizationTemplate.xml
• generalLibraryTemplate.xml
• generalProductTemplate.xml
• generalProjectTemplate.xml
サンプルの組織テンプレート XML ファイルでは、WTPrincipalReference 要素および groupName サブ要素と groupType サブ要素を使用してダイナミック役割が指定されています。ダイナミック役割には、該当するシステムグループと同じ名前が付けられます。アクセス制御ポリシー規則で参加者をダイナミック役割として指定するには、groupType 要素の値を DynamicRole にする必要があります。以下の例では、WTPrincipalReference 要素を使用してチームメンバーをダイナミック役割に指定しています。
<WTPrincipalReference isInternal="true">
<groupName>teamMembersgroupName>teamMembers>
<groupType>DynamicRoleDynamicRole>
</WTPrincipalReference>
サンプルの組織コンテキストテンプレートを使用して組織コンテキストを作成すると、テンプレートで定義されているアクセス制御ポリシー規則セットに基づいて、そのコンテキストに適したポリシー規則が設定されます。これらのポリシー規則は、その後作成する子アプリケーションコンテキストに継承されます。子アプリケーションコンテキストの作成時には、製品、ライブラリ、およびプロジェクトのサンプルダイナミック役割テンプレートを使用します。組織コンテキストで設定したアクセス制御ポリシー規則は、これらのテンプレートから削除されています。
新しい組織でのダイナミック役割の使用
新しい組織のアクセス制御ポリシー規則でダイナミック役割を使用するには、以下の操作を実行します。
2. 表示を「組織テンプレート」に設定します。
3. テンプレート作成アイコン
をクリックします。
「新規組織テンプレート」ウィザードが開きます。
4. ダイナミック役割のアクセス制御ポリシー規則が定義されている generalOrganizationTemplate.xml サンプルファイルの場所へ移動します。組織コンテキストに関連するファイルのみを選択します。
5. 「組織テンプレート名」に一意な名前を指定します。
6. (省略可能) 必要に応じて、テンプレートの説明を入力します。
7. 「OK」をクリックします。
9. 作成した組織テンプレートに基づいて新しい組織を作成します。
新規組織の作成方法については、
組織の操作を参照してください。
新しいテンプレートを使用する際、製品、ライブラリ、プロジェクト、およびプログラムの作成者は、アプリケーションコンテキストを作成すする時点で適切なアプリケーションテンプレートを選択する必要があります。適切なテンプレートを確実に選択するため、以下の操作を実行します。
1. 前述の手順で作成した新規組織について、 > ページに移動します。
2. 表示を適切なコンテキストに設定します。たとえば、「製品テンプレート」を選択します。
3. 前述の dynamicRole ディレクトリにあるサンプルテンプレートコンテンツファイル (generalProductTemplate.xml など) を使用して、新しいコンテキストテンプレートを作成します。
4. 同じビューで、既成のテンプレートを非表示にします。これで、新しいアプリケーションコンテキストを作成するとき、既成のテンプレートが表示されなくなります。たとえば、一般製品テンプレートの操作リストで「非表示」を選択します。
5. 各タイプのアプリケーションコンテキストテンプレート (製品、ライブラリ、プロジェクト) について、手順 2 ~ 4 を繰り返します。ダイナミック役割のアクセス制御規則を使用するプログラムテンプレートを作成するには、サンプルのプロジェクトテンプレートをプログラム用に修正します。
既存の組織でのダイナミック役割の使用
サイト内にすでに存在する組織コンテキストを更新して、ダイナミック役割を使用するポリシー規則を設定する場合は、 > にある「ポリシー管理」で、既存の組織コンテキストと子コンテキストのアクセス制御ポリシー規則を修正します。
ダイナミック役割を使用する組織コンテキストに新しいアクセス制御ポリシー規則を設定した後、新しいアプリケーションテンプレートを作成し、組織レベルで規則セットが重複しないようにする必要があります。その際、前のセクションで説明したサンプルテンプレートを使用できます。組織レベルの規則セットは、子アプリケーションコンテキストに継承されます。