コンテンツにスキップ

カスタムコネクターエディター🔗

ヒント

より高いレベルのサポートをご希望の場合、SecureworksプロフェッショナルサービスチームがTaegis XDRへの投資から最大限の価値を引き出すお手伝いをいたします。高度なスキルを持つコンサルタントが、迅速な展開、最適化、価値実現までの時間短縮をサポートします。詳細については、以下をご覧ください。 プロフェッショナルサービス概要

カスタムコネクターパネルを使用して、外部のWebベースAPIをSecureworks® Taegis™自動化のプレイブックテンプレートで活用できる関数にマッピングします。

カスタムコネクター

カスタムコネクターの作成🔗

  1. Taegis Menuから自動化→接続を選択します。
  2. 接続パネルが表示され、設定済みのコネクターが表示されます。右上のコネクターライブラリボタンを選択します。
  3. コネクターライブラリが表示されます。右側のアクションプルダウンボタンから作成を選択します。
  4. カスタムコネクターの作成パネルが表示されます。

カスタムコネクター作成には、詳細認証関数ドキュメントの4つのセクションがあります。

詳細🔗

コネクターのメタデータ(名前、ベンダー、バージョン(任意)など)を入力します。

カスタムコネクター詳細

  • コネクター名は一意である必要があります。
  • サムネイル画像を任意で追加できます。

詳細で必要な設定を行ったら、次へを選択します。_認証_パネルが表示されます。

ヒント

カスタムコネクター内の任意のパネルには、パネルのステップアイコンを選択することでスキップして移動できます。

カスタムコネクターパネル

認証🔗

認証パネルには、Secureworks® Taegis™ XDRがサポートするすべての認証方法が一覧表示されます。コネクターに該当するものをすべて選択してください。たとえば、コネクターがMicrosoft Defenderに関係し、Basic認証、APIキー、OAuth AuthCodeが必要な場合は、それらすべてを選択します。

コネクター認証

注意

このパネルにはデフォルト値がありません。作成するコネクターに該当するプロパティを必ず選択してください。

利用可能な認証タイプは以下の通りです。

Basic認証🔗

Basic認証には以下のプロパティがあります。

  • ユーザー名
  • パスワード
  • ヘッダー — これは任意です。

APIキー🔗

APIキーには以下のプロパティがあります。

  • ヘッダー/クエリパラメータ名
  • パスワード
  • APIバージョン
  • 組織キー

AWS v4🔗

AWS v4には以下のプロパティがあります。

  • アクセスキー
  • シークレットアクセスキー
  • ヘッダー(任意)

Raw🔗

Rawには1つのプロパティがあります。

OAuthクライアントクレデンシャル🔗

クライアントクレデンシャルグラントタイプは、クライアントがユーザーのコンテキスト外でアクセストークンを取得するために使用されます。

OAuthクライアントクレデンシャルには以下のプロパティがあります。

  • グラントURL
  • クライアントID
  • クライアントシークレット
  • スコープ

OAuth AuthCode🔗

認可コードグラントタイプは、機密性の高いクライアントおよび公開クライアントが認可コードをアクセストークンに交換するために使用されます。

OAuth AuthCodeには以下のプロパティがあります。

  • グラントURL
  • クライアントID
  • クライアントシークレット
  • スコープ
  • コード
  • リダイレクトURI

OAuthパスワード🔗

パスワードグラントタイプは、ユーザーの認証情報をアクセストークンに交換する方法です。クライアントアプリケーションがユーザーのパスワードを収集し、認可サーバーに送信する必要があるため、このグラントの使用は推奨されません

OAuthパスワードには以下のプロパティがあります。

  • グラントURL
  • クライアントID
  • クライアントシークレット
  • スコープ
  • ユーザー名
  • パスワード

OAuth JWT🔗

JSON Web Token(JWT、RFC 7519)は、JSONファイルにクレームをエンコードし、それに署名することを可能にします。

OAuth JWTには以下のプロパティがあります。

  • グラントURL
  • クライアントID
  • クライアントシークレット
  • スコープ
  • ISS
  • Sub
  • Aud
  • 有効期間
  • 署名方法
  • 署名キー

