SalesforceでAPI連携ユーザー(システム管理者やインテグレーションユーザー)が、ある特定のユーザーだけを参照できない、あるいはユーザー一覧に表示されないというトラブルは珍しくありません。この問題は権限設定や共有ルール、レコード可視性など複数の要因が絡むため、原因を特定するには監査ログや履歴情報を活用した段階的な切り分けが必要です。本記事では、API連携ユーザーが一部のユーザーだけ見えない場合に、Salesforceの監査ログと各種履歴を使って原因を追跡する具体的な方法を解説します。実務ですぐに使える手順を中心に、失敗パターンや管理者への確認事項もまとめています。
【要点】この記事で確認すること
- 最初に見る場所: Setup監査ログ(監査トレイル)、ログインヒストリー、ユーザーレコードの編集履歴、API使用状況ログ(EventLogFile)
- 切り分けの軸: 権限設定(プロファイル・権限セット)の問題か、共有設定(共有ルール・組織全体のデフォルトアクセス)の問題か、API呼び出し自体の制限か
- 注意点: 会社PCで勝手にプロファイルや権限セットを変更しないでください。必ずSalesforce管理者に確認してから設定を変更してください。監査ログは管理者のみ閲覧可能な場合があります。
ADVERTISEMENT
目次
なぜ一部のユーザーだけ見えないのか?主な原因
API連携ユーザーが特定のユーザーだけ見えない場合、大きく分けて以下の3つの原因が考えられます。それぞれを体系的に確認することで、原因を絞り込めます。
権限設定の問題(プロファイル、権限セット、共有ルール)
API連携ユーザーに対して「ユーザーオブジェクト(Userオブジェクト)」の参照権限が適切に付与されていないと、一部のユーザーが表示されないことがあります。特に、権限セットやプロファイルで「ユーザー」の読み取り権限が「参照のみ」や「編集なし」になっていないか確認してください。また、共有ルールが設定されている場合、API連携ユーザーが所属するロールやグループが対象ユーザーを含んでいるかも重要です。
レコードの可視性(組織全体の共有設定、CRUD/FLS)
Salesforceのデフォルトでは、ユーザーはシステム管理者以外のユーザーをすべて見られません。組織全体の共有設定でユーザーオブジェクトが「公開」になっていないと、参照範囲が制限されます。さらに、項目レベルセキュリティ(FLS)で特定の項目が非表示になっていると、ユーザー一覧に一部のユーザーが表示されないように見えることがあります。API連携ユーザーがSOQLで取得する場合、SELECTする項目にアクセス権がないとレコード自体が返ってこないため注意が必要です。
システム的な制限(API使用量、データスキップ、除外条件)
APIの使用量が制限に達している場合や、SOQLのWHERE句で明示的に除外条件(例:IsActive=false など)が指定されている場合にも、一部のユーザーだけ見えない現象が発生します。また、ユーザーライセンスの種類(例:Customer Community、Partner Community)によっては、APIから見えるユーザーが限定されることもあります。
【比較表】見えない状態別の原因切り分け
以下の表は、症状と主な原因の対応を示しています。自身の状況に近い行を参考に、確認を進めてください。
| 症状 | 考えられる原因 | 確認すべき監査ログ/履歴 |
|---|---|---|
| 特定のロールのユーザーだけ見えない | 共有ルールまたはロール階層の設定不足 | Setup監査ログ(共有ルールの変更履歴) |
| 新しく作成したユーザーだけ見えない | ユーザー作成後に権限付与が未完了 | ユーザー履歴(ユーザーレコードの作成・編集履歴) |
| API応答にレコードが含まれない(SOQL) | FLS制限・共有設定・WHERE句の条件 | API使用状況(EventLogFile)、REST APIのレスポンスログ |
| 一時的に見えていたが突然見えなくなった | 権限変更や共有ルールの変更が影響 | Setup監査ログ(権限・共有ルールの変更日時) |
監査ログで追跡する手順
原因を特定するために、Salesforceが提供する監査ログと履歴を順番に確認します。以下の手順では、システム管理者権限が必要な操作も含まれます。
- Setup監査ログの確認: 「設定」→「監査トレイル」→「監査ログ」を開き、該当API連携ユーザーに関連する権限セット、プロファイル、共有ルールの変更を日時で絞り込みます。問題が発生した前後の変更を探します。
- ログインヒストリーの確認: 「設定」→「ユーザー」→「ログインヒストリー」で、API連携ユーザーが該当ユーザーにアクセスしようとしたタイミングのログイン記録を確認します。ログイン自体が失敗していないか、使用したIPアドレスに制限がないかを確認します。
- ユーザーレコードの編集履歴の確認: 見えないユーザーのユーザー詳細ページを開き、「履歴」セクションで最近の変更を確認します。特にプロファイル、ロール、権限セットの変更が行われているか確認します。
- API使用状況の確認: 「設定」→「イベント監視」→「イベントログファイル」を開き、該当API連携ユーザーのAPI呼び出しログをダウンロードします。SOQLクエリやREST APIのレスポンスに特定ユーザーが含まれていないパターンを確認します。
- 共有設定の確認: 「設定」→「セキュリティ」→「共有設定」で、ユーザーオブジェクトの組織全体のデフォルトアクセスが「公開」になっているか確認します。また、ロールや公開グループの階層を確認し、API連携ユーザーがアクセス権を持つユーザーをカバーしているか確認します。
- 権限セットのアサイン状況の確認: 各API連携ユーザーに割り当てられた権限セットをリストし、「ユーザーオブジェクト」に対する参照権限が含まれているか確認します。権限セットの変更履歴は監査トレイルで確認できます。
よくある失敗パターンとその対策
実際の現場でよく遭遇する失敗パターンを紹介します。同じミスを繰り返さないように、対策を覚えておきましょう。
失敗パターン1:権限セットの有効期限切れ
権限セットには有効期限を設定できるものがあります。API連携ユーザーに対して期限切れの権限セットが割り当てられていると、その権限は失効します。監査ログで権限セットの割り当て日時と有効期限が記録されるため、該当の権限セットの「割り当て履歴」を確認してください。
失敗パターン2:SOQLのWHERE句で意図しないフィルタリング
API連携のコード内で WHERE IsActive = true や AND ProfileId = '...' のような条件を指定していると、アクティブでないユーザーや特定プロファイル以外のユーザーが除外されます。ログを確認してクエリ条件を再検討しましょう。
失敗パターン3:認証用ユーザーと連携ユーザーの混同
API連携で使用するユーザーと、実際に連携先のシステムで認証に使うユーザーが異なる場合、権限の乖離が発生することがあります。例えば、OAuthで認証したユーザーがシステム管理者ではない場合、参照範囲が狭くなります。ログインヒストリーでどのユーザーが実際にAPIを呼び出しているか確認してください。
管理者に確認すべき情報
問題を解決するために、Salesforce管理者に以下の情報を伝えるとスムーズです。
- どのAPI連携ユーザーが、どのユーザーを見ることができないか(具体的なユーザー名とID)
- 問題が発生した日時と頻度(常に発生か、特定の時間のみか)
- API連携ユーザーのシステム管理者権限の有無
- 該当ユーザーのロール、プロファイル、権限セットの一覧
- 最近の権限変更や共有ルール変更の有無(Setup監査ログから収集)
よくある質問(FAQ)
Q1. API連携ユーザーがシステム管理者なのに一部ユーザーが見えません。なぜですか?
システム管理者でも、ユーザーオブジェクトの「組織全体のデフォルトアクセス」が「非公開」になっている場合があります。また、ユーザーライセンスの種類(Employee、Partner、Customer)によっては、システム管理者であっても参照できないユーザーが存在します。監査ログで共有設定の変更を確認し、必要に応じて「公開」に変更してください。
Q2. ログインヒストリーに記録が残っていない場合はどうすればよいですか?
ログインヒストリーは管理者のみが参照できます。記録が残っていない場合、API連携に利用しているユーザーがログインしていない可能性があります。例えば、OAuthでアクセストークンを使い続けている場合、新規ログインイベントが発生しないため、代わりに「AuthSession」オブジェクトを確認してください。
Q3. 監査ログはどのくらい過去まで遡れますか?
Setup監査ログは通常過去6か月分、EventLogFileは最大24時間から30日(ライセンスによる)です。長期の追跡が必要な場合は、定期的にログをエクスポートして保存することをお勧めします。
まとめ
API連携ユーザーが一部のユーザーだけ見えない場合、原因は権限設定、共有設定、クエリ条件のいずれかにあります。監査ログやログインヒストリー、ユーザー履歴などを体系的に確認することで、問題の原因を特定できます。特にSetup監査ログは権限変更のトレースに有用であり、API使用状況のログは実行されたクエリの実態を明らかにします。業務に影響が出る前に定期的なログ確認を習慣化し、権限の変更管理を徹底してください。
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
