プレイブックタスクの操作🔗
テンプレートは、順序付けられたタスクのリストから構成される自動化ワークフローです。このページでは、タスクを定義する際に使用されるフィールドについて説明します。例は、Secureworks® Taegis™ XDRのテンプレートライブラリからテンプレートをエクスポートすることで確認できます。ドメイン固有言語(DSL)の公式リファレンスドキュメントは、こちらをご参照ください: DSL
name🔗
タスクの名前を定義します。タスク名は、同じテンプレート内で一意でなければなりません。タスク名にはスペースやアンダースコア(_)以外の特殊文字を含めないでください。名前は正規表現パターン [a-z][a-zA-Z0-9_]* に一致する必要があります。
デフォルト値— n/a
データ型— string
description🔗
このフィールドはタスクの説明に使用します。これはドキュメント用のフィールドではなく、タスクの目的を明確に示す1~2文の短い説明です。
デフォルト/推奨値: タスクの目的を明確に示す1~2文。
データ型— string
inputs🔗
このフィールドは、タスクの入力値を定義するために使用します。タスクがコネクタ関数の場合、ここで指定する入力はアクションの入力と一致/マッピングする必要があります。入力は、タスクの変数が評価された後に評価/構築されます。このフィールドは任意です。
デフォルト値— コネクタアクションのJSONスキーマに一致する必要があります
データ型— object/map
variables🔗
テンプレート作成者が、タスク用の変数をキー/バリューのペアで定義できます。変数は入力値に似ていますが、フロー制御タスクタイプで使用されます。各タスクの変数は、task_name.variables.variable_name の記法でプレイブック内の後続ステップで使用/参照できます。変数は、タスクのconditionが評価された後に評価・構築されます。このフィールドは任意です。
デフォルト値— n/a
データ型— object/map
condition🔗
テンプレート作成者が、タスク実行前に評価される条件を定義できます。このフィールドは任意です。
デフォルト値— n/a
データ型— string
タスクタイプ🔗
ドメイン固有言語(DSL)は、いくつかのタスクタイプをサポートしています。一部のタスクは、そのタスクタイプ固有のフィールドによって定義されます。タスクタイプは以下の通りです。
action🔗
テンプレート作成者がコネクタ関数を呼び出すことができます。多くの場合、このタスクタイプはコネクタ関数で定義された入力に合わせた入力値を定義します。値には connector_name.function_name の形式を使用します。
デフォルト値— connector_name.function_name
データ型— string
exec🔗
テンプレート作成者が他のテンプレートを呼び出すことができます。多くの場合、execタスクタイプはテンプレートで定義された入力に合わせた入力値を定義します。デフォルト値にはテンプレートのフルネームを使用します。execタスクで実行されるすべてのプレイブックは、テンプレートの必須プレイブックリストにも追加する必要があります。
デフォルト値— template_name
データ型— string
do while🔗
テンプレート作成者が、条件が満たされるまで複数のタスクを繰り返し実行できます。do while 内のタスクは、条件が評価される前に実行される点に注意してください。do whileタスクの出力は、最後に実行されたタスクの結果です。do while 内では iteration 変数が作成され、ループの現在の繰り返し回数が格納されます。
デフォルト値— n/a
do データ型— list/array of tasks
while データ型— string
iteration— integer
for range🔗
テンプレート作成者がリストまたはマップ値を反復処理し、範囲内の各繰り返しでタスクを実行できます。出力は、最後に実行されたタスクの結果です。各繰り返しでデータにアクセスするための特別な変数がいくつか用意されています。
index— リスト内の要素を示す整数、またはマップの場合は文字列のキー
value— この繰り返しでの現在の値
iteration— 各繰り返しのカウンター
デフォルト値— n/a
データ型🔗
for-- タスクのリスト/配列
range— リスト/配列またはマップ
index-- rangeがリスト/配列の場合はinteger、マップの場合はstring
value— 任意(range内要素のデータ型による)
iteration— integer
for condition🔗
テンプレート作成者が、条件が満たされている場合に複数のタスクを繰り返し実行できます。for conditionタスクでは、for condition 内のタスクは条件が評価された後に実行される点に注意してください。for condition タスクの出力は、最後に実行されたタスクの結果です。do while 内では iteration 変数が作成され、ループの現在の繰り返し回数が格納されます。
デフォルト値— n/a
データ型🔗
for— タスクのリスト/配列
condition— string
iteration— integer
switch🔗
テンプレート作成者が、実行パスの分岐条件を定義できます。case値は文字列でなければならず、各caseに複数のタスクを定義できます。
デフォルト値— n/a
データ型🔗
switch— string
case— object/map(各キーの値はタスクのリスト/配列)
let🔗
テンプレート作成者が、テンプレート内の後続ステップで使用できる変数を定義できます。変数は名前/値のペアです。
デフォルト値— n/a
データ型— object/map
call🔗
テンプレート作成者が関数を実行できます。多くの場合、callタスクタイプは関数で定義された入力に合わせた入力値を定義します。値にはフル関数名を指定します。exec タスクで実行されるすべてのプレイブックは、テンプレートの必須インターフェースリストにも追加する必要があります。
デフォルト値-- activity_name
データ型-- string