ハンドブック フローを管理する

対応しているプロダクト:

このドキュメントでは、フロー コンポーネントが分岐システムを使用して判断し、ハンドブックの次のステップを指示する方法について説明します。

条件フローは、ハンドブックが判断を下すために不可欠です。受信したアラートデータ、以前のアクションの結果、ユーザー入力に基づいて、ケースをさまざまなパスにルーティングできます。

次のフロー オプションを使用できます。

  • 条件: プレースホルダ、既存のケースデータ、 および以前のアクション フローに基づく複雑な条件。
  • 多肢選択式の質問: アナリストが手動で回答する必要がある質問。

条件フローを追加する

このセクションでは、条件フローを使用して、ハンドブック内に動的な分岐ロジックを作成する方法について説明します。

1 つの条件フローを追加する

1 つの条件フローを追加する手順は次のとおりです。

  1. [レスポンス > ハンドブック] ページで、[ステップの選択を開く] をクリックします。
  2. [**ステップの選択**] で、[**フロー**] セクションを選択します。
  3. ハンドブックの作成方法に応じて、条件をステップまたは 2 つのアクションの間にドラッグします。
  4. 条件をダブルクリックしてダイアログを開きます。
  5. 必要なエンティティを選択します。プレースホルダを使用している場合、プレースホルダはこのエンティティ グループにスコープ設定されます。
  6. 作成するブランチの数を決定します。各ブランチの間には OR があります。
  7. 次のように、各ブランチのパラメータを選択して追加します。
    1. 既存のプレースホルダのリストから、評価する関連するプレースホルダを選択します。新しいユーザーの場合、アラートを取り込んでいない場合は空になります。
    2. 必要な演算子を選択します(例: [**次に等しい**]、 [**次の文字を含まない**])。
    3. 値を選択します。
  8. 条件が失敗しないように、「フォールバック ブランチ」を定義します。条件が以前のアクションに基づいていて、それらのアクションのいずれかが失敗した場合(スキップされた場合)、条件は停止するのではなく、フォールバック ブランチに進みます。フォールバック ブランチを選択するには、フォールバック ブランチを定義するをご覧ください。
  9. [保存] をクリックします。ハンドブックは、定義したブランチ(最大 19 個)と Else ブランチ( E と表示)を作成します。
  10. ハンドブックを完了としてマークするには、少なくとも 1 つのブランチの結果を設定します。

多肢選択式の質問フローを追加する

  1. [MultiChoiceQuestion] フローを必要なハンドブック ステップにドラッグします。
  2. ボックスをダブルクリックしてサイドドロワーを開きます。
  3. [パラメータ] タブで、必要な数の回答を含む質問を追加します。
  4. アナリストのレスポンスのタイムアウトを構成するには:
    1. サイドドロワーの [設定] タブをクリックします。
    2. [応答時間] オプションを ON に切り替えます。
    3. 適切な期間を日、時間、分で指定します。
    4. [応答時間が超過した場合] セクションで、次のいずれかのアクションを選択します。
      • ハンドブックを停止: 定義された時間内にユーザーが応答しない場合、ハンドブックの実行は停止します。
      • 既存のブランチを選択: メニューから、すでに定義されている回答ブランチのいずれかを選択します。応答時間が超過した場合、ハンドブックはこの選択したブランチに従います。
      • 新しいブランチを作成: このオプションは、タイムアウトを処理するために、ハンドブック デザイナーに専用のブランチを生成します。これにより、フローの標準の回答オプションとは異なる特定のアクション(マネージャーにメールを送信するなど)を定義できます。この新しいブランチは、ハンドブック デザイナーに [応答時間が超過しました] というラベルで表示されます。
  5. 省略可: 承認リンク: この MultiChoiceQuestion を使用して、メールなどの外部ソースから承認を収集する場合は、[承認リンク] を ON に切り替えます。承認リンクの設定と使用の詳細については、アクションに承認リンクを割り当てるをご覧ください。
  6. [保存] をクリックします。ハンドブックは、指定された回答ごとにブランチを開きます(最大 20 個)。また、構成されている場合は、[応答時間が超過しました] ブランチも開きます。
  7. 回答ブランチの少なくとも 1 つの結果を設定して、完了としてマークします。

条件フローを追加する

条件フローを追加する手順は次のとおりです。

  1. [条件] を [最終ステップ] ボックスにドラッグします。
  2. [条件] をクリックしてダイアログを開きます。
  3. 作成するブランチの数を決定します。各ブランチの間には OR があります。
  4. パラメータを追加します。必要なパラメータを選択します。リストには、このハンドブックのアクション スクリプトの結果のみが表示されます。
  5. 必要な演算子を選択します(次に等しい/次に等しくない、 次の文字を含む/次の文字を含まない、次から始まる、または次の値より大きい/次の値より小さい)。
  6. 値(アクションの結果)を選択します。
  7. 各ブランチにパラメータを追加し、論理演算子(AND または OR )を選択できます。
  8. [保存] をクリックします。ハンドブックは、定義したブランチ(最大 19 個)と [Else] ブランチを開きます。
  9. 少なくとも 1 つのブランチの結果を設定して、ハンドブックを完了します。

フォールバック ブランチを定義する

  1. フロー(条件)のいずれかで、フォールバック ブランチとして使用するブランチを選択します。この例では、[Branch – not risky] を使用します。 フォールバック ブランチを追加する必要はありません。
  2. ハンドブックが実行され、以前のアクションが失敗すると、ハンドブックはフォールバック ブランチを選択して続行します。

ステップの失敗を管理する

