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}/jobsAPIエンドポイントを使用して取得できます。 - APIリクエストの認証には有効な
asc_xsrf_tokenが必要であり、POST /loginAPIエンドポイントから取得できます。このトークンはリクエストヘッダーとして送信されるべきです。 - パフォーマンスの問題を避けるために、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ドキュメントから、
baseUrlとadditionalDomainsの正確なフォームフィールド名を必要に応じて確認してください。 - アップロードされたOpenAPIファイルは、認証に必要なAPIセキュリティスキームを定義する必要があります。
- API認証が必要な場合は設定を行ってください。仕様ファイルに基づいて、ログイン管理を通じた認証を設定し(ログインを記録するか自動ログインを使用することで)、スキャンカバレッジを向上させ、ほとんどのエンドポイントをカバーし、リクエストの失敗を回避してください。
- APIキー認証の設定はAppScan Enterpriseではサポートされていません。
- URLの代わりにローカルのJSONまたはYAML記述ファイルを構成に追加した場合、仕様ファイルをテンプレートに含めることができないため、SCANT(テンプレート)ファイルとしてエクスポートすることはできません。仕様ファイルを削除するか、SCANファイルとして保存する必要があります。
応答:
- 成功すると、APIはHTTPステータスコード
200 OKを返します。 - エラーの詳細については、APIのSwaggerドキュメントを参照してください。