Cisco Secure Application API

このページでは、選択したパラメータ、ダッシュボード、およびセキュリティレポートをクエリするために使用できる Cisco Secure Application API メソッドについて説明します。

API レート制限

Cisco Secure Application API は、1 分あたり最大 300 の要求をサポートします。

アクセストークンの生成

OAuth API を使用してトークンを生成することによって、コントローラへの各 API アクセスコールのアクセストークンを生成できます。

エンドポイントの使用例:

curl -X GET  'https://<controller address>/controller/argento/public-api/v1/applications' \
--header 'Authorization: Bearer <your-token-from-ouath-above>'

アプリケーションリストの取得

指定されたクエリパラメータに基づいてアプリケーションのリストを取得します。

GET controller/argento/public-api/v1/applications

パラメータ

Nameタイプ説明
date string これは、アプリケーションのノードの日次統計カウントの日付です。これは RFC3339 フォーマットです。例:2023-05-25T00:10:01-02:00
sort string これにより、特定のフィールドでアプリケーションをソートできます。例:sort=applicationName
order string アプリケーションの昇順または降順です。
filter string これにより、特定のフィールドでアプリケーションをフィルタできます。例:filter=applicationName eq "application1"
最大 整数 返されるアプリケーションの最大数です。デフォルト:10
offset 整数 ページネーションのオフセットです。デフォルト:0
applicationId 整数 これは、出力を 1 つのアプリケーションに制限するグローバル アプリケーション フィルタです。応答からフィールド appdApplicationId 値を使用します。

レスポンス

Code 200

アプリケーションリストが正常に取得された場合:

{
  "items": [
    {
      "appdApplicationId": 0,
      "applicationCreatedAt": "string",
      "applicationId": "string",
      "applicationName": "string",
      "applicationSecurityEnabled": true,
      "applicationSecurityEnabledComputed": true,
      "countApmActive": 0,
      "countReady": 0,
      "countSecured": 0,
      "countSecurityEnabled": 0,
      "countSupportedAgent": 0
    }
  ],
  "total": 0
}
Code 400

不正なリクエストです。

{
  "error": "string"
}
Code 500

内部サーバーエラーです。

{
  "error": "string"
}

アプリケーション階層の取得

特定のアプリケーションと指定されたクエリパラメータに基づいて階層のリストを取得します。

GET controller/argento/public-api/v1/applications/{applicationId}/tiers

パラメータ

Nameタイプ説明
applicationId string 特定のアプリケーション階層の詳細に使用される必須のアプリケーション ID です。
date string これは、RFC3339 フォーマットの日付です。例:2023-05-25T00:10:01-02:00
sort string これにより、特定のフィールドでアプリケーションをソートできます。例:sort=applicationName
order string アプリケーションの昇順または降順です。
filter string これにより、特定のフィールドでアプリケーションをフィルタできます。例:filter=applicationName eq "application1"
最大 整数 返されるアプリケーションの最大数です。デフォルト:10
offset 整数 ページネーションのオフセットです。デフォルト:0
applicationId 整数 これは、出力を 1 つのアプリケーションに制限するグローバル アプリケーション フィルタです。
tierId 整数 出力を 1 つの階層のみに制限するグローバル階層フィルタです。応答の appdTierId 値を使用します。

レスポンス

Code 200

特定のアプリケーションの階層リストが正常に取得されました。

{
"items": [
{
"appdApplicationId": 0,
"appdTierId": 0,
"applicationName": "string",
"countApmActive": 0,
"countReady": 0,
"countSecured": 0,
"countSecurityEnabled": 0,
"countSupportedAgent": 0,
"id": "string",
"tierCreatedAt": "string",
"tierEnableSecurity": true,
"tierEnableSecurityStatus": true,
"tierName": "string"
}
],
"total": 0
}
Code 400

不正なリクエストです。

{
"error": "string"
}
Code 500

内部サーバーエラーです。

{
"error": "string"
}

アプリケーションノードの取得

