すべてのプロダクト
Search
ドキュメントセンター

Security Center:プレイブック構成ガイド

最終更新日:Jul 31, 2025

プレイブックは、セキュリティインシデントの識別、分類、評価、および対応に役立つ、事前定義された論理プロセスまたはスクリプトです。 複数の手順を含むプレイブックは、脅威が存在するかどうか、脅威への対応方法、および脅威の影響を軽減する方法を判断するために、特定の操作を実行します。 セキュリティ要件に合わせて、セキュリティインシデントの種類と脅威レベルに基づいてプレイブックをカスタマイズできます。 Security Orchestration, Automation and Response ( SOAR ) は、プレイブックを通じてセキュリティインシデント対応の効率と一貫性を向上させます。

前提条件

Cloud Threat Detection and Response ( CTDR ) に追加する [ログデータ] を購入済みであること。 詳細については、「CTDR の購入と有効化」をご参照ください。

プレイブックの種類

Security Center では、次の種類のプレイブックが提供されています。

  • Predefined Playbook:Security Center は、一般的な脅威シナリオとソリューションに基づいて組み込みプレイブックを提供します。 これらのプレイブックは構成なしで直接使用できます。 定義済みプレイブックをコピーしてカスタムプレイブックとして保存することもできます。 その後、ビジネス要件に基づいてカスタムプレイブックを変更できます。 これにより、カスタムプレイブックの構成の複雑さが軽減されます。

  • Custom Playbook:複雑で高度にパーソナライズされたセキュリティ脅威シナリオを処理する必要がある場合、Security Center は柔軟なカスタムプレイブックを提供します。 フローエディターを使用してさまざまなコンポーネントを自由に構成し、自動化ソリューションを簡単に実装できます。

カスタムプレイブック構成フローチャート

image

フローエディターの説明

ビジュアルフローエディターを使用して、プレイブックフローの作成、変更、デバッグ、および公開を行うことができます。 フローエディターに関する主な情報を以下に示します。

剧本编辑

項目

説明

1-メニューバー

  • [保存]:キャンバスでプレイブックを編集した後、[保存] をクリックして現在のプレイブックを 下書きバージョンとして 保存します。

    重要
    • 保存せずに終了すると、編集されたフロー情報は 失われます

    • 下書きバージョンは一時的に保存されます。 正式バージョンからロールバックすると、下書きが上書きされる場合があります。 プレイブックを永続的に保存するには、[保存して公開] をクリックします。

  • [保存して公開]:プレイブックを保存し、正式バージョンとして公開します。 プレイブックの詳細ページで、プレイブックのバージョン情報を表示できます。

    説明

    公開済みのプレイブックのみを自動応答ルールで使用できます。

  • [デバッグ]:ページ下部のデバッグ領域にパラメーターを入力して、現在のプレイブックが正しく実行されるかどうかを確認します。 これにより、構成をタイムリーに調整できます。

    ブレークポイントデバッグ:キャンバスでコンポーネントを編集するときに、コンポーネントを選択して 断点调试 アイコンをクリックすると、コンポーネントにブレークポイントを追加できます。 デバッグ中は、システムはそのコンポーネントのアップストリームノードのみを実行します。

  • [検出]:プレイブックフローに異常がないか確認します。 異常が検出されない場合にのみ、プレイブックを公開できます。

  • [公開バージョンを表示]:現在のプレイブックの最新の公開済み正式バージョンを表示します。

  • [その他]:JSON として保存、JSON のインポート、画像として保存、失効、削除などの操作を実行できます。

2-基本ノード

これらは各フローに必要な基本コンポーネントであり、外部要因とは無関係です。 各フローは開始ノードで開始する必要があり、複数の終了ノードを持つことができます。

説明

ノードアイコンの上にポインターを移動すると、ノードの概要が表示されます。

3-コンポーネントの構成

  • [基本オーケストレーションコンポーネント]:これらのコンポーネントには、データベースへの書き込み、Simple Log Service ( SLS ) へのデータの書き込み、スクリプト処理のための Python 3.0 の使用など、一般的な IT コンポーネントが含まれます。

    説明

    Python 3.0 コードは、現在の Alibaba Cloud アカウントで Python 3.9 を使用したコンテナー環境で実行されます。 コンテナーには 0.25 vCPU と 256 MB のメモリがあり、最大スクリプト実行時間は 600 秒です。

  • [セキュリティ処理コンポーネント]:Security Center の停止に使用するコンポーネントや Cloud Firewall のブロックコンポーネントなど、Alibaba Cloud セキュリティサービスに関連するコンポーネントを含むセキュリティ処理コンポーネント。

  • [カスタムプレイブック]:これには、現在のアカウントによって作成されたすべてのカスタムプレイブックが含まれます。

  • [定義済みプレイブック]:これには、システムによってプリセットされているすべての定義済みプレイブックが含まれます。

