レコードトリガーフローは、特定のレコード操作をきっかけに自動処理を実行する強力な機能です。しかし、フローが期待通りに動作せず、権限不足エラーが発生するケースが少なくありません。この問題は、単にユーザのプロファイル設定だけが原因ではなく、フローの実行ユーザモードや参照オブジェクトの権限、トリガー条件の設計など複数の要素が絡みます。本記事では、管理者が具体的にどの原因を切り分け、どのログを確認し、どの設定変更を検討すべきかを解説します。
【要点】この記事で確認すること
- 最初に見る場所: フローのバージョン詳細画面で実行モード(システムモードかユーザモードか)と、関連するオブジェクトの権限設定を確認します。
- 切り分けの軸: フロー実行時のユーザが誰か(システム管理者か一般ユーザか)、トリガー条件で参照している項目の参照権限、更新対象のフィールドの編集権限を分けて調査します。
- 注意点: 会社のSalesforce組織では、プロファイルや権限セットの変更は影響範囲が大きいため、必ずサンドボックスでテストしてから本番に適用してください。
ADVERTISEMENT
目次
権限不足エラーの発生メカニズム
レコードトリガーフローは、レコードの作成、更新、削除をきっかけに起動します。このとき、フロー内の各要素(レコード取得、条件分岐、レコード更新など)は、特定のユーザ権限に基づいて実行されます。権限不足エラーは主に、フローが参照または更新しようとするオブジェクトやフィールドに対して、実行ユーザが必要な権限を持っていない場合に発生します。また、フローがシステムモードで実行されるかユーザモードで実行されるかによって、権限チェックの挙動が大きく異なります。システムモードではほとんどの権限チェックが迂回されますが、ユーザモードではトリガーしたユーザの権限がそのまま適用されます。管理者はまずこのモードの違いを理解しなければなりません。
フロー実行ユーザと権限の関係を確認する
システムモードとユーザモードの違い
フローのバージョン設定で「レコードのトリガ後フローをシステムモードで実行」というチェックボックスがあります。これがオン(デフォルト)の場合、フローはシステム管理者権限で動作し、ほとんどのオブジェクトやフィールドへのアクセス権が自動的に与えられます。オフの場合(ユーザモード)、フローはトリガーを発生させたユーザの権限で実行されます。権限不足が報告されたら、まずこの設定を確認してください。チェックがオンでもエラーが出る場合は、Apexクラスや外部サービスへのアクセス権限など、システムモードでもカバーされない権限が不足している可能性があります。
フローで使用するApexクラスの権限
フロー内で「Apexアクション」を使用している場合、そのApexクラスに「プロファイルで有効化」の設定が必要です。システムモードであっても、Apexクラス自体が権限不足で呼び出せないことがあります。管理者は、設定 > Apexクラス > 該当クラスを開き、権限セットやプロファイルへの割り当てを確認します。特に、フローが参照するカスタムオブジェクトがApexクラス内で使用されている場合、そのオブジェクトへのアクセス権も併せて確認します。
| 実行モード | 権限チェックの対象 | 不足時に確認する設定 |
|---|---|---|
| システムモード | Apexクラス権限、外部データソースの認証、暗号化フィールド | Apexクラスのプロファイル割り当て、名前付き資格情報 |
| ユーザモード | オブジェクトの参照・作成・編集・削除権限、フィールドレベルのセキュリティ、共有ルール | プロファイル、権限セット、共有設定、項目レベルセキュリティ |
トリガー条件とオブジェクト権限の組み合わせ
トリガー条件で参照する項目へのアクセス権
レコードトリガーフローでは、[開始]要素にトリガー条件を設定できます。例えば「取引先の業種が’テクノロジー’の場合」といった条件です。この条件で使用されるフィールドに対する参照権限がユーザにない場合、フローは起動自体を行いません。ただし、権限不足エラーが出るのは起動後もあり得ます。条件に合致したレコードを処理する際に、そのレコードの特定フィールドを更新しようとして、更新権限がないためにエラーが発生します。管理者は、トリガー条件で使われているフィールドと、フロー内で更新するフィールドの両方を洗い出し、実行ユーザの権限を確認します。
親子関係の参照権限
フローが「レコードを取得」要素で親オブジェクトを参照する場合、子オブジェクト側のトリガーで起動したユーザに親オブジェクトの参照権限が必要です。例えば、商談のトリガーフローから取引先を取得する場合、ユーザに取引先オブジェクトの参照権限がなければエラーになります。このようなケースは、特にユーザモードのフローで発生しやすいです。管理者は、フローが参照するすべてのオブジェクトの権限セットを確認します。
フローの参照・更新権限を管理者がチェックする手順
- フローのバージョンを開き、[詳細]から「システムモードで実行」のチェック状態を確認します。
- フロー内の各要素(レコード取得、更新、削除など)が対象としているオブジェクトとフィールドをリストアップします。
- 権限不足で困っているユーザのプロファイルまたは権限セットを開き、該当オブジェクトの参照・編集権限がオンになっているか確認します。
- 項目レベルセキュリティで、該当フィールドがユーザに対して参照可能、編集可能に設定されているか確認します。
- フローが更新を試みるレコードが、共有ルールや組織全体の既定アクセス権によりユーザのアクセス対象外になっていないか確認します。
- デバッグログを有効にしてフローを再現し、エラーメッセージに「権限不足」「INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY」などのキーワードがないか確認します。
共有ルールと権限セットが与える影響
ユーザモードのフローでは、共有ルールの設定が重要です。例えば、フローがレコードの所有者を変更する操作を実行しようとしたとき、ユーザにそのレコードに対する共有アクセス権がないとエラーになります。また、権限セットでオブジェクト権限が付与されていても、共有設定で「参照のみ」となっているレコードに対して更新を試みると失敗します。管理者は、フローが影響を与えるレコードの共有状況を確認し、必要に応じて「共有ルールの編集」や「手動共有」でアクセス権を拡大します。ただし、過度な共有はセキュリティリスクになるため、フロー専用の権限セットを作成し、最小限の権限で動作するように調整することを推奨します。
よくある失敗パターンと管理者が確認すべきログ
失敗パターン1:システムモードと思っていたが実はユーザモード
フロー作成時にデフォルトのシステムモードがオンのままでも、バージョン更新時に誤ってオフにしてしまうケースがあります。管理者はバージョンごとに設定を再確認する習慣が必要です。デバッグログには「FLOW_RECORD_TRIGGER_USER_MODE」と表示されます。
失敗パターン2:参照権限はあるが編集権限がない
プロファイルでオブジェクトの「参照」は許可されているが「編集」が許可されていない場合、フローのレコード更新要素でエラーが発生します。この場合、権限セットに「編集」権限を追加するか、フローをシステムモードに変更するかを検討します。
失敗パターン3:項目レベルセキュリティが厳しすぎる
オブジェクト権限が適切でも、特定の項目がユーザに対して非表示になっていると、フローの更新でエラーになります。管理者は、[設定]>[オブジェクトマネージャ]>該当オブジェクト>[項目レベルセキュリティ]で、フローで使用するすべてのフィールドがユーザのプロファイル・権限セットで参照可能、編集可能になっているか確認します。
トラブルシューティングのまとめと再発防止策
権限不足の原因を特定するには、フローの実行モード、トリガー条件、参照・更新オブジェクトの権限設定、共有ルールを順に確認します。最初にデバッグログでエラーメッセージを確認すれば、権限の種類と対象オブジェクトが明確になります。再発防止策として、フロー設計時に権限チェックリストを作成し、すべてのオブジェクトとフィールドの権限を事前に確認することが有効です。また、フローをシステムモードで実行できる場合は積極的に活用し、ユーザモードでしか実行できない業務要件がある場合のみ、権限セットで細かく制御する運用にしてください。
管理者が定期的にフローの監査ログを確認し、権限不足エラーの発生履歴を追跡することも重要です。エラーが頻発するフローは、システムモードへの変更やトリガー条件の見直しを検討します。最終的には、フローが依存する権限をドキュメント化し、プロファイル変更時の影響評価を徹底することで、トラブルを未然に防げます。
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