特定の階層と指定されたクエリパラメータに基づいてノードのリストを取得します。

GET controller/argento/public-api/v1/applications/{applicationId}/tiers/{tierId}/nodes

パラメータ

Nameタイプ説明
tierId 整数 特定のノードの詳細には階層IDが必要です。
date string RFC3339 フォーマットの日付。例:2023-05-25T00:10:01-02:00
sort string 特定のフィールドでノードをソートします。例:sort=nodeName
order string ソートフィールドの順序(asc または desc)。
filter string 特定のフィールドでノードをフィルタリングします。例:filter=nodeName eq 'node1'
最大 整数 返されるノードの最大数です。デフォルト:10
offset 整数 ページネーションのオフセット。デフォルト:0

レスポンス

Code 200

ノードリストが正常に取得されました。

Code 400

不正なリクエストです。

{
"error": "string"
}
Code 500

内部サーバーエラーです。

{
"error": "string"
}

攻撃リストの取得

attackSummaryId が指定されている場合、この API コールは特定の攻撃の詳細を取得します。指定されていない場合、この API は攻撃リストを取得します。

GET controller/argento/public-api/v1/attacks

パラメータ

Nameタイプ説明
startedAt string RFC3339 フォーマットのトランザクションの開始時刻です。例:2023-05-25T00:10:01-02:00
endedAt string RFC3339 フォーマットのトランザクションの終了時刻です。例:2023-05-25T00:10:01-02:00
sort string これにより、特定のフィールドで攻撃をソートできます。例:sort=attackName
order string ソートフィールドの昇順または降順です。
filter string これにより、特定のフィールドで攻撃をフィルタできます。例:filter=attackName eq "dangerousOne"
最大 整数 返される攻撃の最大数です。デフォルト:10
offset 整数 ページネーションのオフセットです。デフォルト:0
applicationId 整数 これは、出力を 1 つのアプリケーションに制限するグローバル アプリケーション フィルタです。応答の appdApplicationId 値を使用します。
tierId 整数 出力を 1 つの階層のみに制限するグローバル階層フィルタです。応答の appdTierId 値を使用します。

レスポンス

Code 200

攻撃リストまたは攻撃の詳細が正常に取得されました。

{
  "items": [
    {
      "appdApplicationId": 0,
      "appdBtId": 0,
      "appdTierId": 0,
      "applicationId": "string",
      "applicationName": "string",
      "attackName": "string",
      "attackNote": "string",
      "attackOutcome": "string",
      "attackSource": "string",
      "attackStatus": "string",
      "attackSummaryId": "string",
      "attackTypes": "string",
      "btName": "string",
      "btUuid": "string",
      "firstSeenAt": "string",
      "keyInfo": "string",
      "lastSeenAt": "string",
      "tierId": "string",
      "tierName": "string"
    }
  ],
  "total": 0
}
Code 400

不正なリクエストです。

{
"error": "string"
}
Code 500

内部サーバーエラーです。

{
"error": "string"
}

攻撃の詳細情報の取得

attackSummaryId が指定されている場合、この API コールは特定の攻撃の詳細を取得します。指定されていない場合、この API は攻撃リストを取得します。

GET controller/argento/public-api/v1/attacks/{attackSummaryId}

パラメータ

Nameタイプ説明
attackSummaryId string 特定の攻撃の詳細に必要な攻撃サマリー ID です。
startedAt string RFC3339 フォーマットのトランザクションの開始時刻です。例:2023-05-25T00:10:01-02:00
endedAt string RFC3339 フォーマットのトランザクションの終了時刻です。例:2023-05-25T00:10:01-02:00
sort string これにより、特定のフィールドで攻撃をソートできます。例:sort=attackName
order string ソートフィールドの昇順または降順です。
filter string これにより、特定のフィールドで攻撃をフィルタできます。例:filter=attackName eq "dangerousOne"
最大 整数 返される攻撃の最大数です。デフォルト:10
offset 整数 ページネーションのオフセットです。デフォルト:0
applicationId 整数 これは、出力を 1 つのアプリケーションに制限するグローバル アプリケーション フィルタです。応答の appdApplicationId 値を使用します。
tierId 整数 出力を 1 つの階層のみに制限するグローバル階層フィルタです。応答の appdTierId 値を使用します。