4-キャンバス

キャンバス。 目的のコンポーネントをキャンバスにドラッグし、コンポーネント間の論理関係に基づいて線を描画してコンポーネントを接続できます。

  • キャンバスで、開始ノード(开始节点 アイコン)をダブルクリックして、開始ノードの基本情報と、フローの入力方法とトリガー方法を構成します。

  • キャンバスで、目的の基本オーケストレーションコンポーネントまたはセキュリティ処理コンポーネントをダブルクリックし、基本情報、実行条件、およびアクションを構成します。

  • キャンバスで、終了ノード(结束节点 アイコン)をダブルクリックして、終了ノードの基本情報を構成します。

5-デバッグエリア

デバッグ または右下隅の 展开 アイコンをクリックして、デバッグ領域を展開します。 プレイブックが正しく実行できるかどうかをデバッグできます。

  • [入力パラメーター(デバッグ)]:このタブで、デバッグパラメーターを入力し、デバッグ をクリックします。

    デバッグのためのパラメーターは JSON 形式である必要があります。 [入力パラメーター] をクリックすると、入力パラメーターの例が表示されます。

  • 実行ログ:プレイブックを実行した後、実行ログ をクリックして、プレイブックの実行結果、詳細、その他の情報を表示できます。

  • 過去のデバッグの記録:履歴デバッグレコードを表示します。

カスタムプレイブックの構成

ステップ 1:プレイブックの基本情報を作成する

  1. Security Center コンソール にログオンします。コンソールの左上隅で、保護対象の資産が配置されているリージョン(中国 または 全世界 (中国を除く))を選択します。

  2. 左側のナビゲーションウィンドウで、脅威の分析と応答 > 応答オーケストレーション を選択します。

  3. Custom Playbook タブで、スクリプトの新規追加 をクリックします。

  4. スクリプトの新規追加 パネルで、Playbook NamePlaybook Description を入力し、[OK] をクリックします。

説明

Predefined Playbook タブに移動し、適切なプレイブックを見つけて、[操作] 列の [コピー] をクリックして、定義済みプレイブックを新しいカスタムプレイブックとしてコピーすることもできます。

ステップ 2:プレイブックフローを構成する

  1. ステップ 1 でプレイブックの基本情報を作成すると、プレイブックフロー構成ページに自動的にリダイレクトされます。 カスタムプレイブックリストページの [操作] 列にある [編集] をクリックして、構成ページに移動することもできます。

  2. 開始ノード を構成します。

    1. [プレイブックの編集] ページで、開始ノードをクリックします。 構成パネルで、[ I/O パラメーターの構成] をクリックします。

      説明

      各フローには開始ノードと終了ノードが必要です。 各フローは 1 つの開始ノードのみを持つことができますが、複数の終了ノードを持つことができます。

      image

    2. [I/O パラメーターの構成] パネルで、プレイブックの入力パラメーターと出力パラメーターを構成します。 詳細については、「システムコンポーネント」をご参照ください。

      • 入力パラメーター:プレイブックをトリガーする条件を構成します。 異なる条件を選択すると、テスト中に [入力パラメーターウィザード] がそれに応じて変化します。

      • 出力パラメーター:プレイブックの実行後に 出力されるフィールドを定義します。 これらのフィールドは後続のノードで使用でき、setOutput アクション を介してそれらを参照する他のプレイブックにも提供できます。

  3. 2-基本ノード 領域と 3-コンポーネント構成 領域から適切な コンポーネント または プレイブック を選択し、関連パラメーターを構成します。 このトピックでは、DataFormat コンポーネントを例として使用します。 その他のコンポーネントのパラメーターの構成方法については、「プロセスコンポーネントの説明」をご参照ください。

    重要
    • 開始ノード はノード名として event を使用します。 そのため、プレイブックをオーケストレーションする際に、コンポーネントの名前を event に設定しないでください。

    • 必要に応じて複数のコンポーネントを選択し、それらの間にコンテキスト関係を確立できます。

    1. 左側の [基本オーケストレーションコンポーネント] から DataFormat コンポーネントを選択し、joindata や convertToJSON などの適切なアクションを選択して、コンポーネントをキャンバスにドラッグします。

    2. キャンバスで、選択した DataFormat コンポーネントをクリックするか、[基本情報] 設定ページの Action Configuration モジュールで image をクリックして、パラメーター設定ページに移動し、関連パラメーターを設定します。 パラメーターの設定方法の詳細については、「DataFormat コンポーネント」をご参照ください。

      • 定数、変数パラメーター、システムパラメーター、式などを入力できます。 詳細については、「コンポーネントパラメーターと実行」をご参照ください。

      • パラメーター構成を手動で入力するか、入力フィールドのドロップダウンリストからノードパラメーターを選択して、対応する構文を生成できます。 次の図は例を示しています。

        image

  4. コンポーネントの構成が完了したら、左上隅のメニューバーにある [保存] をクリックします。

    警告

    保存せずに終了すると、編集された情報は 失われます

