レスポンスプレイブックは、ロールの引き受けを通じて Alibaba Cloud サービス API を呼び出すための OpenAPI コンポーネントを提供します。このコンポーネントを使用することで、クラウドサービス API オペレーションを自動化されたレスポンスワークフローに統合できます。
機能
アクション | 説明 | シナリオ |
assumeApi | ロールの引き受けを通じて Alibaba Cloud OpenAPI を呼び出します。 | クラウドサービス API を呼び出すことで、セキュリティレスポンスアクションを自動化します。 |
手順
クラウドサービスの OpenAPI を選択した後、必要なアクセスポリシーがバインドされていることを確認します。バインドされていない場合は、まずロールを承認します。
ステップ 1: クラウドサービスの選択
[コンポーネントのアクション] エリアで [クラウドサービスコンポーネント] をクリックします。
[クラウドサービスコンポーネント] ダイアログボックスで、クラウドネイティブな Alibaba Cloud 製品 ([脅威インテリジェンス] 以外) を選択します。
脅威インテリジェンスコンポーネントについては、AliyunThreatIntelligence コンポーネントをご参照ください。
ステップ 2: API の選択
キャンバス上でクラウドサービスコンポーネントをクリックします。[アクション] エリアで、呼び出す API を選択します。
コンポーネントノードをクリックすると、右側に設定パネルが表示されます。[Alibaba Cloud Product] エリアで、対象のクラウドサービスと API バージョンが選択されていることを確認します。次に、[アクション] エリアで、アクションカテゴリ ([Security Alerts] など) を展開し、対象の API オペレーションを見つけます。
ステップ 3: API パラメータの設定
設定ページを開く:API を選択すると、パラメータ設定ページが自動的に表示されます。API 設定ボタンをクリックしてページを開くこともできます。
API 設定ボタンは、API アクション ([DescribeCustomizeReportList] など) の右側にある歯車アイコンです。
API の設定
Alibaba Cloud アカウント
デフォルトは、現在の Alibaba Cloud アカウントの UID です。現在のアカウントを取得するには、式
${event._tenant_id}を使用します。アカウントにマルチアカウント管理が設定されている場合は、メンバーアカウントの UID を入力します。メンバーアカウントの UID を確認するには、マルチアカウントセキュリティ管理を参照するか、DescribeMonitorAccounts API を呼び出してください。
サーバーアドレス:[推奨アドレス] をクリックして、システムが推奨するアドレスを取得できます。一般的な推奨アドレスには以下が含まれます。
推奨アドレスは参考用です。正確なエンドポイント情報については、、Alibaba Cloud 公式ドキュメントをご参照ください。
[ProductCode].[RegionId].aliyuncs.com。例:ecs.cn-hangzhou.aliyuncs.com[ProductCode].aliyuncs.com。例:ram.aliyuncs.com
パラメータ設定:パラメータリストは、選択した API の API リファレンスに基づいて自動的に入力されます。ドキュメントの説明に従って、パラメータ値を入力します。
左下の
をクリックすると、API リファレンスが開きます。詳細設定
API がページングクエリをサポートしている場合は、詳細設定でページネーションパラメータを設定します。このコンポーネントは、自動ページネーション (PageSize + PageNumber) とスクロールベースのページネーション (カーソルキー) をサポートしています。ページネーションパラメータを自動的にマッピングし、すべてのデータが取得されるまで API をループで呼び出します。
ステップ 4: API の承認
システムには、現在の API を呼び出すためのロール名と、バインドするアクセスポリシーが表示されます。以下の手順に従ってください。
実行ロールの作成 (任意): ロールがすでに存在する場合、このステップは省略できます。
リンクをクリックして RAM コンソールに移動し、ロールを作成します。アクセス制御のクイック承認ページで、[承認の確認] をクリックします。
ロールを作成する権限がない場合は、RAM 管理者 (リソース管理権限を持つ RAM ユーザーまたは Alibaba Cloud アカウントの所有者) に連絡して、RAM コンソールでロールを作成し、信頼ポリシーをバインドしてもらいます。詳細については、「Alibaba Cloud サービスの RAM ロールを作成する」をご参照ください。次のように設定します。
信頼されたプリンシパル:クラウドサービス
信頼されたプリンシパル名:
cloudsiem.sas.aliyuncs.comロール名:
AliyunSiemSoarExecutionDefaultRole
API アクセスポリシーのバインド (オプション):アクセスポリシーが既にバインドされている場合は、このステップをスキップします。
[アクセスポリシーをバインド] をクリックします。アクセスポリシーダイアログボックスで、適切なポリシーを選択します。[システム推奨アクセスポリシー] の使用を推奨します。
適切なアクセスポリシーがない場合は、RAM コンソールにログオンして、アクセスポリシーを作成します。詳細については、「カスタムポリシーを作成する」をご参照ください。
[OK] をクリックして、アクセス制御承認ページに移動します。[承認の確認] をクリックします。
承認権限がない場合は、RAM 管理者 (リソース管理権限を持つ RAM ユーザーまたは Alibaba Cloud アカウントの所有者) に連絡して、[システム推奨アクセスポリシー] をロール
AliyunSiemSoarExecutionDefaultRoleにバインドしてもらいます。詳細については、「RAM ロールの権限を管理する」をご参照ください。
自動ページングクエリ
最大リクエスト数:ページングリクエストの最大数。これはループ API 呼び出しの回数に相当します。
合計エントリ数のパス:レスポンス内の合計エントリ数へのパス。JSONPath 形式で指定します。複数階層のネストに対応しています。
フラットなレスポンス構造の場合は、
.targetFieldNameの形式を使用します。以下の例では、パスは.TotalCountです。{ "TotalCount": 1, "PageNumber": 1, "PageSize": 10 }ネストされたレスポンス構造の場合は、対象フィールドに至るまで、階層順に完全なパラメータパスを連結します。
.firstLevelField.secondLevelField...targetFieldNameの形式を使用します。以下の 2 階層のネストの例では、パスは
.Page.TotalCountです。{ "Page": { "TotalCount": 22, "PageNumber": 1, "PageSize": 10 } }
ページネーションフィールドマッピング:リクエストパラメータにおけるページネーションフィールドのマッピング。例:
PageNumberページサイズフィールドマッピング:リクエストパラメータにおけるページサイズフィールドのマッピング。例:
PageSize
自動スクロールベースクエリ
最大リクエスト数:ページングリクエストの最大数。これはループ API 呼び出しの回数に相当します。
カーソルフィールドマッピング:リクエストパラメータにおけるカーソルフィールドのマッピング。例:
NextTokenカーソルパス:レスポンス内のカーソル値へのパス。JSONPath 形式で指定します。
フラットなレスポンス構造の場合は、
.targetFieldNameの形式を使用します。以下の例では、パスは.NextTokenです。{ "CurrentPage": 1, "PageSize": 10, "TotalCount": 202, "Count": 4, "NextToken": "B604532DEF982B875E8360A6EFA3B***" }ネストされたレスポンス構造の場合は、対象フィールドに至るまで、階層順に完全なパラメータパスを連結します。
.firstLevelField.secondLevelField...targetFieldNameの形式を使用します。以下の 2 階層のネストの例では、パスは
.PageInfo.NextTokenです。{ "PageInfo": { "CurrentPage": 1, "PageSize": 10, "TotalCount": 202, "Count": 4, "NextToken": "B604532DEF982B875E8360A6EFA3B***" }, "Success": true, "Code": 200, "Message": "successful", "RequestId": "CB414DB5-F692-5DAB-9F0F-975C060AF***", "HttpStatusCode": 200 }
ループ呼び出し
API ループ呼び出し間隔:API スロットリングを防ぐために、ページング API を呼び出す間隔を設定します。