メインコンテンツまでスキップ

アプリポータルの権限設計のベストプラクティス(APIキー)

このドキュメントでは、APIキーを利用する際のアプリポータル権限を安全に運用するための推奨設定について説明します。アプリポータルの概要については、アプリポータルの概要(APIキー)を参照してください。

前提:APIキーの認証モデル

APIキーによる認証には、以下の特性があります。

  • APIキーは発行したユーザーの権限でAPIを実行する
  • 発行されたAPIキーは、指定したサービスの範囲内でデータにアクセスできる
  • APIキーの発行権限を適切に管理することが重要

つまり、APIキーを発行できるユーザーは、そのAPIキーを使用してマネーフォワード クラウドのAPIにアクセスできます。このため、誰がAPIキーを発行できるかを適切に管理することが重要です。

各権限のセキュリティ上の意味

アプリポータルには3つの権限があります。APIキーを利用する場合、それぞれの機能とセキュリティ上の意味を理解してください。

権限できることセキュリティ上の意味(APIキー利用時)
システム管理者ユーザーの招待・削除、全権限の設定アプリポータル全体の統制を担う。付与は最小限にする
アプリ開発アプリの登録・編集・削除(OAuthの場合)、APIキーの発行・無効化(APIキーの場合)APIキーを発行できる。発行したAPIキーでマネーフォワード クラウドのAPIにアクセス可能。慎重に付与する
アプリ連携アプリとマネーフォワード クラウドのサービスの連携を認可APIキーには直接関係しない。OAuth認可に使用される
APIキー発行権限の制御について

アプリ開発権限を持つユーザーは、APIキーを発行し、そのAPIキーを使用してマネーフォワード クラウドのAPIにアクセスできます。APIキーの発行権限の付与先を慎重に管理し、不要なAPIキーは速やかに無効化してください。

権限の設定方法は「権限」の設定方法を参照してください。

APIキー発行権限の管理

なぜ適切な管理が必要か

APIキーを発行できる「アプリ開発」権限を持つユーザーは、以下のことができます。

  • 指定したサービスへのアクセス権限を持つAPIキーを発行する
  • 発行したAPIキーを使用してマネーフォワード クラウドのAPIにアクセスする

不適切な権限付与は、以下のリスクにつながります。

  • 管理者の承認なしに、意図しないAPIキーが発行される
  • 従業員が個人的に発行したAPIキーが、管理者の知らないうちに使用される

これらにより、たとえば次のような事態が発生する可能性があります。

  • 会計データや従業員情報など機密性の高いデータが、承認されていないシステムや外部サービスからAPI経由で取得・操作される
  • 従業員の異動・退職後も、その人が発行したAPIキーが有効なまま残り、事業者が把握していないアクセスが継続する
  • 発行済みAPIキーの把握が困難になり、漏洩時の影響範囲の特定や無効化対応が遅れる

推奨される運用

  • 必要最小限の付与: APIキーの発行を担当するユーザーのみに「アプリ開発」権限を付与する
  • 定期的な棚卸し: 発行済みAPIキーの一覧を定期的に確認し、不要なAPIキーは速やかに無効化する
  • ローテーション: セキュリティ強化のため、APIキーは定期的に新しいものに更新する

ユースケース別の推奨権限構成

事業者が外部のSaaSを利用する場合

事業者がすでに利用している外部SaaSを、マネーフォワード クラウドと連携して利用するケースです。外部SaaSがAPIキーによる認証をサポートしている場合に該当します。

  1. APIキー発行(アプリ開発権限):担当者が、アプリポータルでAPIキーを発行する。発行されたAPIキーを連携先の設定画面などで入力する
  2. 連携の利用:認証後、連携先の外部SaaSは発行されたAPIキーでJWTを取得し、マネーフォワード クラウドのAPIにアクセスする
役割アプリ開発理由
外部SaaSの連携を担う担当者(部門担当者や情報システム部門など)付与するAPIキーの発行を担う
事業者の管理者(情報システム部門など)不要連携の承認・監査を担う。APIキー発行は担当者に委任し、定期的に棚卸しする

社内システムとマネーフォワード クラウドを連携する場合

社内の開発者がAPIキーを発行・利用し、自社システムとマネーフォワード クラウドを連携するケースです。

役割アプリ開発理由
社内の開発者付与するAPIキーの発行、API連携の開発を担う
システム管理者不要ユーザー招待・権限付与を担う(必要に応じて付与)
開発環境と本番環境

開発環境と本番環境で異なるAPIキーを発行することを推奨します。本番用のAPIキーは、本番環境へのデプロイ権限を持つ担当者のみが発行・管理するようにしてください。

JWTのライフサイクル

APIキーで取得するJWTには有効期限があります。

トークン有効期間
JWT1時間

JWTが期限切れになった場合は、/auth/exchangeエンドポイントを再度呼び出して新しいJWTを取得してください。APIキー自体に有効期限はありませんが、セキュリティのため定期的なローテーションを推奨します。

APIキーの定期的な棚卸し

不要なAPIキーが残り続けるリスクを防ぐため、以下の運用を推奨します。

  • 定期的な確認: 発行済みAPIキーの一覧を定期的に確認し、不要なAPIキーがないか棚卸しする
  • 速やかな無効化: 不要になったAPIキーは、アプリポータルから速やかに無効化する
  • 担当者変更時の引き継ぎ: APIキーの管理担当者が変わる際は、既存のAPIキー状況を引き継ぐ