REST Resource: projects.scanConfigs.scanRuns

リソース: ScanRun

ScanRun は、スキャンの実際の実行を表す出力専用リソースです。次の ID: 12

JSON 表現
{
  "name": string,
  "executionState": enum (ExecutionState),
  "resultState": enum (ResultState),
  "startTime": string,
  "endTime": string,
  "urlsCrawledCount": string,
  "urlsTestedCount": string,
  "hasVulnerabilities": boolean,
  "progressPercent": integer,
  "errorTrace": {
    object (ScanRunErrorTrace)
  },
  "warningTraces": [
    {
      object (ScanRunWarningTrace)
    }
  ]
}
フィールド
name

string

ScanRun のリソース名。名前は「projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}」の形式に従います。ScanRun ID はシステムによって生成されます。

executionState

enum (ExecutionState)

ScanRun の実行状態。

resultState

enum (ResultState)

ScanRun の結果状態。このフィールドは、実行状態が「FINISHED」に達した後にのみ使用可能になります。

startTime

string (Timestamp format)

ScanRun が開始された時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

endTime

string (Timestamp format)

ScanRun が終了状態に達した時刻。つまりユーザーが ScanRun を終了または停止した時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

urlsCrawledCount

string (int64 format)

この ScanRun でクロールされた URL の数。スキャンが進行中の場合、この値は現在までにクロールされた URL の数を表します。

urlsTestedCount

string (int64 format)

この ScanRun でテストされた URL の数。スキャンが進行中の場合、この値は現在までにテストされた URL の数を表します。通常、クロールされる URL は複数のテスト ペイロードでテストされるため、テストされた URL の数はクロールされた URL の数よりも大きくなります。

hasVulnerabilities

boolean

スキャン実行で脆弱性が検出されたかどうか。

progressPercent

integer

完了の割合(0~100)。スキャンがキューに入っている場合、値は 0 になります。スキャンが実行中の場合、値は 0〜100 になります。スキャンが終了すると、値は 100 になります。

errorTrace

object (ScanRunErrorTrace)

resultState が ERROR の場合、このフィールドには、スキャンが終了した主な理由と、利用可能な場合は詳細情報が表示されます。

warningTraces[]

object (ScanRunWarningTrace)

このスキャン実行中に検出された警告のリスト。

ExecutionState

ScanRun の実行状態の種類。

列挙値
EXECUTION_STATE_UNSPECIFIED 内部サーバーエラーによって発生した無効な状態を表します。この値が戻されてはいけません。
QUEUED スキャンはキュー内で待機しています。
SCANNING スキャンは進行中です。
FINISHED スキャンはユーザーによって終了または停止されました。

ResultState

ScanRun の結果状態の種類。

列挙値
RESULT_STATE_UNSPECIFIED デフォルト値。この値は、ScanRun がまだ終了していない場合に返されます。
SUCCESS スキャンはエラーなしで終了しました。
ERROR スキャンはエラーで終了しました。
KILLED スキャンはユーザーによって終了されました。

ScanRunErrorTrace

出力専用。ScanRun のエラー トレース メッセージを定義します。

JSON 表現
{
  "code": enum (Code),
  "scanConfigError": {
    object (ScanConfigError)
  },
  "mostCommonHttpErrorCode": integer
}
フィールド
code

enum (Code)

エラーの理由コードを示します。

scanConfigError

object (ScanConfigError)

スキャンで SCAN_CONFIG_ISSUE エラーが発生した場合、このフィールドには、各スキャン実行前に実行されるスキャン構成の検証中に発生したエラー メッセージが表示されます。

mostCommonHttpErrorCode

integer

スキャンで TOO_MANY_HTTP_ERRORS が発生した場合、このフィールドには最も一般的な HTTP エラーコード(利用可能な場合)が表示されます。たとえば、このコードが 404 の場合、スキャンで NOT_FOUND レスポンスが多すぎます。

コード

出力専用。エラーの理由コードを定義します。次の ID: 8