レスポンス

Code 200

攻撃リストまたは攻撃の詳細が正常に取得されました。

{
  "items": [
    {
      "appdApplicationId": 0,
      "appdBtId": 0,
      "appdTierId": 0,
      "applicationId": "string",
      "applicationName": "string",
      "attackName": "string",
      "attackNote": "string",
      "attackOutcome": "string",
      "attackSource": "string",
      "attackStatus": "string",
      "attackSummaryId": "string",
      "attackTypes": "string",
      "btName": "string",
      "btUuid": "string",
      "firstSeenAt": "string",
      "keyInfo": "string",
      "lastSeenAt": "string",
      "tierId": "string",
      "tierName": "string"
    }
  ],
  "total": 0
}
Code 400

不正なリクエストです。

{
"error": "string"
}
Code 500

内部サーバーエラーです。

{
"error": "string"
}

ビジネス トランザクション リストの取得

この API コールは、指定されたクエリパラメータに基づいてビジネストランザクションのリストを取得します。

GET controller/argento/public-api/v1/businessTransactions

パラメータ

Nameタイプ説明
startedAt string RFC3339 フォーマットのトランザクションの開始時刻です。例:2023-05-25T00:10:01-02:00
endedAt string RFC3339 フォーマットのトランザクションの終了時刻です。例:2023-05-25T00:10:01-02:00
sort string これにより、特定のフィールドでトランザクションをソートできます。例:sort=businessTransactionNam e。
order string ソートフィールドの昇順または降順です。
filter string これにより、特定のフィールドでトランザクションをフィルタできます。例:filter=businessTransactionName eq "businessOne"
最大 整数 返されるトランザクションの最大数です。デフォルト:10
offset 整数 ページネーションのオフセットです。デフォルト:0
applicationId 整数 これは、出力を 1 つのアプリケーションに制限するグローバル アプリケーション フィルタです。応答の appdApplicationId 値を使用します。
tierId 整数 出力を 1 つの階層のみに制限するグローバル階層フィルタです。応答の appdTierId 値を使用します。

レスポンス

Code 200

ビジネス トランザクション リストが正常に取得された場合:

{
"items": [
{
"appdApplicationId": 0,
"appdBusinessTransactionId": 0,
"applicationId": "string",
"applicationName": "string",
"attackOutcomeCountAttempted": 0,
"attackOutcomeCountBlocked": 0,
"attackOutcomeCountExploited": 0,
"brmTitle": "string",
"businessRiskScore": 0,
"businessTransactionId": "string",
"businessTransactionName": "string",
"entryTierAppdId": 0,
"entryTierId": "string",
"entryTierName": "string",
"riskScore": 0,
"severityCountCritical": 0,
"severityCountHigh": 0,
"severityCountLow": 0,
"severityCountMedium": 0,
"tierCount": 0,
"totalAttackCount": 0,
"totalVulnCount": 0
}
],
"total": 0
}
Code 400

不正なリクエストです。

{
"error": "string"
}
Code 500

内部サーバーエラーです。

{
"error": "string"
}

ビジネストランザクションの詳細の取得

この API コールは、指定されたクエリパラメータに基づいてビジネストランザクションの詳細を取得します。

GET controller/argento/public-api/v1/businessTransactions/{businessTransactionId}

パラメータ

Nameタイプ説明
businessTransactionId string これは、必要なビジネストランザクション ID です。

レスポンス

Code 200

特定のビジネストランザクションの正常かつ詳細な取得:

