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

アプリケーション/json

x-chkp-sid

ログイン コマンドによって返されたセッションIDトークン。

The x-chkp-sidヘッダは、ログインAPIを除くすべてのAPI呼び出しで必須です。

リクエスト ペイロード

異なるパラメータを持つJSONフォーマットのテキスト。

例:

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

レスポンス構造

成功時に返される値:

  • HTTPステータス200 (OK)

  • JSON文字列 (どのAPIが呼び出されるかでコンテンツは異なる)

失敗時に返される値:

  • HTTPステータス500 (内部サーバ エラー)、400 (バッド リクエスト)、401 (未認証)

  • エラー詳細を含むJSONストラクチャ

バージョン

特定バージョンのHTTPポスト

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からセッション一意の識別子が返されます。

  3. このセッション一意の識別子を各リクエストのx-chkp-sidヘッダに入力します。

リクエストURL

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

リクエスト ヘッダ

ヘッダ名

内容

Content-Type

アプリケーション/json

JSONオブジェクトを送信してAPI Webサービスを使用します。

リクエスト本文

パラメータ名

内容

user (必須)

文字列

管理者ユーザ名

Password (必須)

文字列

管理者パスワード

レスポンス

成功時、HTTPリターン コード:200

ヘッダ名

内容

sid

文字列

各リクエストのx-chkp-sidヘッダのセッション一意の識別子。

role

文字列

管理者ロールと権限。

read-only

Boolean

セッションが読み取り専用の場合はtrue。

api-server-version

文字列

APIサーバ バージョン。

session-timeout

整数

セッション有効期限タイムアウト(分)。

失敗時、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

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

リクエスト ヘッダ

ヘッダ名

内容

Content-Type

アプリケーション/json

JSONオブジェクトを送信してAPI Webサービスを使用します。

x-chkp-sid

文字列トークン

ログイン リクエストのレスポンスとしてのセッション一意の識別子。

リクエスト本文

リクエスト本文はありません。

レスポンス

成功時、HTTPリターン コード:200

失敗時、HTTPリターン コード:400, 401, 500

(3) レポート生成

内容

選択した時間範囲のセキュリティ レポート データを生成:

Hourly/Daily/Weekly/Monthly

リクエストURL

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

リクエスト ヘッダ

ヘッダ名

内容

Content-Type

アプリケーション/json

JSONオブジェクトを送信してAPI Webサービスを使用します。

x-chkp-sid

文字列トークン

ログイン リクエストのレスポンスとしてのセッション一意の識別子。

リクエスト本文

ヘッダ名

内容

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のデフォルトのシェルコマンドを実行します。

リクエストURL

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

リクエスト ヘッダ

ヘッダ名

内容

Content-Type

アプリケーション/json

JSONオブジェクトを送信してAPI Webサービスを使用します。

x-chkp-sid

文字列トークン

ログイン リクエストのレスポンスとしてのセッション一意の識別子。

リクエスト本文

ヘッダ名

内容

script (必須)

文字列

base64形式の単一のclishコマンド。

レスポンス

成功時、HTTPリターン コード:200

ヘッダ名

内容

output

文字列

base64形式の単一のclishコマンド。

失敗時、HTTPリターン コード:400, 401, 500

リクエストの例

{

"script": " c2hvdyBwcm94eQ=="

}

レスポンスの例

{

"output": "dXNlLXByb3h5OiAgICAgICAgICAgICAgICAgICAgdHJ1ZQpzZXJ2ZXI6IC

AgICAgICAgICAgICAgICAgICAgICAxLjEuMS4xCnBvcnQ6ICAgICAgICAgICAgICAgICAgICAg

ICAgIDgwODAKCg=="

}

スクリプト:

show proxy

出力:

use-proxy: true server: proxy.checkpoint.com port:8080