ハンドブックのステップは、実行中に失敗する可能性があります。デフォルトでは、ステップが失敗した場合にハンドブックが停止するように設計されています。これは、不完全または誤ったデータで続行しないようにするための重要な安全メカニズムです。ただし、ステップが予期した結果を返さない場合でも、ハンドブックを続行したい場合があります。これは、検索するデータがすべてのケースに存在するとは限らない拡充アクションに特に当てはまります。ハンドブックを停止するか、次のステップにスキップするかを決定できます。失敗したステップが意思決定に不可欠な場合は、次のステップで前のステップが失敗したかどうかを確認し、それに応じて処理方法を決定できます(たとえば、ステップが失敗した場合は代替ブランチに移動します)。

失敗時にスキップする

アクションごとに、失敗した場合にステップをスキップするように構成できます。この設定を有効にすると、アクションの実行に失敗した場合やエラーが返された場合でも、ハンドブックは次のステップに進みます。

この設定を有効にする手順は次のとおりです。

  1. アクション ブロックをダブルクリックして、設定ドロワーを開きます。
  2. [設定] タブで、[ステップが失敗した場合] セクションに移動します。
  3. [ステップをスキップ] を選択します。

条件を使用して高度なエラー処理を行う

[失敗した場合はスキップ] オプションは基本的なケースでは有効ですが、より堅牢な方法として、条件 フローを使用して専用のエラー処理パスを作成する方法があります。これにより、ステップが失敗した場合に、アナリストに通知したり、エラーをログに記録したりするなど、ハンドブックで別のアクションを実行できます。

エラー処理パスを作成する手順は次のとおりです。

  1. 失敗する可能性があり、特定のエラーパスを定義するアクションの後に、条件 フロー ブロックを追加します。
  2. [条件] ブロックをダブルクリックしてダイアログを開きます。
  3. [設定] タブに移動し、[以前のアクションが失敗した場合] セクションで、フローを転送するブランチを選択します。重要: [以前のアクションが失敗した場合] 条件は、以前の失敗を単純にチェックするのではなく、現在の条件の評価で使用されている結果を持つ以前のアクションが失敗したかどうかをチェックします。その依存アクションが失敗した場合、条件を決定できず、フローは選択したブランチに転送されます。 これにより、依存関係が失敗して条件を解決できないケースを処理できます。
  4. この失敗ブランチでは、通知メールの送信、タスクの作成、失敗のロギングなどのアクションを追加できます。

たとえば、ユーザーのオーナーを解決しようとするハンドブックを考えてみましょう。[Resolve User Owner] アクションが失敗した場合(たとえば、ユーザーが Active Directory に存在しない場合)、ハンドブックは停止しません。代わりに、条件ブロックが失敗を検出し、フローを別のブランチに転送します。このブランチでは、不足しているデータについてセキュリティ チームにメールを送信し、ハンドブックが中断なく実行されるようにします。<

フローを削除する

ハンドブック内からフローを削除すると、ブランチ全体を削除するか、ブランチの 1 つの側面のみを削除するかを確認するメッセージが表示されます。

ブランチを結合する

ハンドブックの異なるブランチを 1 つのブランチに結合できます。これを行うには、ブランチの 1 つからアクションをドラッグして、別のブランチの [最終ステップ] ボックスにドロップします。ハンドブックは、この後も続行することも、ここで終了することもできます。

条件で論理演算子が機能する仕組み

このセクションでは、ハンドブックの条件演算子 が、単一または複数のアイテム(アラートのエンティティやイベントなど)を含むフィールドを評価する方法について説明します。フィールドが文字列 かリスト かを理解することは、ハンドブックのロジックにとって非常に重要です。

条件評価におけるデータ型の役割

演算子の動作(Equals、Contains)はデータ型によって異なります。

  • 単一アイテムのコンテキスト: 1 つのエンティティを含むアラートの [Entity.Identifier] などのフィールドは、単一の文字列 として扱われます。
  • 複数アイテムのコンテキスト: 複数のエンティティを含むアラートの同じフィールドは、文字列のリスト です。

equals 演算子と contains 演算子の動作

以降のセクションでは、これらの演算子の動作について説明します。

Equals 演算子

Equals 演算子は、2 つの値を直接比較します。

  • 単一アイテム フィールド(文字列) は、完全一致を確認します。
    • は [Entity.Identifier] と想定しています。"Tom"
    • 条件 if [Entity.Identifier] equals "Tom" は True です。
  • 複数アイテム フィールド(リスト) は、リスト全体が指定された文字列と等しいかどうかを確認します。リストが単一の文字列と等しくなることはありません 。
    • はリスト[Entity.Identifier]と想定しています。(Tom, Kai)
    • 条件 if [Entity.Identifier] equals "Tom, Kai" は常に False です。これは、[Entity.Identifier] がリストで、"Tom, Kai" が文字列であるためです。

Contains 演算子

Contains 演算子もデータ型によって異なります。

  • 単一アイテム フィールド(文字列) は、部分文字列検索 を実行します。文字列に値が含まれている場合は True を返します。
    • [Entity.Identifier] は "user-1234" と想定しています。
    • 条件 if [Entity.Identifier] contains "user" は True です。
  • 複数アイテム フィールド(リスト) は、リスト内のアイテムの完全一致 を確認します。部分文字列検索は実行されません 。
    • はリスト ("UserA@corp.com", "UserB@corp.com")と想定しています。[Entity.Identifier]
    • 条件 if [Entity.Identifier] contains "corp" は False です。

さらにサポートが必要な場合コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。