レコードの非表示化

Rational® ClearQuest® ソフトウェアの セキュリティ機能は、ユーザー グループに対するメンバシップに基づいて、 データベース内のレコードに対するユーザー アクセスを制限します。レコードの非表示化は、アクセスを制限するレコードの レコード タイプにセキュリティ コンテキスト フィールドを設定して行います。 セキュリティ コンテキスト フィールドは、セキュリティ コンテキスト レコードを参照します。 このレコードには、レコードの表示や変更を行うことができるユーザーを決定するデータが含まれます。

たとえば、障害の参照を許可する顧客を制御するには、Defects レコード タイプに customer_defects フィールドを設定し、 このフィールドが Customer レコード タイプを参照するようにします。その後、ユーザー グループを各 Customer レコードに 割り当てて、その Customer レコードを参照する Defect レコードを表示する権限を これらのグループに付与します。セキュリティ コンテキスト レコードのグループ リストに登録されているユーザーのみが、 制御されたレコードを参照できます。

レコードの非表示化には、次のタスクが関係します。

デフォルトでは、セキュリティ コンテキストを実装すると、ユーザー権限が指定されていないユーザーにはレコードは表示されず、セキュリティ コンテキスト フィールドに値セットのないレコードはどのユーザーにも表示できません。すべてのユーザーがすべてのレコードを表示できるように設定するには、セキュリティ コンテキスト グループとして「すべてのユーザー」グループ (または、すべてのユーザーが含まれている他の定義済みグループ) を選択します。
注: すべてのユーザーを含む「すべてのユーザー」グループは、バージョン 7.0.1 から使用可能になりました。

バージョン 2003.06.12 以降では、ユーザーが登録の権限を持たないレコード タイプを 非表示にするというサポートが追加されています。

ユーザーが登録できないレコード タイプは、そのユーザーが [アクション] > [新規] を クリックしてもレコード リストには表示されません。ユーザーには、スキーマ内のすべてのレコード タイプではなく、 制限されたレコード タイプのリストが表示されます。デフォルトでは、ユーザーにはすべてのレコード タイプが表示されますが、 ユーザーが権限を持たないレコード タイプを登録しようとすると、エラーを受け取ります。詳細 については、『API リファレンス』のページで CanSubmitGetEntityDefNamesForSubmit メソッド、および「アクションとアクセス制御」のトピックを参照してください。

制御するレコード タイプの選択

制御されたレコード タイプとして使用するレコード タイプを 選択します。制御されたレコード タイプとは、非表示化またはアクセス制限の対象になる レコード タイプのことです。たとえば、Rational ClearQuest 環境の障害に対するアクセスを制限するには、 制御されたレコード タイプとして Defect レコードを使用します。

セキュリティ コンテキストに基づいたユーザー グループの作成

使用するセキュリティ コンテキストに従って、 新しいユーザー グループを作成するか、既存のユーザー グループを編成します。 ユーザー アクセス権限を揃えるユーザー グループを作成します。 その後、ユーザーをグループに割り当てます。

たとえば、特定の顧客らをセキュリティ アクセスの基準にするには、アクセス権のタイプ別に顧客グループを作成します。 既存のグループを使用することも、新しいグループを作成することもできます。

複数のセキュリティ コンテキスト フィールドを追加する場合、 いずれか 1 つのユーザー グループのメンバであれば、 該当するタイプのレコードを表示できます。

セキュリティ コンテキストとして使用するレコード タイプの選択

セキュリティ コンテキストとして使用する レコード タイプを選択します。セキュリティ コンテキスト レコード タイプとは、セキュリティ コンテキスト フィールドが参照するレコード タイプのことです。 これにはユーザー グループ情報が格納されます。

セキュリティ コンテキスト レコードは、 状態ありでも状態なしでもかまいません。この目的のために作成したレコードでも、Project レコード タイプまたは Customers レコード タイプなど 既存のレコードでもかまいません。

セキュリティ コンテキスト フィールドを使用して履歴、ユーザー、グループ、添付ファイルなどのシステム レコード タイプを参照することはできません。

たとえば、グループを顧客別に編成した場合、Customer レコード タイプをセキュリティ コンテキスト レコードとして使用できます。 障害が特定の Customer レコードと関連付けられるか、特定の Customer レコードを参照している場合、 その顧客のセキュリティ コンテキスト グループ リストに登録されているユーザーのみが レコードを表示できます。

セキュリティ コンテキスト フィールドの作成

セキュリティ コンテキスト フィールドとは、セキュリティ コンテキスト レコード タイプを参照する制御されたレコードの中の Reference タイプ フィールドのことです。 フィールドを作成してセキュリティ コンテキスト フィールドとして使用することも、 既存のフィールドを使用することもできます。 複数のセキュリティ コンテキスト フィールドを追加できます。 セキュリティ コンテキスト フィールドは、Reference フィールド タイプでなければなりません。

制御されたレコード タイプに Reference タイプのセキュリティ コンテキスト フィールドを作成し、このフィールドがセキュリティ コンテキスト レコード タイプを参照するようにします。 既存の Reference タイプ フィールドを使用することも、フィールドを作成することもできます。 作成したセキュリティ コンテキスト フィールドを、制御されたレコード タイプのフォームに追加します。

セキュリティ コンテキスト レコード タイプを参照するときは、 該当するフィールドの [セキュリティ コンテキスト] チェック ボックスをオンにして、 セキュリティも有効にします。この設定により、参照先レコード タイプのフォームに [Ratl_Security] という ラベルのタブが作成されます。[Ratl_Security] タブには、コンテキスト グループのリスト コントロールがあります。

たとえば、Defect レコード タイプに customer_defects という 参照タイプ フィールドを作成し、このフィールドが Customer レコード タイプを 参照するようにします。これで、[Ratl_Security] タブが Customer レコード タイプ フォームに 追加されます。

セキュリティ コンテキスト レコードの登録

セキュリティ コンテキストごとにレコードを登録します。 セキュリティ コンテキストが Customer の場合は、顧客ごとにレコードを登録する必要があります。

登録したレコードごとに、[Ratl_Security] タブを使用して、 グループをコンテキスト グループ リストに追加し、Customer レコードにアクセスできるユーザー グループを指定します。

重要: セキュリティ コンテキスト レコードを登録し、 グループを各セキュリティ コンテキスト レコードに関連付けて、 制御されたレコードがユーザーに表示されるようにしてください。 セキュリティ コンテキスト フィールドの値が空の Defect レコードは表示されません。

ユーザー アクセスを許可するためのレコードの編集

既存の制御されたレコード (たとえば Defects) を編集し、適用可能なセキュリティ コンテキスト レコード (このケースでは、Customer レコード) を選択します。


フィードバック