Salesforce → Box API連携の403エラーについて
2023年3月16日未明から、SalesforceとBoxとのAPI連携にてエラーが発生するようになりました。2021年から運用しており、特に何も変更等は行っていない状態です。
今回は、その際の対応について記録致します。
<発生日時>
2023年3月16日未明
<障害内容>
SalesforceからAPI連携にて、BoxへファイルをUpload出来なくなる事象が発生しました。
Apexのログを参照すると、レスポンスにて”403 Forbidden”が返ってきており、以下実際のエラーログとなります。
複数あるAPIの動作検証を行った結果、以下の現象を確認しています。
<成功>
・アクセストークン取得
・ファイル一覧取得
・ファイル詳細取得
<失敗>
・ファイル登録
・ファイル登録事前確認処理
上記の通り、基本的に書き込み関係のエラーとなっており、その内容から権限不足と推察しました。
続けて、裏付け確認のためにBoxの管理者コンソールにて、利用しているアプリの詳細を確認しています。確認方法は以下を参照ください。
<確認方法>
管理画面より「アプリ」→「カスタムアプリマネージャー」→利用しているアプリの「表示」をクリックして、詳細を確認してください。
参照した所、「アプリのスコープ」にて、書き込み権限がないことを確認できました。
これまでエラーが発生していなかったにも関わらず、あるタイミングからエラーが生じることになったことから、あくまでも私見にはなりますが、Boxのアップデートが同日(2023/3/16)に入っており、この時に上述した「アプリのスコープ」を厳密に見るようになったのではないかと考えております。(繰り返しになりますが、あくまでも憶測となります…)
上記現象が発生する条件を整理しますと以下となります。
1)アプリケーション作成の際に、書き込み権限を入れていない
(今は規定値として書き込み権限が入っていますが、以前は入っていない時期がありました)
2)2023/3/16のアップデートにおいて、「アプリのスコープ」を厳密に確認するようになった。その為、参照等は正常に動作するが、書き込み関係のAPIは全て”403 Forbidden”エラーとなる。
特に数年前に連携設定を行なっている環境は、エラーが発生している可能性がありますため、そのような場合はアプリケーションを再作成し、接続アプリを変更することで解消すると思われます。