状態セキュリティー・ルール

状態には 2 つのタイプのセキュリティー (権限と属性) があります。 この両方を使用して、特定の属性を修正するための要件を設定します。各状態で設定するセキュリティーのタイプを決定します。

権限セキュリティー

権限セキュリティーは、変更依頼 (CR) が選択された状態で、ユーザーが必要な権限を持っている場合に、修正可能な属性のリストを定義します。

例えば、「レビュー中」状態では、「検証者」権限の修正可能な属性として「概要」と「詳細」がリストされています。 したがって、「検証者」権限を持つユーザーは、CR が「レビュー中」状態の場合、これらの属性を修正することができます。

属性セキュリティー

状態の属性セキュリティーは、CR が選択された状態で、特定の属性値がユーザー ID と一致する場合に、修正可能な属性のリストを定義します。 例えば、resolver="john"enterer="sam" などです。

属性セキュリティーが機能するには、選択した属性にユーザー ID が値として含まれている必要があります。 つまり、属性のタイプは CCM_USER です。

属性セキュリティーは、属性あるいは属性とユーザー権限の組み合わせに対して定義することができます。

権限が指定された場合、属性リストを修正するには以下の条件の両方を満たしている必要があります。
  • 属性値がユーザー ID に等しい。
  • ユーザーが指定された権限を持っている。

例えば、CR が「割り当て」状態である場合には、CR を提出したユーザー (CR の「提出者」属性の値がログイン・ユーザー ID と一致している必要があります)、かつ「開発者」権限を持っているユーザーのみが、「不具合タイプ」属性を修正できる、というルールを記述します。「不具合タイプ」属性は、修正可能な属性にリストされます。 したがって、ユーザー tom が CR を提出し、彼が「開発者」権限を持っている場合、彼は CR が「割り当て」状態の場合に「不具合タイプ」属性を修正することができます。

権限セキュリティー・ルールと属性セキュリティー・ルールの連携

属性セキュリティーまたは権限セキュリティーのいずれかのルールが満たされている場合、対応する属性セットは修正可能です。 権限セキュリティーと属性セキュリティーのルールは、修正可能な属性のセットを取得するために論理和演算されます。

次の例について検討します。 「割り当て」状態の CR に対して以下のルールを設定します。

ルール 1 - 権限レベル・セキュリティー

ルール 1 - 権限レベル・セキュリティー

「割り当て者」権限を持つユーザーのみが、「割り当て」状態の CR で「リリース」および「解決者名」属性を修正することができます。

ルール 2 - 属性レベル・セキュリティー

ルール 2 - 属性レベル・セキュリティー

CR の解決者 (CR の「解決者名」属性値がログイン・ユーザー ID と一致している必要があります) で、「開発者」権限を持つユーザーのみが、CR が「割り当て」状態である場合に「予定期間」「割り当てタスク」、および「コメント」属性を編集することができます。

シナリオ:

ユーザー sam「テスター」権限を付与し、ユーザー joe「割り当て者」権限を付与し、ユーザー john「開発者」権限を付与します。

sam が CR を提出し、joe がそれを john に割り当てます。 したがって、sam が CR の提出者で、john が CR の解決者です。 CR の「解決者名」属性の値は john です。CR は「割り当て」状態で、ルールは一緒に論理和演算されます。
  • sam はいずれのルールも満たしていないため、彼は CR のどの属性も修正することができません。
  • joe は、「割り当て者」権限を持っているため、ルール 1 を満たしています。 彼は、CR が「割り当て」状態の場合に、「リリース」および「解決者名」属性を修正することができます。
  • john は、ルール 2 を満たしています。CR の「解決者名」属性の値は john です。そのため、john はこの CR の解決者です。 また、john「開発者」権限を持っているため、CR が「割り当て」状態である場合に、「予定期間」「割り当てタスク」、および「コメント」属性を修正することができます。

フィードバック