最初のプレイブックを作成する🔗
以下は、Secureworks® Taegis™ XDR テンプレートエディターを使用して「Hello World」テンプレートを作成する手順です。
注意
このページで作成するテンプレートは、RequestBin Demoコネクターを使用します。その作成手順は最初のコネクターの定義に記載されています。先にこのカスタムコネクターを作成してから進めてください。
-
ログインしてXDRにアクセスします。
-
Taegis Menuから自動化→プレイブックに移動し、テンプレートタブを選択します。
-
右上のアクションプルダウンメニューからテンプレートを選択し、新しいテンプレートの作成を選びます。
-
テンプレートの名前を定義します。この例では
Hello Worldとします。ヒント
名前フィールドの外側をクリックすると、その値がテンプレートに保存されます。
-
必要なテンプレート入力値を定義します。これらの値は、このテンプレートを利用したプレイブックの設定時や実行時に指定されます。入力値を定義するには、エディターのINPUTS & OUTPUTSタブを選択します。
テンプレート入力値はYAML形式のJSONスキーマで定義します。この例では、
configurationという入力オブジェクトと、userIdという文字列入力変数を定義します。入力値は以下のようになります。 -
このプレイブックで生成される出力値を定義します。
テンプレート出力値もyaml形式のJSONスキーマで定義します。この例では、
resultという1つの文字列出力を定義します。出力値は以下のようになります。 -
入力値と出力値の両方がINPUTS & OUTPUTSタブに表示されているはずです。全体の値は以下のようになります。
-
エディターのDSLタブに移動してテンプレート内のタスクを定義します。タスクは最初から最後まで順番に1つずつ実行されます。最初のタスクでは、変数を設定してこのタイプのタスクを示します。
-
タスクの名前を定義して新しいタスクを追加します。
- name: setup -
タスクのタイプを定義します。変数を設定するには、タスクタイプに
letを使用します。 -
letタスクでは、1つまたは複数の変数や複雑なデータ構造(マップやリスト)を定義できます。この例では、statusという単一の変数にstartedというハードコード値を設定します。注意
値をシングルクォートで囲むことで、その値が変数ではなくプレーンテキストとして処理エンジンに認識されます。
-
RequestBin DemoコネクターのPostDataアクティビティ(関数)を実行します。このアクティビティは2つの入力値、
userIdとstatusを必要とします。userIdはテンプレート入力値から取得します。statusは前のタスクでハードコードされた値です。
-
タスクの名前を定義して新しいタスクを追加します。
-
タスクのタイプを定義します。コネクター関数を呼び出すには、タスクタイプに action を使用します。
-
このアクティビティが必要とする入力値を定義します。
- name: post_data action: RequestBin_Demo.PostData inputs: userId: inputs.configuration.userId status: setup.variables.statusこのタスクの入力値は、2つの異なる場所から変数を参照しています。
inputs.configuration.userIdはこのテンプレートで定義した入力フィールドです。setup.variables.statusはテンプレートの最初のタスクで設定した変数です。変数へのパスは<タスク名>.variables.<変数名>という形式です。 -
テンプレートが生成する出力値を定義します。テンプレート出力構造はすでに定義されていますが、ここで値を設定する必要があります。テンプレート出力値を設定するには、tasksと同じ階層でoutputsオブジェクトを定義します。
-
テンプレート出力構造で、
resultという単一の出力フィールドに文字列値を設定します。この値にはpost_dataタスクの出力(boolean型)を使います。文字列値にするには式を使う必要があります。この式は
has()マクロを使って、post_dataタスクがoutputsにresult値を生成したかどうかを判定します。生成されていれば、result変数に割り当てられた値を確認します。result値がtrueならsuccessを、そうでなければfailureを返します。DSLタブの全体の値は以下のようになります。
-
このタスクはコネクターアクションを呼び出すため、このテンプレートで必要なコネクターを要件として定義する必要があります。そのためには、エディターのコネクタータブに移動します。
-
コネクタータブで、このテンプレートが必要とするコネクターIDのリストを定義します。この例では、必要なコネクターは1つだけで、RequestBin_Demo です。
-
新しいタブでTaegisポータルにアクセスし、自動化 → 接続 → コネクターライブラリに移動します。RequestBin コネクターを検索し、RequestBin_Demo コネクターカードを選択して開きます。
-
コネクターIDのコピーを選択してコネクターIDをコピーします。
-
テンプレートエディターに戻り、コネクターIDをコネクターリストに追加します。
-
テンプレートを保存します。テンプレートを下書きとして保存するには、名前を付けて保存を選択し、必要な項目を入力します。本番利用を推奨する場合は、公開を選択してテンプレートを公開バージョンとして保存します。