Azureクライアント証明書🔗

Microsoft Azure APIへのクライアント証明書認証。

Azureクライアント証明書には以下のプロパティがあります。

  • テナントID
  • クライアントID
  • 証明書
  • 秘密鍵

Githubインストール🔗

ユーザーのコンテキスト外でアクセストークンを取得するためのGithubアプリケーションクレデンシャル。

Githubインストールには以下のプロパティがあります。

  • アプリID
  • インストールID
  • 署名キー
  • 有効期間

カスタム構成🔗

認証パネルの下部にあるカスタム構成セクションでは、このコネクターに必要な追加入力を定義できます。このパネルで定義した入力は、コネクターアクティビティの作成時に変数として利用できます。これらの入力値は、このコネクターから接続を作成する際に指定します。

右側のプロパティフィールドをクリック&ドラッグして、左側のカスタム構成ビルダーウィンドウに追加することでプロパティを追加します。

利用可能なプロパティ🔗

認証のカスタム構成セクションで利用できるプロパティは以下の通りです。

  • 配列
  • ブール値
  • 整数
  • オブジェクト
  • 文字列

認証の設定が完了したら、パネル下部の保存して次へボタンを選択します。

関数🔗

コネクターの主要な機能を、1つ以上追加して設定します。利用可能な関数には以下が含まれます。

  • ホストの隔離
  • ユーザーの検索
  • イベントの解決
  • 検出の解決

一般的に、関数はこのコネクターの製品のエンドポイントへのAPIコールを表します。これらの関数は、プレイブックテンプレート内のステップとして利用できます。

関数リスト🔗

すでに関数が設定されている場合、このセクションに移動すると関数リストビューが表示されます。

カスタム関数リスト

新規関数🔗

まだアクティビティが設定されていない場合は、+ 新規関数を追加を選択すると新規関数パネルが表示されます。

新規関数の追加

新規関数パネルには構成タブとテストタブがあります。関数の作成中にこれら2つを切り替えることができます。テストタブは構成タブから自動的に内容が反映されます。

ヒント

新規関数パネルにいる場合、パネル右上の設定済み関数を選択すると、設定済みアクティビティのリストに戻ることができます。

新規関数の作成🔗

  1. 新規関数パネルの構成タブで、関数名と説明を入力します。名前と説明は、このコネクターを利用するプレイブックテンプレート作成時に表示されます。

    関数入力🔗

  2. 関数入力で、この関数に必要な入力を定義します。たとえば、ホストを隔離する関数を作成する場合、関数ビルダーでhost_idという名前の文字列を追加します。この入力値はプレイブック実行時に設定されます。ここで定義した入力は、関数定義の他の部分で変数として利用できます。

    右側のプロパティフィールドエリアからビルダーウィンドウにプロパティをドラッグし、必要に応じてフィールドを定義します。

    HTTPリソース🔗

    HTTPリソースでは、関数のために必要なすべてのパラメータとプロパティを定義します。

  3. HTTPタイプを選択します。選択肢は以下の通りです。

    • GET
    • POST
    • PUT
    • DELETE
    • PATCH
  4. ドメインを入力します。これはハードコーディング(直接入力)も可能ですが、前のステップで定義したXDRコネクター言語の変数を活用するのがおすすめです。ドメイン値に変数を利用する場合は、HTTPリソースパネル右側の変数リストからフォームフィールドにドラッグできます。

    Taegis変数🔗

    Taegis変数サイドパネルを利用して、カスタムコネクターで変数を活用できます。

    カスタムコネクター変数

    認証カスタム入力や関数入力でプロパティを定義すると、変数として変数サイドパネルから選択できるようになります。

  5. 有効なURLエンドポイント(例:/api/v1/host)を追加します。このフィールドも変数をサポートしています。

    ヒント

    多くのフィールドはGoogleのCommon Expression Languageをサポートしています。詳細はUsing Common Expression Languageをご参照ください。

  6. URLパラメータ名を追加します。フィールドには変数を追加できます。必要なだけURLパラメータを追加できます。

    ヘッダー🔗

  7. 関数のHTTPリクエストに必要なヘッダーを追加します。たとえば、テナントIDが必要な場合は、X-Tenant-Id = ${inputs.tenant_id} のように追加できます。${inputs.tenant_id}はビルダーセクションで定義できる変数です。

    ボディ🔗

  8. HTTPリクエストのボディに含めたい内容を定義します。

    ヒント

    複雑なオブジェクトを作成する必要がある場合は、関数入力で変数として作成し、ボディで新しい複合オブジェクトの名前と値のペアを追加し、値に複合オブジェクト変数(ポインタのようなもの)を指定してください。

    コンテンツタイプ🔗

  9. HTTPリクエストのコンテンツタイプを選択します。このリストにはよく使われるタイプがあらかじめ用意されていますが、必要に応じて任意の値を入力できます。デフォルトは最も一般的なapplication/jsonです。

