記事一覧に戻る
FortiGate API 2025年10月19日

FortiGateバックアップTips:REST APIでConfigを取得し、curlで安全保存

はじめに

  • FortiGateの設定バックアップはGUIやCLIでも可能ですが、REST APIを使うと「自動化しやすい」「複数台へ横展開しやすい」という利点があります。本記事では、まずREST APIユーザー(APIトークン)の作成手順を示し、そのうえでConfigの取得を例にして、①装置全体のConfigの取得、②VDOM単位でのConfigの取得、を紹介します。
  • 取得したレスポンスは curl の -o(--output)オプションでLinux上のファイルへ書き出します。FortiOS 7.4.5以降は**Authorization: Bearer **ヘッダでの認証が推奨/実質必須の挙動になっている点にも注意してください。

前提・準備

  • APIユーザー(REST API Admin)を作成してAPIトークンを発行します。
  • FortiOSは7.6.4で確認しています。
  • curlコマンドが利用できるLinux環境からの実行を想定しています。

REST API用ユーザーの作成

  • GUIでは以下の手順で作成が可能です。
  • System > Administratorsより、Create newで「REST API admin」を選択します。

  • 作成するユーザー名を入力し、権限プロファイルを割り当てます。プロファイルは設計に応じて割り当ててください。またTrusted Hostsなどの設定を行うことも可能です。

  • OK後に表示されるAPIキー(トークン)を控えます。トークンは一度しか表示されないため、忘れた場合は再作成が必要になります。

APIを使ったConfig取得:①装置全体のConfigの取得

  • FortiOSのMonitor APIエンドポイント /api/v2/monitor/system/config/backup に scope=global を付けて呼び出します。
  • -o はcurlのオプションで呼び出した結果を保存することができます。
  • POSTメソッドだと取得することができました。本来はGETな気がしますがGETだと正しく取得できませんでした。
curl -k -H "Authorization: Bearer 6Gfd6930mtGksb89tHj4**********" -X POST  "https://10.10.10.10/api/v2/monitor/system/config/backup?scope=global" -o config-backup.conf

APIを使ったConfig取得:②指定したVDOMのConfigの取得

  • 同じ要領で特定のVDOMのみ取得することもできます。VDOM内の設定は、同じエンドポイントに scope=vdom&vdom=VDOM名 を付けて取得します。
curl -k -H "Authorization: Bearer 6Gfd6930mtGksb89tHj4**********" -X POST  "https://10.10.10.10/api/v2/monitor/system/config/backup?scope=vdom&vdom=root" -o config-backup-root.conf 

まとめ

  • 本記事では、**REST APIトークン(Bearer)を前提に、FortiGateの設定を ①装置全体(global) と ②VDOM単位(vdom) の2通りで取得し、curl の -o(--output) でLinux上に安全に書き出す手順を整理しました。
  • ポイントはシンプルで、「トークンを用意 → 対象範囲をscopeで指定 → curlで取得してファイル化」**の流れになります。