最初のコネクターを定義する🔗
Connector Editorを使ってサンプルコネクターを作成しましょう。以下の例では、RequestBin を使用して、サンプルコネクターで送信するリクエストを可視化します。
- 新しい RequestBin エンドポイントを作成し(無料)、後でコネクターのテストや利用のために保存しておきます。
- Secureworks® Taegis™ XDR にログインします。
- Taegis Menu から 自動化→接続 を選択し、コネクターライブラリ を選びます。
-
コネクターライブラリ が表示されます。アクション プルダウンメニューから コネクターの作成 を選択します。
メタデータの定義🔗
-
コネクターを作成するには、まず ベンダー、製品、説明 などのコネクターに関するメタデータを定義する必要があります。ベンダー を RequestBin、製品 を Demo に設定します。
-
保存 を選択し、次へ を選択します。
認証タイプの定義🔗
-
コネクターが連携するサービスで必要な認証タイプを定義します。RequestBinは認証を必要としないため、認証タイプとして なし を選択します。
-
接続に必要な入力変数を定義します。一般的な変数の例としては、サービスの URL、組織 または テナントID などがあります。カスタム設定 セクションを使用して、これらの入力変数の型や構造を定義します。 この例では、RequestBinサービスのインスタンスURLを定義します。これを行うには、String プロパティフィールドを カスタム設定 ペインに追加し、名前 を
url、タイトル をRequestBin URLに設定します。 -
保存 を選択し、次へ を選択します。
コネクター関数の定義🔗
以下の手順では、このコネクターがサポートする関数を定義します。
ヒント
コネクターアクティビティを定義すると、プレイブック作成者がそのアクティビティをプレイブックテンプレートのステップとして利用できるようになります。
-
アクティビティ の 名前 を定義します。この名前は、アクティビティで定義されるエンドポイントのREST API呼び出しの目的を表すものにしてください。この例では、アクティビティ の名前を
PostDataにします。 - 次に、REST APIエンドポイントを利用するために必要な入力変数を定義します。RequestBinは変数を必要としませんが、この例では
userIdとstatusの値を送信します。 - String 型の変数を追加し、名前を
userId、タイトル をUser IDにします。 -
さらにString型の変数を追加し、名前を
status、タイトル をUser Statusにします。HTTPリソースの定義🔗
-
HTTPリソース セクションを展開し、このアクティビティのHTTPリソースプロパティを定義します。
- ドロップダウンメニューからリクエストタイプとして POST を選択します。
-
RequestBin URL 変数を ドメイン の値に追加します。
ヒント
変数を値に追加すると、その値が基礎となる変数構造
${config.url}に変換されることに注目してください。config は、認証ステップで定義したすべてのコネクター入力変数の親です。 -
userIdとstatusのフィールド/値をURLパラメータとして送信します。これを行うには、URLパラメータ名をuserIdに設定し、その値としてUser ID変数を選択します。値が基礎となる変数構造${inputs.userId}に変換されることに注目してください。inputsは、上記のアクティビティ入力ステップで定義したすべてのアクティビティ入力変数の親です。次の行で、名前をstatusに設定し、値としてUser Status変数を選択します。注意
この例ではヘッダーやボディは設定していませんが、これらのフィールドもURLパラメータとほぼ同じ方法で機能します。
-
Content Type を
application/jsonに設定します。出力の定義🔗
-
関数が生成する出力を定義して、関数設定を完了します。この例では、HTTPレスポンスコードが200の場合に
trueを返します。出力変数も入力変数と同じ方法で定義する必要があります。ブール値(true)を返したいので、関数出力ペインでBooleanプロパティを選択します。名前をresult、タイトルをResultにします。 -
関数出力 テーブルは、Resultプロパティが追加されると自動的に入力されます。Result変数がどのように値を持つかを定義します。関数が実行されると、ステータスコードとステータスメッセージが
status.codeとstatus.messageの2つの変数で公開されます。ステータスコードを評価し、その値が200の場合に出力変数resultをtrueに設定します。これを行うには、次のCEL式をresult出力変数として入力します:${status.code == 200 ? true : false}。この三項演算子は「status.codeが200ならtrueを返し、それ以外はfalseを返す」という意味です。保存 を選択し、次へ を選択します。PostDataアクティビティ🔗 -
これで新しく追加したPostDataアクティビティを表示できます。このページには、このコネクターがサポートするアクティビティの一覧が表示されます。必要なだけアクティビティを追加できます。また、既存のアクティビティを編集することも可能です。PostDataアクティビティを選択してエディターで開くことができます。アクティビティのテストも可能です。
- 設定 タブの右側にある テスト タブを選択します。
- 認証 ドロップダウンメニューから なし を選択します(この例ではRequestBinは認証不要です)。
- RequestBinエンドポイントからRequestBin URL変数の値を入力します。保存 を選択します。
- アクティビティをテストするには、テストしたい入力値を入力します。例として
User IDとStatusの値を入力し、実行 を選択します。 -
右下のアクティビティ出力で、result変数の値が
trueになっていることを確認します。保存 および 次へ を選択します。コネクターの完成🔗
-
コネクターに必要なドキュメントを定義します。ドキュメントはMarkdownに対応しており、簡易エディターが用意されています。
- ドキュメントの追加が完了したら、公開 または 下書きとして保存 を選択します。コネクターをプレイブックテンプレートで利用したい場合は、公開 することを強く推奨します。下書きとして保存 は、今後もコネクターの編集を続ける予定で、まだプレイブックテンプレートで利用しない場合に便利です。