API連携

FAX API・Webhookのセキュリティ設定
キー管理と二重送信対策

FAX APIは基幹システムから送信・取得を自動化し、Webhookは受信や送信結果をリアルタイムで通知できます。その一方、漏えいしたキーや権限設定の誤りは、FAX原本の取得や外部送信へ直結します。

最低限の構成

APIキー管理10項目

  1. 送信、参照、OCRなど用途ごとにキーを分ける。
  2. 必要なテナント・操作だけを許可する。
  3. 開発、検証、本番のキーを分離する。
  4. ソースコード、Git、チケット、チャットへ記載しない。
  5. 秘密管理サービスから実行時に取得する。
  6. ログ、エラー、画面ではキーをマスクする。
  7. 可能なら接続元IP/CIDRを制限する。
  8. 有効期限、最終利用、作成者、用途を棚卸しする。
  9. 漏えい時に即時失効し、新旧キーを安全に切り替える。
  10. 退職・委託終了・システム廃止時に削除する。

OWASP API Security Top 10では、オブジェクト単位・機能単位の認可不備が主要リスクとして整理されています。キーが有効でも、別テナントのFAXや管理操作を呼び出せないことが必要です。

送信APIの二重送信を防ぐ

タイムアウトは「FAX送信に失敗した」ことを意味しません。サーバー側では受け付け済みでも、応答だけ届かなかった可能性があります。同じ要求をそのまま再実行すると二重送信になり得ます。

  1. 業務処理ごとに一意な冪等性キーを発行する。
  2. タイムアウト時は同じキーで再試行するか、状態照会する。
  3. FAXジョブIDと業務側IDを保存する。
  4. 成功、失敗、処理中、再試行可能を区別する。
  5. 利用者の手動再送と自動再試行を同じ監査画面で確認する。

Webhook受信チェック

確認目的
HTTPS通信中の盗聴・改ざんを抑える
署名/共有秘密正規の配信元で本文が変わっていないか確認
時刻・許容時間古い正規リクエストの再送攻撃を抑える
イベントID再配信されても後続処理を一度だけ実行
先に受領、後で処理短時間で2xxを返し、重いOCR・基幹登録はキューへ分離
失敗・再試行ログ欠落、遅延、重複を調査

署名方式はサービスごとに異なります。提供された生のリクエスト本文を使う、比較を一定時間で行う、時刻を検証するなど、サービス公式手順に従います。

SP-FAXの現在の範囲

SP-FAXはAPIキーごとのFAX送信・参照・OCR等の権限スコープ、有効期限・失効・最終利用日時、IPv4/CIDR制限、テナント単位のレート制御、冪等性キー、API操作監査を提供します。Webhook通知は利用できますが、監査ログをSIEMへ自動送信する監査Webhookは今後追加予定です。両者を混同しないでください。

APIセキュリティの提供状況、調査項目はFAX監査ログを参照してください。

参考資料

よくある質問

Q. APIキーを環境変数に入れれば安全ですか?

十分とは限りません。秘密管理、閲覧権限、マスキング、ローテーションを組み合わせます。

Q. IP制限があれば認証は不要ですか?

不要にはなりません。認証、最小権限、TLS、監査への追加防御です。

Q. Webhookの二重受信は異常ですか?

再試行で複数回届く場合があります。イベントIDで後続処理を一度にします。

連携方式と権限を確認する

提供状況を見る