列挙型
CODE_UNSPECIFIED デフォルト値は使用されません。
INTERNAL_ERROR 内部サーバーエラーが原因でスキャン実行が失敗したことを示します。
SCAN_CONFIG_ISSUE スキャン構成エラーを示します。通常は、startingUrls や DNS 構成など、古い ScanConfig 設定が原因です。
AUTHENTICATION_CONFIG_ISSUE 認証エラーを示します。通常は、古い ScanConfig 認証設定が原因です。
TIMED_OUT_WHILE_SCANNING スキャン オペレーションのタイムアウトを示します。通常は、サイトが非常に大きいことが原因です。
TOO_MANY_REDIRECTS スキャンで、認証ページまたはスキャン範囲外の他のページへのリダイレクトが多すぎることが検出されたことを意味します。
TOO_MANY_HTTP_ERRORS スキャンで、ウェブサイトのページから多数のエラーが検出されたことを意味します。利用可能な場合、mostCommonHttpErrorCode フィールドは、スキャン中に発生した最も一般的な HTTP エラーコードを示します。
STARTING_URLS_CRAWL_HTTP_ERRORS スキャン中に、開始 URL の一部が HTTP エラーを返したことを示します。

ScanConfigError

スキャン構成の検証が失敗したときに CreateScanConfig API と UpdateScanConfig API で使用されるカスタム エラー メッセージを定義します。また、スキャン構成エラーが原因でスキャン検証が失敗した場合は、ScanRunErrorTrace メッセージの一部として報告されます。

JSON 表現
{
  "code": enum (Code),
  "fieldName": string
}
フィールド
code

enum (Code)

構成エラーの理由コードを示します。

fieldName

string

このエラーを引き起こした ScanConfig フィールドのフルネーム(「scanConfig.max_qps」など)を示します。このフィールドはトラブルシューティングの目的でのみ提供されており、実際の値は今後変更される可能性があります。

コード

出力専用。エラーの理由コードを定義します。次の ID: 45

