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

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

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

アプリポータルの概要については、アプリポータルの概要(APIキー)を参照してください。

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

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

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

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

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

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

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

APIキー発行に関する注意

アプリポータルのユーザーは、APIキーを発行し、そのAPIキーを使用してマネーフォワード クラウドのAPIにアクセスできます。アプリポータルのユーザーを慎重に管理し、不要なユーザーは速やかに削除してください。

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

APIキー発行に関するユーザー管理

なぜ適切な管理が必要か

アプリポータルにユーザーとして追加されたユーザーは、以下のことができます。

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

不適切なユーザー追加や管理は、以下のリスクにつながります。

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

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

  • 会計データや従業員情報など機密性の高いデータが、承認されていないシステムや外部サービスからAPI経由で取得・操作される
  • 発行済みAPIキーの把握が困難になり、漏洩時の影響範囲の特定や無効化対応が遅れる

推奨される運用

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

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

お使いのSaaSとマネーフォワード クラウドを連携する場合

お使いのSaaSが、マネーフォワード クラウドとの連携でAPIキー認証に対応している場合の例です。APIキーによる連携では、利用者がアプリポータルで行う主な操作はユーザーの追加APIキーの発行です。画面や手順の詳細はお使いのSaaSによって異なるため、連携するSaaSが公開している手順やドキュメントをご確認ください。

  1. APIキー発行:アプリポータルのユーザーとして、APIキーを発行する。発行したAPIキーを、お使いのSaaSの設定画面などに入力する
  2. 連携の利用:お使いのSaaSがAPIキーで認証し、取得されたJWTを用いて、マネーフォワード クラウドのAPIにアクセスする

次の表は、この場合の権限構成の一例です。APIキーの発行そのものに特定の権限の付与は不要です。上記の各権限のセキュリティ上の意味も参照してください。

役割アプリ開発アプリ連携理由
SaaS連携設定の実行者
部門担当者や情報システム部門などが担うことが多い。お使いのSaaSの案内に沿ってAPIキーを発行し、発行したキーをSaaSの設定画面などに入力する担当。アプリポータルではAPIキー発行のためユーザーを利用する。
付与しない付与しないAPIキー発行のためアプリポータルにユーザーを追加する必要があるが、アプリ開発アプリ連携はいずれも付与しない
システム管理者
情報システム部門などが担うことが多い。ユーザーの招待や発行済みAPIキーの棚卸しなど、運用の統制を担う担当。日常的なAPIキー発行は担当者が行い、システム管理者が必ずしも発行するわけではない。
付与しない付与しないユーザー招待や他ユーザーの権限設定を担ってもよいが、自身にはアプリ開発アプリ連携をいずれも付与しない

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

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

次の表は、この場合における権限構成の一例です。

役割アプリ開発アプリ連携理由
アプリ開発者
APIキーを発行し、自社システム側のAPI連携の開発・設定を担う担当。APIキー発行のためにアプリポータルを利用する。
付与しない付与しないAPIキー発行のためアプリポータルにユーザーを追加する必要があるが、アプリ開発アプリ連携はいずれも付与しない
システム管理者
情報システム部門などが担うことが多い。必要に応じてアプリポータルへユーザーを招待・追加し、運用の統制を担う担当。開発者に代わってAPIキーを発行する場合もある。
付与しない付与しないユーザー招待やAPIキー代行発行を担ってもよいが、自身にはアプリ開発アプリ連携をいずれも付与しない
ヒント

開発環境と本番環境

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

JWTのライフサイクル

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

トークン有効期間
JWT1時間

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

APIキーの定期的な棚卸し

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

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