関数出力🔗

入力とHTTPリクエストの動作を定義した後、関数が出力する可能性のある出力を定義できます。関数出力セクションにはビルダーと、その下に出力テーブルがあります。テーブルに出力を追加するには、まずビルダーでプロパティを定義する必要があります。手順は以下の通りです。

  1. ビルダーでプロパティを定義し、
  2. 出力テーブルでプロパティ(複数可)の値を追加します。右側の変数リストから出力プロパティ値に変数を設定できます。

    関数出力

たとえば、ホスト隔離関数を作成する場合、その出力のロジックを設定できます。ホスト隔離の成否(success, failure)を表すブール値の文字列を作成します。たとえば、値は${status.code == 200 ? 'success' : 'failure'}のように設定できます。

ヒント

定義したプロパティには、必ず明確な説明を追加してください。そのプロパティは他のコンテキストでプレイブック内に表示されるため、正確な説明を記載しておくとご自身や他のユーザーにとって有益です。

エラー条件🔗

関数が失敗と見なされるカスタムエラー条件式をオプションで追加できます。デフォルトでは、2xx以外のすべてのHTTPレスポンスは失敗と見なされます。エラー条件が空でない、またはnullでない値に評価される場合、関数は失敗と見なされます。

テスト🔗

関数の設定が完了したら、テストできます。テストタブには、構成タブで作成した内容が自動的に反映されます。

関数のテスト

関数テストのセットアップ🔗

  1. テスト用の認証オプションを入力します。
  2. 認証情報を追加したら、保存を選択します。認証情報はこのコネクターの作業中保持されます。
  3. テスト関数を定義します。このセクションは構成タブで作成した内容が自動的に入力されます。
  4. 実行ボタンを選択して関数をテストします。
  5. 右側のレスポンスパネルに関数の出力が表示されます。
  6. 結果に基づいて変更が必要な場合は、構成タブに戻って関数を更新し、再度テストタブで変更を試してください。
  7. テストが完了したら、保存して次へを選択します。
  8. ドキュメントステップが表示されます。

ドキュメント🔗

ドキュメントパネルでは、コネクターを詳細に記述できるMarkdownエディターが提供されます。コネクターの概要や、ユーザーがコネクターを利用する際に入力すべきパラメータの定義・説明を記載してください。標準のMarkdown構文がサポートされています。詳細はMarkdown Guide: Basic Syntaxをご参照ください。

ドキュメントの作成が完了したら、下書きとして保存するか、公開できます。

  • 公開するには、公開を選択します。これによりコネクターのバージョン管理が行われ、プレイブックテンプレートで利用可能になります。
  • 下書きとして保存するには、下書きとして保存を選択します。下書きは関数リストからいつでも呼び出せます。

注意

公開してコネクターが_バージョン管理_されると、プレイブックテンプレートで使用するコネクターのバージョンを制御でき、重大な変更が必要な場合にプレイブックテンプレートやコネクターを更新できます。このため、本番プレイブックで_下書き_コネクターを使用しないようご注意ください。