Cisco Secure Application API
このページでは、選択したパラメータ、ダッシュボード、およびセキュリティレポートをクエリするために使用できる Cisco Secure Application API メソッドについて説明します。
API レート制限
アクセストークンの生成
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 値を使用します。 |
| filePath | string | ファイル システムの場所。これは、ノードがそのパスにファイルを持っていることを識別します。これにより、ライブラリがアプリケーションからのものであることも識別されます。 |
レスポンス
- 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 値を使用します。 |
| filePath | string | ファイル システムの場所。これは、ノードがそのパスにファイルを持っていることを識別します。これにより、ライブラリがアプリケーションからのものであることも識別されます。 |
レスポンス
- 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 本文。必須。例: |
レスポンス
- コード 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 本文。必須。 例:
|
レスポンス
- コード 204
-
更新に成功しましたが、コンテンツはありません。
- Code 400
-
無効な要求(パラメータの欠落または無効なパラメータなど):
{ "error": "string" } - コード 404
-
リソースが見つかりません
{ "error": "string" } - Code 500
-
内部サーバエラー:
{ "error": "string" }
Swagger YAML 仕様のダウンロード
Swagger YAML 仕様(Cisco Secure Application Public APIs 25_3.yaml.zip)をダウンロードします。