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