RESTful API
启用和停用REST API
要在网关上启用REST API,请运行这个Gaia Clish命令:
|
要禁用网关上的REST API,请运行这个Gaia Clish命令:
|
请求结构
HTTP Post
|
默认的端口号是4434。
HTTP头文件
标题 |
描述 |
---|---|
|
application/json |
|
由登录命令返回的会话ID令牌。
|
要求的有效载荷
包含不同参数的JSON格式的文本。
示例:
|
响应结构
成功时的返回值:
-
HTTP状态200(OK)。
-
一个JSON字符串(内容根据调用的API而不同)。
失败时的返回值:
-
HTTP状态500(内部服务器错误),400(错误请求),或401(未经授权)。
-
一个包含错误信息的JSON结构
版本管理
具有特定版本的HTTPPost
|
如果没有发送版本,则使用最新支持的版本。
示例:
|
REST API命令
(1) 登录
描述
-
用你的SMB管理用户名和密码登录到SMB设备。
-
SMB返回你的会话唯一标识符。
-
在每个请求的
x-chkp-sid
标头中输入这个会话唯一标识符。
要求URL
|
请求标题
标题名称 |
值 |
描述 |
---|---|---|
|
application/json |
发送JSON对象以使用API网络服务。 |
请求正文
参数名称 |
值 |
描述 |
---|---|---|
|
字符串 |
管理员用户名 |
|
字符串 |
管理员密码 |
响应
成功时,HTTP返回的代码:200
标题名称 |
值 |
描述 |
---|---|---|
|
字符串 |
每个请求 |
|
字符串 |
管理员的角色和权限。 |
|
布尔型 |
如果会话是只读的,则为真。 |
|
字符串 |
API服务器版本。 |
|
整数 |
会话过期超时,以分钟为单位。 |
失败时,HTTP返回的代码:400, 401, 500
请求示例
{ "user": "admin", "password": "aa" } |
响应实例
{ "sid":"9aa5770044797d7209f8ce9b0ef0fa0", "role":"ROLE.SUPER", "read-only": false, "api-server-version": "v1", "session-timeout":10 } |
(2) 注销
描述
从当前会话中注销。在你注销后,会话ID就不再有效。
要求URL
|
请求标题
标题名称 |
值 |
描述 |
---|---|---|
|
application/json |
发送JSON对象以使用API网络服务。 |
|
字符串标记 |
会话唯一标识符,作为对登录请求的响应。 |
请求正文
没有请求主体。
响应
成功时,HTTP返回的代码:200
失败时,HTTP返回的代码:400, 401, 500
(3) 生成-报告
描述
根据选定的时间框架生成安全报告数据。
Hourly/Daily/Weekly/Monthly
要求URL
POST https://<gateway-ip>:<port>/web-api/generate-report
请求标题
标题名称 |
值 |
描述 |
---|---|---|
|
application/json |
发送JSON对象以使用API网络服务。 |
|
字符串标记 |
会话唯一标识符,作为对登录请求的响应。 |
请求正文
标题名称 |
值 |
描述 |
---|---|---|
|
字符串 |
报告时间框架。 允许值: |
响应
成功时,HTTP返回的代码:200
标题名称 |
值 |
描述 |
---|---|---|
|
Base64字符串 |
以base64格式发送数据JSON。 |
失败时,HTTP返回的代码:400, 401, 500
请求示例
{ "type": "daily", } |
响应实例
[ { "reportData": "<report_json_in_base64_format>" } ] |
要求URL
|
请求标题
标题名称 |
值 |
描述 |
---|---|---|
|
application/json |
发送JSON对象以使用API网络服务。 |
|
字符串标记 |
会话唯一标识符,作为对登录请求的响应。 |
请求正文
标题名称 |
值 |
描述 |
---|---|---|
|
字符串 |
一条base64格式的clish命令。 |
响应
成功时,HTTP返回的代码:200
标题名称 |
值 |
描述 |
---|---|---|
|
字符串 |
以base64格式的Clish命令输出。 |
失败时,HTTP返回的代码:400, 401, 500
请求示例
{ "script": " c2hvdyBwcm94eQ==" } |
响应实例
{ "output": "dXNlLXByb3h5OiAgICAgICAgICAgICAgICAgICAgdHJ1ZQpzZXJ2ZXI6IC AgICAgICAgICAgICAgICAgICAgICAxLjEuMS4xCnBvcnQ6ICAgICAgICAgICAgICAgICAgICAg ICAgIDgwODAKCg==" } |
脚本:
|
输出:
use-proxy: true server: proxy.checkpoint.com port:8080 |