列挙型
CODE_UNSPECIFIED エラーはありません。
OK エラーはありません。
INTERNAL_ERROR 内部サーバーエラーを示します。根本原因が本当に不明な場合を除き、このエラーコードは使用しないでください。
APPENGINE_API_BACKEND_ERROR シード URL の 1 つが App Engine の URL ですが、App Engine API バックエンド エラーが発生したため、スキャン設定を検証できません。
APPENGINE_API_NOT_ACCESSIBLE シード URL の 1 つが App Engine の URL ですが、App Engine API にアクセスしてスキャン設定を検証できません。
APPENGINE_DEFAULT_HOST_MISSING シード URL の 1 つが App Engine の URL であるが、App Engine のデフォルト ホストが設定されていない。
CANNOT_USE_GOOGLE_COM_ACCOUNT Google の企業アカウントはスキャンに使用できません。
CANNOT_USE_OWNER_ACCOUNT スキャン作成者のアカウントはスキャンに使用できません。
COMPUTE_API_BACKEND_ERROR このスキャンは Compute Engine を対象としていますが、Compute Engine API バックエンド エラーが原因でスキャン設定を検証できません。
COMPUTE_API_NOT_ACCESSIBLE このスキャンは Compute Engine を対象としていますが、Compute Engine API にアクセスしてスキャン設定を検証できません。
CUSTOM_LOGIN_URL_DOES_NOT_BELONG_TO_CURRENT_PROJECT カスタム ログイン URL が現在のプロジェクトに属していません。
CUSTOM_LOGIN_URL_MALFORMED カスタム ログイン URL の形式が正しくありません(解析できません)。
CUSTOM_LOGIN_URL_MAPPED_TO_NON_ROUTABLE_ADDRESS カスタム ログイン URL が DNS でルーティング不可能な IP アドレスにマッピングされている。
CUSTOM_LOGIN_URL_MAPPED_TO_UNRESERVED_ADDRESS カスタム ログイン URL が、現在のプロジェクト用に予約されていない IP アドレスにマッピングされています。
CUSTOM_LOGIN_URL_HAS_NON_ROUTABLE_IP_ADDRESS カスタム ログイン URL にルーティング不可能な IP アドレスがあります。
CUSTOM_LOGIN_URL_HAS_UNRESERVED_IP_ADDRESS カスタム ログイン URL に、現在のプロジェクト用に予約されていない IP アドレスがあります。
DUPLICATE_SCAN_NAME 同じ名前(大文字と小文字は区別)のスキャンがすでに存在します。
INVALID_FIELD_VALUE フィールドに無効な値が設定されています。
FAILED_TO_AUTHENTICATE_TO_TARGET スキャン ターゲットの認証中にエラーが発生しました。
FINDING_TYPE_UNSPECIFIED 検出結果のリクエストで検出結果のタイプ値が指定されていません。
FORBIDDEN_TO_SCAN_COMPUTE スキャンのターゲットが Compute Engine であるにもかかわらず、現在のプロジェクトが Google Compute Engine Scanning アルファ版へのアクセスのホワイトリストに登録されていません。
FORBIDDEN_UPDATE_TO_MANAGED_SCAN ユーザーがマネージド スキャンの更新を試みる
MALFORMED_FILTER 指定されたフィルタの形式が正しくありません。たとえば、解析できない、式にフィルタタイプがない、同じフィルタタイプが複数回出現しているなどです。
MALFORMED_RESOURCE_NAME 指定されたリソース名の形式が正しくありません(解析できません)。
PROJECT_INACTIVE 現在のプロジェクトは有効な状態ではありません。
REQUIRED_FIELD 必須項目が設定されていません。
RESOURCE_NAME_INCONSISTENT プロジェクト ID、scanconfig ID、scanrun ID、または検出結果 ID が、リソース名で互いに一致していません。
SCAN_ALREADY_RUNNING 開始がリクエストされたスキャンがすでに実行されています。
SCAN_NOT_RUNNING 停止をリクエストしたスキャンが実行されていません。
SEED_URL_DOES_NOT_BELONG_TO_CURRENT_PROJECT いずれかのシード URL が現在のプロジェクトに属していません。
SEED_URL_MALFORMED シード URL のいずれかが不正な形式です(解析できません)。
SEED_URL_MAPPED_TO_NON_ROUTABLE_ADDRESS いずれかのシード URL が、DNS でルーティング不可能な IP アドレスにマッピングされています。
SEED_URL_MAPPED_TO_UNRESERVED_ADDRESS いずれかのシード URL が、現在のプロジェクト用に予約されていない IP アドレスにマッピングされています。
SEED_URL_HAS_NON_ROUTABLE_IP_ADDRESS シード URL の 1 つにルーティング可能な IP アドレスがあります。
SEED_URL_HAS_UNRESERVED_IP_ADDRESS いずれかのシード URL に、現在のプロジェクト用に予約されていない IP アドレスがあります。
SERVICE_ACCOUNT_NOT_CONFIGURED Web Security Scanner サービス アカウントがプロジェクトで構成されていません。
TOO_MANY_SCANS プロジェクトのスキャン数が上限に達しました。
UNABLE_TO_RESOLVE_PROJECT_INFO 現在のプロジェクトの詳細を解決できません。
UNSUPPORTED_BLACKLIST_PATTERN_FORMAT 1 つ以上のブラックリスト パターンの形式が正しくありません。
UNSUPPORTED_FILTER 指定されたフィルタはサポートされていません。
UNSUPPORTED_FINDING_TYPE 指定された検出結果のタイプはサポートされていません。たとえば、特定の検出結果の検出結果は提供されません。
UNSUPPORTED_URL_SCHEME 指定された URL の 1 つ以上がサポートされていない URL スキームです。
CLOUD_ASSET_INVENTORY_ASSET_NOT_FOUND CAI がアセットを一覧表示できません。

ScanRunWarningTrace

出力専用。ScanRun の警告トレース メッセージを定義します。警告トレースでは、スキャン プロセスをより効果的に行うのに役立つ有用な情報をお客様に提供します。

JSON 表現
{
  "code": enum (Code)
}
フィールド
code

enum (Code)

警告コードを示します。

コード

出力専用。警告メッセージ コードを定義します。次の ID: 6

列挙型
CODE_UNSPECIFIED デフォルト値は使用されません。
INSUFFICIENT_CRAWL_RESULTS スキャンで、URL の数が予想外に少ないことが検出されました。複雑なナビゲーション機能、または 1 つの URL を多くのページに使用していることが原因である可能性があります。
TOO_MANY_CRAWL_RESULTS スキャンで、テスト対象の URL が多すぎること、または URL が冗長すぎることが検出されました。
TOO_MANY_FUZZ_TASKS スキャンに対して生成されたテストの数が多すぎることを示します。開始 URL の数を減らすか、QPS レートを増やすか、除外パターンを使用してスキャンの範囲を狭めてください。
BLOCKED_BY_IAP IAP によってスキャンがブロックされていることを示します。
NO_STARTING_URL_FOUND_FOR_MANAGED_SCAN スキャンにシードが見つからないことを示します

メソッド

get

ScanRun を取得します。

list

指定された ScanConfig の ScanRun を ScanRun 停止時間の降順で一覧表示します。

stop

ScanRun を停止します。