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

アプリポータルの概要(OAuth)

1. 導入

このドキュメントでは、OAuthによる認可を利用する方を対象に、「アプリポータル」の役割・主な機能・認可の仕組みを説明します。API連携の具体的な手順についてはマネーフォワード クラウドのAPIを利用するにはを、アプリポータルのUI操作についてはアプリポータルの使い方ガイドを参照してください。

2. アプリポータルとは

マネーフォワード クラウドのAPIを利用するには、アプリポータルの利用が必須です。

アプリポータルは、マネーフォワード クラウドのAPI連携に必要な認証情報の発行やユーザー権限の管理を担う管理基盤です。アプリポータル自体がAPIを提供するわけではなく、API連携の準備段階で必要となる設定をまとめて管理するためのポータルサイトです。

アプリポータルの登録および利用は無料です。

アプリポータルにおける「アプリ」とは

アプリポータルでの「アプリ」とは、マネーフォワード クラウドのAPIを利用するために必要な Client IDClient Secret などの認証情報をまとめた登録単位です。開発者が実際に開発するクライアントそのものではなく、OAuth 2.0におけるクライアント登録に相当します。

3. エコシステムの全体像

マネーフォワード クラウドのAPI連携には、以下のコンポーネントが関与します。

コンポーネント役割
開発者のアプリケーションAPIを利用してマネーフォワード クラウドのデータを取得・操作する外部システムやクライアント
アプリポータルAPI連携の管理基盤。認証情報(Client ID/Client Secret)の発行・権限設定・連携承認を担う
認可サーバーOAuth 2.0に基づいてアクセストークンを発行する
マネーフォワード クラウドAPI会計・経費・給与など各サービスのAPIエンドポイント

アプリポータルが関与するのは主にAPI連携の 準備段階(認証情報の発行・権限設定・連携の認可) です。一度設定が完了すれば、API呼び出しにアプリポータルの操作は不要です。

4. API連携における認可の仕組みと登場人物

登場人物と役割

アプリポータルを通じたAPI連携には、以下の役割が関与します。

役割誰か主な操作関与するタイミング
全権管理者マネーフォワード クラウドの管理コンソールで全権管理権限を持つユーザーアプリポータルの利用開始・初期設定初回のみ
システム管理者アプリポータルの管理者ユーザー招待・権限付与初回設定時・体制変更時
アプリ開発者API連携を開発するエンジニアアプリ登録・Client ID/Client Secret取得開発時
連携管理者連携を承認する管理部門認可操作・連携の棚卸し初回連携時・定期運用
ヒント

アプリ開発者と連携管理者を同一人物が兼ねる場合もありますが、本番環境では分離を推奨します。詳しくは権限設計のベストプラクティスを参照してください。

認可の仕組み

アプリポータルを通じたAPI連携の認可モデルには、以下の特性があります。

  • 認可はアプリ単位で行われる: 個々のユーザーではなく、アプリポータルに登録された「アプリ」に対して認可されます。認可されたアプリは、付与されたOAuthスコープの範囲内でマネーフォワード クラウドのデータにアクセスできます。
  • 認可はアプリポータルの権限に基づいて行われる: 基本的に、認可操作を行ったユーザーが各サービス上でどのような権限を持っているかは、APIのアクセス範囲に影響しません。ただし、サービスによってはサービス側のユーザー権限が別途必要な場合があります。
  • 認可時に同意画面が表示される: 認可フローでは、連携先のアプリがどのデータ・操作へのアクセスを要求しているかが同意画面に表示されます。連携管理者は内容を確認した上で承認できます。
  • 連携は特定の個人に依存しない: 認可は事業者単位で行われるため、連携を設定した担当者が異動・退職してもAPI連携は停止しません。一方で、不要な連携が残り続ける可能性もあるため、定期的な棚卸しを推奨します。

アプリとの連携を許可しますか?の同意画面

詳しい操作方法が知りたい場合はマネーフォワード クラウドのアプリポータル使い方ガイド 他社サービスと連携する方法をご覧ください。

認可操作は慎重に行ってください

認可されたアプリは、OAuthスコープの範囲内で事業者のデータに広くアクセスできます。意図しないアプリへの認可を防ぐため、「アプリ連携」権限の付与先を慎重に管理してください。詳しくは権限設計のベストプラクティスを参照してください。

API連携の全体フロー

API連携は、以下のフローで進みます。各ステップの担当者が異なる点に注意してください。

