RESTful的API

啟用和禁用 REST API

要在閘道上啟用 REST API,請運行此 Gaia Clish 指令:

set rest-api mode on

要在閘道上禁用 REST API,請運行此 Gaia Clish 指令:

set rest-api mode off

請求結構

HTTP 貼文

https://<gateway-ip>:<port>/web-api/<command>

預設連接埠號為 4434。

HTTP 標題

標頭

描述

Content-Type

application/json

x-chkp-sid

登錄指令返回的session ID 令牌。

The x-chkp-sid除登入API外,所有API呼叫的標題都為必填。

要求負載

包含不同參數的 JSON 格式的文本。

範例:

https://192.168.1.1:4434/web-api/login

回應結構

成功返回值:

  • HTTP 狀態 200(正常)

  • JSON 字符串(內容因調用的 API 而異)

失敗返回值:

  • HTTP 狀態 500(內部服務器錯誤)、400(錯誤請求)或 401(未經授權)

  • 包含錯誤詳細訊息的 JSON 結構

版本控制

具有特定版本的 HTTP Post

https://<gateway-ip>:<port>/web-api/<version>/<command>

如果沒有發送版本,則使用最新的支援版本。

範例:

https://192.168.1.1:4434/web-api/v1/login

REST API 指令

(1) 登入

描述

  1. 使用您的 SMB 管理者使用者名和密碼登錄 SMB 設備。

  2. SMB 返回您的session唯一標識符。

  3. x-chkp-sid 每個請求的標頭。

要求網址

POST https://<gateway-ip>:<port>/web-api/login

要求標題

標頭名稱

數值

描述

Content-Type

application/json

發送 JSON 物件以使用 API Web 服務。

要求內文

參數名稱

數值

描述

user(必填)

字串

管理者使用者名

Password(必填)

字串

管理者密碼

回應

成功時,HTTP 會回傳代碼:200

標頭名稱

數值

描述

sid

字串

會話唯一識別碼 x-chkp-sid 每個請求的標頭。

role

字串

管理者角色和權限。

read-only

boolean

如果session是唯讀的,則為真。

api-server-version

字串

API 服務器版本。

session-timeout

整數

以分鐘為單位的session過期超時。

失敗時,HTTP 會回傳代碼:400、401、500

範例要求

{

"user": "admin",

"password": "aa"

}

回應範例

{

「sid」:「9aa5770044797d7209f8ce9b0ef0fa0」,

「角色」:「ROLE.SUPER」,

"read-only": false,

"api-server-version": "v1",

「會話逾時」:10

}

(2) 註銷

描述

從當前session註銷。註銷後,session ID 不再有效。

要求網址

POST https://<gateway-ip>:<port>/web-api/v1/logout

要求標題

標頭名稱

數值

描述

Content-Type

application/json

發送 JSON 物件以使用 API Web 服務。

x-chkp-sid

字符串標記

session唯一標識符作為對登錄請求的回應。

要求內文

沒有請求內文。

回應

成功時,HTTP 會回傳代碼:200

失敗時,HTTP 會回傳代碼:400、401、500

(3) Generate-Report

描述

根據選擇的時間範圍產生安全報告數據:

Hourly/Daily/Weekly/Monthly

要求網址

POST https://<gateway-ip>:<port>/web-api/generate-report

要求標題

標頭名稱

數值

描述

Content-Type

application/json

發送 JSON 物件以使用 API Web 服務。

x-chkp-sid

字符串標記

session唯一標識符作為對登錄請求的回應。

要求內文

標頭名稱

數值

描述

type(必填)

字串

報告時間範圍。

允許的值:{hourly, weekly, daily, monthly}

回應

成功時,HTTP 會回傳代碼:200

標頭名稱

數值

描述

reportData

Base64字符串

以 base64 格式發送數據 JSON。

失敗時,HTTP 會回傳代碼:400、401、500

範例要求

{

"type": "daily",

}

回應範例

[

{

「報告資料」:「<report_json_in_base64_format> 」

}

]

(4) 運行-Clish-指令

描述

運行單個 Gaia Clish關閉 Gaia CLI的預設殼層 指令。

要求網址

POST https://<gateway-ip>:<port>/web-api/run-clish-command

要求標題

標頭名稱

數值

描述

Content-Type

application/json

發送 JSON 物件以使用 API Web 服務。

x-chkp-sid

字符串標記

session唯一標識符作為對登錄請求的回應。

要求內文

標頭名稱

數值

描述

script(必填)

字串

base64 格式的單個 clish 指令。

回應

成功時,HTTP 會回傳代碼:200

標頭名稱

數值

描述

output

字串

base64 格式的 Clish 指令輸出。

失敗時,HTTP 會回傳代碼:400、401、500

範例要求

{

"script": " c2hvdyBwcm94eQ=="

}

回應範例

{

"output": "dXNlLXByb3h5OiAgICAgICAgICAgICAgICAgICAgdHJ1ZQpzZXJ2ZXI6IC

AgICAgICAgICAgICAgICAgICAgICAxLjEuMS4xCnBvcnQ6ICAgICAgICAgICAgICAgICAgICAg

ICAgIDgwODAKCg=="

}

腳本是:

show proxy

輸出是:

use-proxy:true 伺服器:proxy.checkpoint.com 連接埠:8080