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