{
"appdApplicationId": 0,
"appdBusinessTransactionId": 0,
"applicationName": "string",
"brmTitle": "string",
"businessRiskScore": 0,
"businessTransactionName": "string",
"entryTierAppdId": 0,
"entryTierName": "string",
"riskScore": 0,
"riskScoreCard": "string"
}
Code 400

不正なリクエストです。

{
"error": "string"
}
Code 500

内部サーバーエラーです。

{
"error": "string"
}

ライブラリリストの取得

指定されたクエリパラメータに基づいてライブラリのリストを取得します。

GET controller/argento/public-api/v1/libraries

パラメータ

Nameタイプ説明
startedAt string RFC3339 フォーマットのトランザクションの開始時刻です。例:2023-05-25T00:10:01-02:00
endedAt string RFC3339 フォーマットのトランザクションの終了時刻です。例:2023-05-25T00:10:01-02:00
sort string これにより、特定のフィールドでライブラリをソートできます。例:sort=applicationName
order string ソートフィールドの昇順または降順です。
filter string これにより、特定のフィールドでライブラリをフィルタできます。例:filter=applicationName eq "application1"
最大 整数 返されるライブラリの最大数です。デフォルト:10
offset 整数 ページネーションのオフセットです。デフォルト:0
applicationId 整数 これは、出力を 1 つのアプリケーションに制限するグローバル アプリケーション フィルタです。応答の appdApplicationId 値を使用します。
tierId 整数 出力を 1 つの階層のみに制限するグローバル階層フィルタです。応答の appdTierId 値を使用します。
filePathstringファイル システムの場所。これは、ノードがそのパスにファイルを持っていることを識別します。これにより、ライブラリがアプリケーションからのものであることも識別されます。

レスポンス

Code 200

ライブラリリストが正常に取得された場合:

{
  "items": [
    {
      "active_internet_breach": true,
      "affectedNodeCount": 0,
      "appdApplicationId": 0,
      "appdTierId": 0,
      "applicationName": "string",
      "easily_exploitable": true,
      "kennaRiskScore": 0,
      "libraryId": "string",
      "malware_exploitable": true,
      "packageCanonicalName": "string",
      "packageId": "string",
      "packageLanguage": "string",
      "packageName": "string",
      "packageVersion": "string",
      "popular_target": true,
      "predicted_exploitable": true,
      "recommendedVersion": "string",
      "remote_code_execution": true,
      "riskScore": 0,
      "severity": "string",
      "severityCountCritical": 0,
      "severityCountHigh": 0,
      "severityCountLow": 0,
      "severityCountMedium": 0,
      "status": "string",
      "tierName": "string",
      "totalVulnCount": 0
    }
  ],
  "total": 0
}
Code 400

不正なリクエストです。

{
"error": "string"
}
Code 500

内部サーバーエラーです。

{
"error": "string"
}

ライブラリの詳細の取得

指定されたクエリパラメータに基づいてライブラリの詳細を取得します。

GET controller/argento/public-api/v1/libraries/{libraryId}

パラメータ

Nameタイプ説明
libraryId string 必要なライブラリ ID です。
applicationId 整数 これは、出力を 1 つのアプリケーションに制限するグローバル アプリケーション フィルタです。応答の appdApplicationId 値を使用します。
tierId 整数 出力を 1 つの階層のみに制限するグローバル階層フィルタです。応答の appdTierId 値を使用します。
filePathstringファイル システムの場所。これは、ノードがそのパスにファイルを持っていることを識別します。これにより、ライブラリがアプリケーションからのものであることも識別されます。

レスポンス

Code 200

特定のライブラリを正常かつ詳細に取得します。

{
"active_internet_breach": true,
"affectedNodeCount": 0,
"appdApplicationId": 0,
"appdTierId": 0,
"applicationName": "string",
"easily_exploitable": true,
"kennaRiskScore": 0,
"libraryId": "string",
"malware_exploitable": true,
"packageCanonicalName": "string",
"packageId": "string",
"packageLanguage": "string",
"packageName": "string",
"packageVersion": "string",
"popular_target": true,
"predicted_exploitable": true,
"recommendedVersion": "string",
"remote_code_execution": true,
"riskScore": 0,
"severity": "string",
"severityCountCritical": 0,
"severityCountHigh": 0,
"severityCountLow": 0,
"severityCountMedium": 0,
"status": "string",
"tierName": "string",
"totalVulnCount": 0
}
Code 400