ステップ担当操作頻度
1. 利用開始全権管理者アプリポータルの利用を開始する初回のみ
2. 権限付与システム管理者ユーザーを招待し、権限を付与する初回・体制変更時
3. アプリ登録アプリ開発者アプリを登録し、Client ID/Client Secretを取得する開発時
4. 連携認可連携管理者認可フローを実行し、同意画面で連携を承認する初回連携時
5. API呼び出し開発者のアプリアクセストークンを使用してAPIを呼び出す日常運用

5. 主な機能

アプリポータルには、API連携の管理に必要な以下の機能があります。

アプリ管理

API連携の単位となる「アプリ」を登録・管理します。アプリを登録すると、API呼び出しに必要な Client IDClient Secret が発行されます。

  • アプリの登録・編集・削除
  • Client ID / Client Secretの確認
  • リダイレクトURIの設定
  • クライアント認証方式の設定

ユーザー管理

アプリポータルを利用するユーザーと、その権限を管理します。

権限説明
システム管理者アプリポータル全体の管理(ユーザーの招待・削除、全権限の設定)
アプリ開発アプリの登録・編集・削除(Client ID/Client Secretの取得)
アプリ連携マネーフォワード クラウドのサービスとアプリの連携操作(アクセストークンの発行)

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

連携管理

マネーフォワード クラウドと外部サービスの連携状態を管理します。

  • 連携済みアプリの確認
  • 連携の解除
例:外部SaaSとマネーフォワード クラウドを連携する場合

経費精算サービスとマネーフォワード クラウドを連携するケースでは、アプリポータルの各機能を以下のように使用します。

  1. アプリ管理: 連携先のアプリ情報(Client ID/Client Secret)が登録されていることを確認する
  2. ユーザー管理: システム管理者が、連携を認可する連携管理者に「アプリ連携」権限を付与する
  3. 連携管理:「アプリ連携」権限を持つ連携管理者が連携を認可し、連携状態を確認する

6. アプリポータルの制約

アプリポータルの認可モデルには以下の制約があります。権限設計の際にはこれらを考慮してください。

個人単位のアクセス制御はできない

API連携の認可は事業者単位で行われます。認可されたアプリは、OAuthスコープが許可する範囲において事業者のデータに対して操作が可能であり、特定の個人のデータだけにアクセスを制限できません。

サービス内のスコープ単位での権限制御はできない

アプリ連携権限は、認可操作を許可するサービスを選択して付与できます。ただし、選択したサービス内での操作を制限できません。たとえば、読み取りの認可操作のみを許可して書き込みの認可操作を許可しない、といった権限制御はできません。

詳しくは権限設計のベストプラクティスを参照してください。

サービスによっては追加の権限設定が必要な場合がある

アプリ連携にはアプリポータルの「アプリ連携権限」が必須ですが、サービスによっては、そのサービスや関連サービス上でのユーザー権限が別途必要になる場合があります。必要な権限の詳細はサービスごとに異なります。 詳しくは、サービスごとの権限設定の方法をご確認ください(例:APIを利用するために必要な設定を教えてください(従業員と組織))。

7. 利用開始するには

前提条件

  • マネーフォワード クラウドで事業者を作成済みであること(事業者区分や契約プランは問いません)
  • マネーフォワード クラウドの管理コンソールで「全権管理者」の権限を持つユーザーがいること(初回利用開始時)

利用開始の手順

以下の手順のうち、ステップ1・2は事業者の 全権管理者 が行います。ステップ3は 「アプリ開発」権限を持つユーザー が行います。

  1. アプリポータルの利用を開始する(全権管理者) 管理コンソールの全権管理者がアプリポータルの利用を開始します。 ▶ 「アプリポータル」の利用開始方法

  2. ユーザーの権限を設定する(全権管理者) API連携を担うユーザーに必要な権限を付与します。 ▶ 「権限」の設定方法

  3. アプリを登録する(アプリ開発権限を持つユーザー) API連携に必要なアプリ情報を登録します。 ▶ アプリを登録する

8. 次のステップ

アプリポータルの概要を理解したら、ご自身の立場に応じて以下のドキュメントに進んでください。

立場次のステップ
初めてアプリポータルを導入したい(全権管理者)「アプリポータル」の利用開始方法
API連携を開発したい(開発者)マネーフォワード クラウドのAPIを利用するには
実際に手を動かして試したい(開発者)チュートリアル
連携を承認・管理したい(システム管理者)権限設計のベストプラクティス
アプリポータルのUI操作を知りたいアプリポータルの使い方ガイド