最初のコネクターを定義する🔗
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の値を送信します。 - 名前を
userId、タイトル をUser IDとした String 変数を追加します。 -
名前を
status、タイトル をUser Statusとした String 変数を追加します。HTTPリソースの定義🔗
-
HTTPリソース セクションを展開し、このアクティビティのHTTPリソースプロパティを定義します。
- ドロップダウンメニューからリクエストタイプとして POST を選択します。
-
ドメイン の値に RequestBin URL 変数を追加します。
ヒント
変数を値に追加すると、その値が基礎となる変数構造
${config.url}に変換されることに注目してください。config は、認証ステップで定義したすべてのコネクター入力変数の親です。 -
userIdとstatusフィールド/値をURLパラメータとして送信します。これを行うには、URLパラメータ名をuserIdに設定し、値としてUser ID変数を選択します。値が基礎となる変数構造${inputs.userId}に変換されることに注目してください。inputsは、上記のアクティビティ入力ステップで定義したすべてのアクティビティ入力変数の親です。URLパラメータの次の行で、名前を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に対応しており、簡易エディターが用意されています。
- ドキュメントの追加が完了したら、公開 または 下書きとして保存 を選択します。コネクターをプレイブックテンプレートで利用したい場合は、公開 することを強く推奨します。下書きとして保存 は、コネクターの編集を続ける予定で、まだプレイブックテンプレートで利用しない場合に便利です。