不正なリクエストです。

{
"error": "string"
}
Code 500

内部サーバーエラーです。

{
"error": "string"
}

ビジネスリスクのスコアの取得

指定されたクエリパラメータに基づいたアプリケーションとビジネストランザクションによってビジネスリスクスコアを取得します。

GET controller/argento/public-api/v1/stats/businessRisk

パラメータ

Nameタイプ説明
btld string これは、ビジネストランザクション ID です。
applicationId 整数 これは、出力を 1 つのアプリケーションに制限するグローバル アプリケーション フィルタです。応答の appdApplicationId 値を使用します。
tierId 整数 出力を 1 つの階層のみに制限するグローバル階層フィルタです。応答の appdTierId 値を使用します。

レスポンス

Code 200

ビジネスリスクスコアが正常に取得された場合:

{
"brmTitle": "string",
"businessRiskScore": 0
}
コード 204

更新に成功しましたが、コンテンツはありません。

Code 400

不正なリクエストです。

{
"error": "string"
}
コード 404

リソースが見つかりません

{
"error": "string"
}
Code 500

内部サーバーエラーです。

{
"error": "string"
}

脆弱性リストの取得

指定されたクエリパラメータに基づいて脆弱性のリストを取得します。

GET controller/argento/public-api/v1/vulnerabilities

パラメータ

Nameタイプ説明
startedAt string RFC3339 フォーマットのトランザクションの開始時刻です。例:2023-05-25T00:10:01-02:00
endedAt string RFC3339 フォーマットのトランザクションの終了時刻です。例:2023-05-25T00:10:01-02:00
sort string これにより、特定のフィールドで脆弱性をソートできます。例:sort=cweName
order string ソートフィールドの昇順または降順です。
filter string これにより、特定のフィールドで脆弱性をフィルタ処理できます。例:filter=cweName eq "CW-94"
最大 整数 返されるライブラリの最大数です。デフォルト:10
offset 整数 ページネーションのオフセットです。デフォルト:0
applicationId 整数 これは、出力を 1 つのアプリケーションに制限するグローバル アプリケーション フィルタです。応答の appdApplicationId 値を使用します。
tierId 整数 出力を 1 つの階層のみに制限するグローバル階層フィルタです。応答の appdTierId 値を使用します。

レスポンス

Code 200

脆弱性リストが正常に取得されました。

{
"items": [
{
"active_internet_breach": true,
"affectedNodeCount": 0,
"appdApplicationId": 0,
"appdTierId": 0,
"applicationName": "string",
"attackSummaryId": "string",
"cveId": "string",
"cveName": "string",
"cvePublishDate": "string",
"cveTitle": "string",
"cweName": "string",
"easily_exploitable": true,
"firstSeenAt": "string",
"hasAttacks": true,
"hasEvent": true,
"hasObservations": true,
"incidentId": "string",
"kennaScore": 0,
"lastSeenAt": "string",
"libraryId": "string",
"malware_exploitable": true,
"packageCanonicalName": "string",
"packageId": "string",
"packageLanguage": "string",
"popular_target": true,
"predicted_exploitable": true,
"remediation": "string",
"remote_code_execution": true,
"riskScore": 0,
"severity": "string",
"status": "Unknown",
"tierId": "string",
"tierName": "string"
}
],
"total": 0
}
Code 400

不正なリクエストです。

{
"error": "string"
}
Code 500

内部サーバーエラーです。

{
"error": "string"
}

脆弱性の詳細の取得

この API コールは、指定されたクエリパラメータに基づいて脆弱性の詳細を取得します。

GET controller/argento/public-api/v1/vulnerabilities/{cveId}

