ポリシー順序の理解

ポリシーが実行される順序を指定して、承認およびコミット・ポリシーに優先度を割り当てることができます。要求が承認またはコミットされると、同じ順序のポリシーがグループとして履行されてから、次のグループに進みます。

たとえば、承認ポリシーより前にエンリッチメント・ポリシーが実行されるように、またはノード・タイプ・ポリシーがディメンション・ポリシーより前に適用されるように、ポリシー順序を割り当てることができます。

承認またはコミット・ポリシーの「定義」タブで、ポリシー順序を指定します。(承認ポリシーの作成および有効化を参照してください)。

ポリシー順序の処理

複数のポリシーがある要求が承認またはコミット・ステージに入ると、次の処理が実行されます:

  1. ポリシー順序が最も低い順序(たとえば、1)のすべてのポリシーの承認(またはコミット・ステージのコミット)がグループとして処理されます。承認(またはコミット)への招待が、そのグループのすべてのポリシーのすべての招待者に送信されます。
  2. 最も低いポリシー順序のポリシーがすべて履行されると、順に次に高いポリシー順序(たとえば、2)のポリシーがグループとして処理されます。招待は現在のグループのすべての招待者および以前のグループの未履行ポリシーに(要求の処理中に下位の番号に変更されている未履行ポリシーのアカウントに)送信されます。

    Note:

    現在の招待者が、前のポリシー順序ですでに承認またはコミットを指定している場合、そのユーザーは現在のグループの各ポリシーを自動承認します。
  3. ポリシーは、未履行で残っているポリシーがなくなるまで、ポリシー順序番号別にグループで処理されます。
  4. 要求が次のステージに移動します(たとえば、要求が承認ステージにあった場合で、コミット・ポリシーがあるとき、その要求はコミット・ステージに移動します)。
  5. コミット・ステージ内の最も低い番号のポリシー順序のポリシーがグループとして処理される、のようになります。
  6. 残りのステージがなくなったら、要求の完了が試行され、クローズされます。

要求エンリッチメントおよびポリシー順序

ポリシーをアクティブ化する方法で要求がエンリッチされた場合、新しいポリシーがそのポリシー順序に従って次のワークフロー・サイクルに含まれます。つまり、要求が、現在のグループより前のグループ内のポリシー(たとえば、最初にアクティブ化されていなかったポリシーやすでに承認済のポリシー)によって影響されるデータでエンリッチされている場合、現在のグループの招待者とともに、以前のグループ内のすべてのポリシーの招待者が要求の承認に招待されます。

例として、1、2および3の順序が付けられたポリシーの3つのグループがあるとします:

  1. グループ1および3のポリシーによって影響されるが、2によっては影響されないデータを使用して要求が送信されました。
  2. グループ1のポリシーは履行されますが、グループ3の処理中に、グループ2のポリシーによって影響されるデータを含むように要求がエンリッチされます。
  3. グループ2の招待者は、グループ3の現在の招待者とともに含まれます。要求が次のステージに遷移するには、グループ2および3のすべてのポリシーが履行される必要があります。

要求プッシュバック、撤回および承認の取下げ

プッシュバック、撤回および承認の取下げの結果の要求ステージの変更は、次のように処理されます:

  • 要求プッシュバックまたは撤回の場合、すべての承認がクリアされます。要求が再び承認またはコミット・ステージに入ると、ポリシー順序は再び最も低い順序から始まります。
  • 承認が要求から取り下げられた場合、承認の取下げより前に発生した承認は保持され、承認の取下げより後に発生した承認はクリアされます。たとえば、ポリシー・グループ順序2の承認が取り下げられた場合、ポリシー・グループ順序1の承認は保持され、ポリシー・グループ順序3の承認はクリアされます。

    取り下げられた承認と同じポリシー・グループの承認の場合:

    • 取り下げられた承認がシリアル・ポリシー内の場合、取り下げられた承認より後の承認はクリアされます。
    • シリアル・ポリシー内の取り下げられた承認より前の承認およびパラレル・ポリシー内のすべての承認は、保持されます。

ポリシー実行プランの表示

要求インスペクタの「ポリシー」タブに、要求のポリシーの実行プランが表示されます。ポリシー実行プランを参照してください。