ステップ 3:フローをデバッグする

プレイブックを構成した後、デバッグしてフローの正確性を検証し、フローノードがスムーズに実行されるようにする必要があります。 主要なノードにブレークポイントを設定する ブレークポイントデバッグ を使用することをお勧めします。 テスト中、実行はブレークポイントノードで一時停止します。

説明
  • フローに複数のブランチがある場合、ブレークポイントのあるブランチのみがデバッグされます。

  • デバッグ中の複数のブレークポイントはサポートされていません。 ブランチに複数のブレークポイントがある場合、実行は最後のブレークポイントで一時停止します。

  1. ブレークポイントを設定します(オプション)。 ノードの image をクリックして、現在のノードをブレークポイントとして設定します。

    image

  2. 左上隅の image をクリックし、[入力パラメーター(デバッグ)] 領域に入力パラメーターを入力します。

    説明

    [入力パラメーター] をクリックすると、パラメーターの例を取得できます。 デバッグパラメーターの構成は、開始ノードに構成されたプレイブックのトリガー条件によって異なります。 詳細については、「開始コンポーネントの説明」をご参照ください。

  3. [入力パラメーター(デバッグ)] 領域で デバッグ をクリックします。

    image

  4. デバッグ結果を表示します。

    デバッグ領域でノードの image または [実行ログ] をクリックすると、ノードの詳細な入力データと出力データ、および実行ステータスを表示できます。 次の表では、[出力パラメーター] タブの一部のパラメーターについて説明します。

    パラメーター

    説明

    datalist

    結果プレビューデータ。

    重要

    最大 3 つのプレビューデータエントリが表示されます。 [完全な出力結果] タブから完全なデータを表示できます。

    total_data_successful

    実行中に正常に処理されたデータ量。

    total_data

    実行中に処理されたデータの総量。

    total_exe_successful

    現在のアクションが正常に実行された回数。

    total_exe

    現在のアクションが実行された合計回数。

    total_data_with_dup

    実行中に正常に処理された後の重複排除後のデータ量。

    image

ステップ 4:保存して公開する

デバッグが完了したら、左上隅のメニューバーにある [保存して公開] をクリックして、プレイブックを正式バージョンに変換します。 公開済みのプレイブックのみを 自動応答ルールと手動セキュリティインシデント処理 に使用できます。

追加アクション

プレイブックをロールバックする

公開済みのプレイブックを履歴バージョンに復元する場合は、ロールバック操作を実行します。

  1. Custom Playbook タブで、ロールバックするプレイブックを見つけます。 操作する 列の [詳細] をクリックします。 詳細ページの [基本情報] タブの公開履歴セクションで、公開済みプレイブックの履歴バージョンを表示します。

  2. テストを実行します(オプション):ロールバックするバージョンを選択し、[操作] 列の [表示] をクリックして、プレイブックタブに移動します。 [入力パラメーター(実行)] 領域でロールバックバージョンの実行テストを完了します。

  3. ロールバックするバージョンを選択し、[操作] 列の ロールバックして編集する または ロールバックしてリリースする をクリックします。

    • ロールバックしてリリースする:編集ページの下書きバージョンを現在のバージョンで上書きし、バージョンを公開します。

    • ロールバックして編集する:編集ページの下書きバージョンを現在のバージョンで上書きします。

重要

正式バージョンからロールバックすると、下書きバージョンが上書きされる場合があります。 ロールバックする前に、ロールバック前後のプレイブックを詳細に確認および評価してください。

プレイブックをインポートする

説明

JSON ファイルのみをインポートできます。

  1. フローエディターのメニューバーで、[その他] をクリックし、ドロップダウンリストから [JSON のインポート] をクリックします。

  2. インポートページで、インポートする JSON ファイルをアップロードし、[OK] をクリックします。

image

プレイブック実行レコードを表示する

