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 調用中都是必需的。

請求payload

包含不同參數的 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":"ROLE.SUPER",

"read-only": false,

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

"session-timeout":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",

}

範例回應

[

{

"reportData": "<report_json_in_base64_format>"

}

]

(4) 運行-Clish-指令

描述

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

請求網址

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

輸出是:

使用代理:true 服務器:proxy.checkpoint.com 港口:8080