REST APIを使用してOpenAPI定義でDASTスキャンを設定する

概要

このセクションでは、OpenAPI定義を使用して動的アプリケーションセキュリティテスト(DAST)スキャンを構成するためのREST APIの使用方法を説明します。これらの定義は、公開アクセス可能なURLとして提供するか、JSON、YAML、またはYML形式のOpenAPI仕様ファイルを直接アップロードすることで提供できます。このAPI駆動のアプローチは、AppScan Enterprise内で直接APIセキュリティテストのワークフローを自動化し、以前はしばしばAppScan Standardを使用した手動設定ステップを置き換えます。このトピックでは、OpenAPIベースのスキャン構成に特化した2つのAPIエンドポイントについて説明します。
注:
  • これらのAPIは特にDASTConfigジョブ用であり、Content-Scanジョブには使用できません。
  • DASTConfigジョブにすでにOpenAPI構成(URLまたはファイルから)がある場合、これらのAPIを使用すると既存の構成が置き換えられます。

OpenAPIベースの設定用APIエンドポイント

  • POST /jobs/{jobId}/dastconfig/openapi/url/add – DASTConfigジョブに公開OpenAPI URLを追加します。
  • POST /jobs/{jobId}/dastconfig/openapi/add – DASTConfigジョブにOpenAPIファイルをアップロードします。

前提条件

  • 既存のDASTConfigジョブが必要です。次の既存のAPIのいずれかを使用して、DASTConfigジョブを作成できます。
    • POST/jobs/{templateId}/dastconfig/createjob
    • テンプレートファイルに基づいてジョブを作成するPOST/jobs/createjob
    • POST/ジョブ
  • DASTConfigジョブのjobIdが必要です。この情報は、GET /folders/{folderId}/jobs APIエンドポイントを使用して取得できます。
  • APIリクエストの認証には有効なasc_xsrf_tokenが必要であり、POST /login APIエンドポイントから取得できます。このトークンはリクエストヘッダーとして送信されるべきです。
  • パフォーマンスの問題を避けるために、DASTConfigジョブには「レギュラースキャン」テンプレートを使用することをお勧めします。

APIリファレンス: POST /jobs/{jobId}/dastconfig/openapi/url/add

目的: このAPIエンドポイントは、AppScan Enterpriseで既存のDASTConfigジョブを、公開アクセス可能なURLを通じて提供されるOpenAPI定義を使用するように設定することを可能にします。

HTTPメソッドとエンドポイント: POST /jobs/{jobId}/dastconfig/openapi/url/add

パスパラメータ:

  • jobId (整数, 必須): DASTConfigジョブの一意の識別子。

リクエストボディパラメータ(JSON): リクエストには、以下のパラメータを含むJSONボディが必要です。

  • openApiUrl(文字列、必須):OpenAPI仕様書を指す公開アクセス可能なURL(例:http://example.com/openapi.json)。
  • baseUrl(文字列、必須):OpenAPIドキュメントで定義されたすべてのAPIエンドポイントのルートURLプレフィックス(例:https://demo.testfire.net/api/)。
  • additionalDomains(文字列、オプション):baseUrlに含まれるドメイン以外で、スキャンの範囲に含める他のドメインのカンマ区切りリスト(例:api.example.org, static.example.com)。
注:
  • APIがスキャンされる際に必要な認証を正しく指定するために、OpenAPIドキュメントを確実に設定してください。AppScan Enterpriseはセキュリティ要件の定義に依存します。
  • API認証が必要な場合は設定してください。仕様ファイルに基づいて、ログイン管理を通じた認証を設定し(ログインを記録するか自動ログインを使用することで)、スキャンカバレッジを向上させ、ほとんどのエンドポイントをカバーし、リクエストの失敗を回避してください。
  • APIキー認証の設定はAppScan Enterpriseではサポートされていません。

応答:

  • 成功すると、APIはHTTPステータスコード200 OKを返します。
  • エラーの詳細については、APIのSwaggerドキュメントを参照してください。

APIリファレンス: POST /jobs/{jobId}/dastconfig/openapi/add

目的: このAPIエンドポイントを使用すると、OpenAPI仕様ファイルを既存のDASTConfigジョブに直接アップロードできます AppScan Enterprise。

HTTPメソッドとエンドポイント: POST /jobs/{jobId}/dastconfig/openapi/add

パスパラメータ:

  • jobId (整数, 必須): DASTConfigジョブのユニークな識別子。

リクエストパラメータ(multipart/form-data): このAPIは、以下のパーツを含むmultipart/form-dataリクエストを期待しています。

  • openAPIDescriptionFile (ファイル、必須): OpenAPI仕様ファイル。
    • サポートされている形式: .json, .yaml, または .yml
    • 最大ファイルサイズ:90 MB。
  • baseUrl(文字列、必須):OpenAPIファイルで定義されたすべてのAPIエンドポイントのルートURLプレフィックス(例:https://demo.testfire.net/api/)。(この名前でフォームフィールドとして送信される可能性があります)。
  • additionalDomains(文字列、オプション):baseUrlに含まれるドメイン以外で、スキャンの範囲に含める他のドメインのカンマ区切りリスト(例:api.example.org, static.example.com)。(この名前でフォームフィールドとして送信される可能性があります)。
注:
  • APIのSwaggerドキュメントから、baseUrladditionalDomainsの正確なフォームフィールド名を必要に応じて確認してください。
  • アップロードされたOpenAPIファイルは、認証に必要なAPIセキュリティスキームを定義する必要があります。
  • API認証が必要な場合は設定を行ってください。仕様ファイルに基づいて、ログイン管理を通じた認証を設定し(ログインを記録するか自動ログインを使用することで)、スキャンカバレッジを向上させ、ほとんどのエンドポイントをカバーし、リクエストの失敗を回避してください。
  • APIキー認証の設定はAppScan Enterpriseではサポートされていません。
  • URLの代わりにローカルのJSONまたはYAML記述ファイルを構成に追加した場合、仕様ファイルをテンプレートに含めることができないため、SCANT(テンプレート)ファイルとしてエクスポートすることはできません。仕様ファイルを削除するか、SCANファイルとして保存する必要があります。

応答:

  • 成功すると、APIはHTTPステータスコード200 OKを返します。
  • エラーの詳細については、APIのSwaggerドキュメントを参照してください。