プレイブックリストで、プレイブック ID または [操作] 列の [詳細] をクリックして、プレイブックの詳細ページに移動します。 [履歴実行レコード] で基本的な実行レコードを表示できます。

説明

プレイブックを使用してイベントまたはセキュリティアラートを処理すると、システムは自動的にプレイブック実行レコードを生成します。

プレイブック名を変更する

プレイブックリストで、プレイブック ID または [操作] 列の [詳細] をクリックして、プレイブックの詳細ページに移動します。 [基本情報] で、プレイブック名の横にある [編集] をクリックします。

説明
  • 定義済みプレイブックの名前は変更できません。

  • プレイブック名は一意にしてください。

プレイブックの実行とデバッグにおける一般的なエラーコード

エラーコードは、プレイブックのオーケストレーション中に発生するエラーコードと、コンポーネントの実行中に発生するエラーコードに分類されます。

プレイブックのオーケストレーションに関連するエラーコード

エラーメッセージ

説明

トラブルシューティングと解決策

ノード [%s] のフィルター条件が無効です。 ノード [%s] のデータリストからのデータを含める必要があります。

フィルターノードの条件判断構成が正しくありません。 構成には、フィルターするデータを含める必要があります。

ノードのデータをフィルターするときは、フィルター条件にノードのデータ変数と対応する条件が含まれていることを確認してください。

開始ノードにダウンストリーム構成がありません。

開始ノードにダウンストリームノードが定義されていません。

開始ノードにダウンストリームノードを定義します。

ノード [nodeName] にダウンストリームノードが定義されていません。

共通ノードにダウンストリームノードが定義されていません。

共通ノードにダウンストリームノードを定義します。

ノード [node] のアセットが存在しません。

リソースインスタンスが構成されていますが、リソースインスタンスが存在しません。

既存のリソースインスタンスをもう一度選択します。

ノード [node] のアセットは必須ですが、構成されていません。

リソースインスタンスが構成されていません。

リソースインスタンスを選択して構成します。

複数のノードに同じ名前 [nodeName] が付いています

重複するノード名が 存在します。

重複するノード名を見つけて変更し、各ノード名が 一意になるようにします。

ノード [node1] で定義されているパス [path] は無効です。 子フローは ${<subTask>.curLoop} および ${<subTask>.curIndex} 形式のみをサポートしているためです。

子フローでは、子フローの名前を使用して取得された変数の形式が正しくありません。 現在、子フローでは ${<subTask>.curLoop} と ${<subTask>.curIndex} のみがサポートされています。

子フローのパラメーターの変数定義を確認し、正しくない変数定義を変更します。

ノード [node1] で定義されているパス [node2.path] は無効です。 ノード [node2] が存在しないためです。

ノードのパラメーターで、変数によって参照されるノードが存在しません。

参照されるノードが存在しないか、削除されています。 変数を再構成するか、存在しないノードを追加する必要があります。

ノード [node1] で定義されているパス [node2.path] は無効です。 ノード [node2] は現在のノードのアップストリームノードではないためです。

ノードのパラメーターで、変数は存在するノードを参照していますが、現在のノードのアップストリームノードではありません。

アップストリームノードの変数を参照します。

コンポーネントの実行に関連するエラーコード

エラーコード (errCode)

エラーメッセージ (errMsg)

トラブルシューティング

sophon.Internal.Error

内部エラーが発生しました。

パラメーターまたはアセットの構成を確認してください。 詳細については、エラーメッセージを表示するか、テクニカルサポートにお問い合わせください。

component.Internal.ParamError

コンポーネントパラメーターエラー。

コンポーネントに構成されたパラメーターが正しいかどうかを確認します。

component.Abnormal.InvokeError

コンポーネント実行エラー。

コンポーネントの内部実行中にエラーが発生しました。 詳細については、エラーメッセージを表示するか、テクニカルサポートにお問い合わせください。

filter.Abnormal.Fail

データがフィルター条件を満たしていません。 フィルター条件が正しく設定されているかどうかを確認してください。

データがフィルター条件を満たしていません。 フィルター条件が正しく設定されているかどうかを確認してください。

securityGroup.Internal.HostIsOutside

クラウド外のホストは、セキュリティグループを使用して IP をブロックできません。

ブロックするホストがクラウド外にあるかどうかを確認します。

securityGroup.Internal.NumberExceedLimit

セキュリティグループまたはセキュリティグループルールの数が制限を超えています。

ホストに関連付けられているセキュリティグループの数またはセキュリティグループルールの数が制限を超えているかどうかを確認します。

sts_openapi.Internal.ParamError

