IDE を使用する

以下でサポートされています。

このドキュメントでは、統合開発環境(IDE)のプロダクション モードについて説明します。IDE は、コードの表示、編集、テストを行うためのフレームワークです。商用統合のコードを表示したり、商用統合のコードを複製してカスタム統合をゼロから作成したりできます。

IDE は、カスタム統合の管理、インポート、エクスポートを行う場所です。

IDE を開く

IDE を開く手順は次のとおりです。

  • IDE を開くには、メインメニューで [レスポンス] > [IDE] に移動します。[IDE] ページが開きます。

[IDE] ページでは、次のオプションにアクセスできます。

オプション 説明
統合
タイプ
[インテグレーション] または [タイプ](コネクタ、アクション、ジョブ、マネージャー)を選択します。
エクスポート
インポート
統合から 1 つまたは複数のアイテムをエクスポートします。依存アイテムは、個々のアイテムをエクスポートするときには含まれますが、パッケージ全体をエクスポートするときには含まれません。
エクスポートされたファイルは、JSON ファイルを含む ZIP アーカイブです。インポートする際に、個々のアイテムを既存の統合に追加することも、パッケージ全体をインポートすることもできます。パッケージには、integrations.def ファイルと、ActionsDefinitionsActionsScriptsDependenciesManagers の各フォルダが含まれている必要があります。
[Hide Inactive/Show All] 切り替えをクリックして、無効化されたアイテム(アクション、コネクタ)を表示または非表示にします。
新しいカスタム統合、コネクタ、アクション、ジョブ、マネージャーを追加します。

コネクタを追加する

コネクタを追加する手順は次のとおりです。

  1. [新しいアイテムを作成] をクリックし、[コネクタ] を選択します。
  2. 名前と必要な統合を入力します。
  3. [作成] をクリックします。
  4. 統合の詳細を追加します。
  5. 必要なパラメータを追加します。
  6. [コネクタ] トグルをクリックして、コネクタを有効にします。
  7. 完了したら [保存] をクリックするか、Ctrl + S キーを押します。

[詳細] タブでは、次のオプションを使用できます。

オプション 説明
削除 カスタム統合のアイテムでのみ使用できます。
再生 スクリプトのテストメソッドを実行します。結果は [テスト] タブに表示され、デバッグ出力は [デバッグ出力] セクションに表示されます。
file_json JSON サンプルを管理する [JSON サンプルのインポート/エクスポート] ダイアログで、[JSON 結果を含める] が有効になっていることを確認します。その後、アクションの JSON 結果のサンプルをインポートまたはエクスポートできます。
詳細ユーザーが指定した入力や、統合名などの他のパラメータを入力します。
バージョン管理 バージョン管理 - アクション、ジョブ、コネクタを選択してクリックすると、次のオプションが表示されます。 新しいバージョンとして保存: オブジェクトを新しいバージョンとして保存します。コメントは省略可能です。変更履歴を表示: 以前のバージョンを表示、復元できます。少なくとも 1 つのバージョンが保存されている場合にのみ使用できます。[復元] をクリックすると、いつでも以前のバージョンに戻すことができます。これは、以前にアクション、ジョブ、コネクタ、マネージャーで [Save as New Version] をクリックした場合にのみ使用できます。
アイテムの重複 アイテム(ジョブ、アクション、コネクタ、マネージャー)を複製します。保存すると、重複したポリシーがリストに表示されますが、 ロック ロック アイコンは表示されません。

カスタム インテグレーションを作成する

  1. [Create New Item] をクリックし、[Integration] を選択します。
  2. 名前を入力して [Create] をクリックします。
  3. 作成した統合をリストから選択し、次の情報を入力します。
    • 説明: Google Security Operations Marketplace に表示され、すべての Google SecOps ユーザーに表示されます。
    • SVG アイコン: 統合とともに表示される SVG アイコンをアップロードします。
    • 画像: Google SecOps ユーザー向けの Marketplace 画像をアップロードします。
    • ライブラリ: pip を使用して Python ライブラリを追加します。
    • スクリプトの依存関係: `.WHL`、`.PY`、`.TAR`、`.GZ` ファイルをアップロードします。これらのスクリプトは、統合に機能を追加します。
    • パラメータ: 定義された型、デフォルト値、必須ステータスを持つ構成可能なフィールドを追加します。
  4. 完了したら、[保存] をクリックします。

ジョブの作成

ジョブを作成する手順は次のとおりです。

  1. [Create New Item] をクリックして、[Job] を選択します。
  2. 名前と必要な統合を入力します。
  3. [作成] をクリックします。
  4. 省略可: ユーザーまたはスクリプトの入力用のパラメータを追加します。
  5. [保存] をクリックするか、Ctrl + S を押します。
  6. arrow_right [Play Item] をクリックしてスクリプトを実行します。
  7. [レスポンス] > [ジョブ スケジューラ] に移動します。
  8. [ 追加 新しいジョブを作成] をクリックし、作成したジョブを選択します。
  9. [レスポンス] >[ジョブ スケジューラ] で、作成したジョブ(スクリプト)を実行する必要な時間を選択します。

ハンドブックで使用する新しいアクションを作成する

プレイブックの新しいアクションを作成する手順は次のとおりです。

  1. [Create New Item] をクリックして、[Action] を選択します。
  2. 名前と必要な統合を入力 > [作成] をクリックします。
  3. 必要に応じてコードを編集します。
  4. アクションでプレイブックに JSON 結果を返す必要がある場合は、[JSON 結果を含める] を有効にします。
  5. 省略可: 入力フィールドとして表示するパラメータを追加します。
  6. アクションを有効にして、[保存] をクリックします。
  7. [ポーリング構成] で、アクションがタイムアウトした場合のタイムアウトとデフォルトの戻り値を設定できます。定義されたタイムアウト時間内にアクションが完了しなかった場合に返すデフォルト値を設定することもできます。

これで、[Playbook] > [Actions] でアクションを使用できるようになりました。

カスタム マネージャーを作成する

カスタム マネージャーを作成する手順は次のとおりです。

  1. [Create New Item] をクリックし、[Manager] を選択します。名前と必要な統合を入力します。
  2. [作成] をクリックします。
  3. 必要に応じてコードを編集します。
  4. [保存] をクリックします。

IDE カスタムコードの検証

Google SecOps IDE で作業する場合、管理された安全な環境内でカスタムコードを構築します。このプラットフォームの完全性と安定性を確保するため、IDE は特定の関数の使用を制限するカスタム コード検証を実装しています。これらの制限は、セキュリティと技術の両方の理由で適用されています。

カスタムコードでは、次の式は制限されています。

  • no_shell = [
    "os.execl",
    "os.execle",
    "os.execlp",
    "os.execlpe",
    "os.execv",
    "os.execve",
    "os.execvp",
    "os.execvpe",
    "os.spawnl",
    "os.spawnle",
    "os.spawnlp",
    "os.spawnlpe",
    "os.spawnv",
    "os.spawnve",
    "os.spawnvp",
    "os.spawnvpe",
    "os.startfile"
    ]

  • shell = [
    "os.system",
    "os.popen",
    "os.popen2",
    "os.popen3",
    "os.popen4",
    "popen2.popen2",
    "popen2.popen3",
    "popen2.popen4",
    "popen2.Popen3",
    "popen2.Popen4",
    "commands.getoutput",
    "commands.getstatusoutput"
    ]

  • subprocess = [
    "subprocess.Popen",
    "subprocess.call",
    "subprocess.check_call",
    "subprocess.check_output"
    ]

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。