パラメータ

Nameタイプ説明
cveId string 必要な CVE ID です。

レスポンス

Code 200

特定の脆弱性の正常かつ詳細な取得です。

{
"createdAt": "string",
"cveId": "string",
"cveTitle": "string",
"cvss3BaseScore": 0,
"cvss3VectorString": "string",
"cweName": "string",
"description": "string",
"kenna": {
"active_internet_breach": true,
"easily_exploitable": true,
"malware_exploitable": true,
"popular_target": true,
"predicted_exploitable": true,
"remote_code_execution": true,
"risk_score_meter": 0
},
"name": "string",
"nvdUrl": "string",
"publishDate": "string",
"remediation": "string",
"severity": "string",
"updatedAt": "string"
}
Code 400

不正なリクエストです。

{
"error": "string"
}
Code 500

内部サーバーエラーです。

{
"error": "string"
}

階層ノードの取得

特定の階層 ID に基づいてノードのリストを取得します。

GET controller/argento/public-api/v1/tiers/{tierId}/nodes

パラメータ

Nameタイプ説明
tierId 整数 ノードの詳細を取得する階層 ID。
date string RFC3339 フォーマットの日付。例:2023-05-25T00:10:01-02:00
sort string 特定のフィールドでアプリケーションをソートします。例:sort=applicationName
order string ソートフィールドの順序(asc または desc)。
filter string 特定のフィールドでノードをフィルタリングします。例:filter=nodeName eq 'node1'
最大 整数 返されるノードの最大数です。デフォルト:10
offset 整数 ページネーションのオフセット。デフォルト:0

レスポンス

Code 200

ノードリストが正常に取得されました。

Code 400

不正なリクエストです。

{
"error": "string"
}
Code 500

内部サーバーエラーです。

{
"error": "string"
}

アプリケーションの Security ステータスの更新

提供されたリソース ID に基づいて、特定のアプリケーションの securityEnabled ステータスを更新します。

PATCH controller/argento/public-api/v1/applications/{resourceId}

パラメータ

Nameタイプ説明
resourceId string アプリケーションのリソース ID(UUID 形式)。必須。
body object securityEnabled ステータスを含む JSON 本文。必須。

例:

{
  "securityEnabled": true
}

レスポンス

コード 204

更新に成功しましたが、コンテンツはありません。

Code 400

無効な要求(パラメータの欠落または無効なパラメータなど):

{
"error": "string"
}
コード 404

リソースが見つかりません

{
"error": "string"
}
Code 500

内部サーバエラー:

{
"error": "string"
}

ノードの Security ステータスの更新

提供されたリソース ID に基づいて、特定のノードの securityEnabled ステータスを更新します。

PATCH controller/argento/public-api/v1/nodes/{resourceId}

パラメータ

Nameタイプ説明
resourceId string ノードのリソース ID(UUID 形式)。必須。
body object securityEnabled ステータスを含む JSON 本文。必須。

レスポンス

コード 204

更新に成功しましたが、コンテンツはありません。

Code 400

無効な要求(パラメータの欠落または無効なパラメータなど):

{
"error": "string"
}
コード 404

リソースが見つかりません

{
"error": "string"
}
Code 500

内部サーバエラー:

{
"error": "string"
}

階層の Security ステータスの更新

提供されたリソース ID に基づいて、特定の階層の securityEnabled ステータスを更新します。

PATCH controller/argento/public-api/v1/tiers/{resourceId}

パラメータ

Nameタイプ説明
resourceId string 階層のリソース ID(UUID 形式)。必須。
body object securityEnabled ステータスを含む JSON 本文。必須。

例:

{
  "securityEnabled": true
}

レスポンス

コード 204

更新に成功しましたが、コンテンツはありません。

Code 400

無効な要求(パラメータの欠落または無効なパラメータなど):

{
"error": "string"
}
コード 404

リソースが見つかりません

{
"error": "string"
}
Code 500

内部サーバエラー:

{
"error": "string"
}