ParamError:リクエストのパラメーターが無効です。

コンポーネントの実際の入力パラメーターが正しいかどうかを確認します。

sts_openapi.Internal.WafRuleError

VerifyRuleCountExceed:ルールの数が制限を超えています。

WAF ( Web Application Firewall ) のカスタムルールの数が制限を超えています。

sts_openapi.Internal.DefenseTemplateNotExist

Defense.Control.DefenseTemplateNotExist:保護テンプレートが存在しません。

WAF テンプレートが存在しません。 WAF テンプレートが誤って削除されていないか確認してください。

sts_openapi.Internal.DefenseTemplateBindUnbindResourceInvalid

Defense.Control.DefenseTemplateBindUnbindResourceInvalid (テンプレートをバインドするリソースが使用できません)。

WAF テンプレートをリソースにバインドできません。 関連リソースが使用可能かどうかを確認してください。

sts_openapi.Internal.DefenseResourceRelationExist

Defense.Control.DefenseResourceRelationExist (テンプレートをバインドするリソースはすでに別のテンプレートにバインドされています)。

WAF テンプレートをリソースにバインドできません。 関連リソースがすでに別のテンプレートにバインドされているかどうかを確認してください。

sts_openapi.Info.DefenseSceneNotSupported

Defense.Control.DefenseSceneNotSupported:この保護シナリオはサポートされていません。

WAF のバージョンが古すぎて、カスタムルール機能がサポートされていません。

sts_openapi.Internal.ErrorAddressGroupExist

ErrorAddressGroupExist:アドレスグループはすでに存在します。

Cloud Firewall アドレス帳の名前はすでに存在します。

sts_openapi.Internal.PermissionError

NoPermission:呼び出し元に権限がありません。

ユーザーには、関連リソースを変更する権限がありません。

sts_openapi.Internal.CFWRuleError

acl または展開 acl の数が制限を超えています。

Cloud Firewall ルールの数が制限を超えています。

sts_openapi.Internal.InvalidSecurityGroupId

InvalidSecurityGroupId.NotFound:指定された SecurityGroupId が存在しません。

セキュリティグループが存在しません。 セキュリティグループが誤って削除されていないか確認してください。

sts_openapi.Internal.ErrorParametersGroupAddress

ErrorParametersGroupAddress:アドレスグループの IP アドレスが無効です。

現在の IP アドレス帳は使用できません。

sts_openapi.Internal.notBuyUser

非購入ユーザー(ユーザーは製品を購入していません)。

ユーザーは Cloud Firewall を購入していません。

sts_openapi.Internal.Throttling

速度制限または Throttling キーワードが含まれています(API 速度制限)。

クラウド製品の OpenAPI 操作が制限されています。

python.Info.aegis2

プロセスが存在しません。

プロセスが存在しません。

python.Internal.aegis3

プロセス ID とパスが一致しません。

プロセス ID とパスが一致しません。

python.Internal.aegis4

プロセスの権限が拒否されました。

プロセスを処理する権限がありません。

python.Info.aegis5

ファイルが存在しません。

処理するファイルが存在しません。

python.Internal.aegis6

ファイルの MD5 値が一致しません。

処理するファイルの入力 MD5 値が実際の MD5 値と一致しません。

python.Internal.aegis7

ファイルの権限が拒否されました。

ファイルを処理する権限がありません。

python.Internal.aegis8

ターゲットファイルが存在し、MD5 値が一致しません。

ターゲットファイルが存在し、MD5 値が一致しません。

python.Internal.aegis9

バックアップファイルが存在しません。

処理するファイルのバックアップファイルが存在しません。

python.Internal.aegis10

隔離レコードが見つかりません。

関連するファイル隔離レコードが見つかりません。

python.Internal.aegis11

AliYunDun プロセスを終了または隔離することはできません。

AliYunDun プロセスを終了または隔離することはできません。

python.Internal.aegis91

ホスト情報が存在しません。

ホスト情報が存在しません。

python.External.Fail

Python スクリプトエラー。

Python スクリプトの実行中にエラーが発生しました。 詳細については、エラーメッセージを表示するか、テクニカルサポートにお問い合わせください。

python.External.Data

Python コンポーネントの入力形式エラー。

Python コンポーネントの入力形式でエラーが発生しました。 詳細については、エラーメッセージを表示するか、テクニカルサポートにお問い合わせください。

参考資料

コンポーネントパラメーターとサポートされているパラメーター形式については、「コンポーネントパラメーターと実行」をご参照ください。

コンポーネントパラメーターの構成については、「システムコンポーネント」をご参照ください。