Salesforceの項目レベルセキュリティ(Field-Level Security, FLS)は、特定の項目を特定のユーザに対して表示・編集可能にするための強力な仕組みです。しかし、業務中に「この項目が見えない」「権限があるはずなのに変更できない」といった問題に遭遇した時、原因がFLSの設定変更にあるのか、それとも別の要因なのかを素早く特定するのは簡単ではありません。特に、複数のプロファイルや権限セットが絡む環境では、どのタイミングで何が変わったのかを追跡する必要があります。
【要点】この記事で確認すること
- 最初に見る場所: 監査ログ(Audit Trail)の設定と、項目履歴(Field History)の有効化状況
- 切り分けの軸: 端末側(ブラウザキャッシュ)・アカウント側(プロファイル・権限セット)・管理設定側(監査ログ・項目履歴の記録有無)
- 注意点: 監査ログはシステム管理者のみ参照可能であり、一般ユーザでは参照できません。また、項目履歴は事前に有効化しておかないと過去の変更を追跡できないため、管理者による事前設定が必要です。
ADVERTISEMENT
目次
項目レベルセキュリティとは – 基本の理解
項目レベルセキュリティとは、オブジェクトの各項目に対して、ユーザごとに「参照可能」「編集可能」の権限を細かく設定できる機能です。例えば、商談オブジェクトの「金額」項目を特定のプロファイルのユーザだけに見せたい場合、FLSで制御します。権限の設定方法には、プロファイルによる固定設定と、権限セットによる追加設定の2種類があります。一つのプロファイルに属するユーザでも、権限セットを割り当てることで一部の項目へのアクセスを広げることが可能です。そのため、問題が発生した時には、プロファイルと権限セットの両方を確認する必要があります。
監査ログでFLS変更履歴を追う方法
Salesforceには「監査ログ(Audit Trail)」と呼ばれる機能があり、管理者が設定変更を行った履歴を自動的に記録します。FLSの変更もこの監査ログに記録されるため、いつ、誰が、どの項目の権限を変更したのかを確認できます。監査ログは設定画面上で確認するか、APIを使って取得することも可能です。
監査ログを確認する手順
- 設定(歯車アイコン)→「設定」をクリックします。
- 左側のクイック検索で「監査ログ」と入力し、「監査ログ」を選択します。
- 「設定変更監査ログ」のセクションで、日付範囲やユーザを指定してフィルタをかけます。
- 「FLS」や「Field-Level Security」に関連するエントリを探します。表示される詳細には、変更内容(例:項目「Amount」の参照権限を有効化)と変更者、日時が含まれます。
- 必要に応じてログをCSVでエクスポートし、Excelなどでさらに分析することもできます。
監査ログは過去180日分が保存されます。それ以前のログは参照できません。もし長期間にわたる変更を調査したい場合は、定期的にエクスポートして保管することをお勧めします。
項目履歴でフィールドへのアクセス状況を確認する
もう一つの有力な手段が「項目履歴(Field History)」です。監査ログが設定変更の履歴を追うのに対し、項目履歴はレコード単位で項目の値が変更された履歴を記録します。FLS自体の変更は記録されませんが、もし「ある項目の値が突然変更できなくなった」という場合、項目履歴を調べることで最後に誰が値を変更したか、または変更しようとしたかを確認できます。
項目履歴の有効化と確認方法
項目履歴はオブジェクトごとに有効化する必要があります。標準オブジェクト(商談、取引先など)ではデフォルトで有効になっている場合が多いですが、カスタムオブジェクトでは手動で有効化しなければなりません。有効化手順は以下の通りです。
- 設定からオブジェクトマネージャを開き、該当のオブジェクトを選択します。
- 「項目履歴の設定」をクリックします。
- 追跡したい項目を選択して「追加」をクリックします。保存すると、以後その項目の値変更が記録されるようになります。
- レコード詳細ページの「関連」リストから「項目履歴」を開くことで、実際の変更履歴を確認できます。
項目履歴はユーザ単位で誰がいつ変更したかを記録するため、権限の問題と合わせて分析すると有用です。
| 比較項目 | 監査ログ(Audit Trail) | 項目履歴(Field History) |
|---|---|---|
| 記録対象 | 管理者による設定変更(FLS、プロファイル、権限セットなど) | レコード上の項目値の変更 |
| 保存期間 | 180日 | 無制限(ただし、履歴レコードの数に上限あり) |
| 参照権限 | システム管理者のみ | 「すべてのデータの参照」権限を持つユーザまたは該当レコードの所有者 |
| 有効化方法 | デフォルトで有効(設定不可) | オブジェクトごとに事前設定が必要 |
| 主な用途 | 「いつ誰がFLSを変更したか」の特定 | 「ある項目がいつ誰によって更新されたか」の確認 |
失敗パターンと切り分けのポイント
実際に困るケースにはいくつかの典型的なパターンがあります。ここでは代表的な失敗例と、その切り分け方を解説します。
パターン1: 監査ログにFLS変更が記録されていない
監査ログは自動的に記録されるため、通常は必ず残ります。しかし、管理者が複数存在する場合や、API経由で変更された場合でも監査ログに記録されます。もし記録がない場合、考えられる原因は以下の通りです。
- 変更が180日より前に行われた(保存期間切れ)
- 変更者が「システム管理者」以外の権限でログインしていた(例:カスタム権限セットのみ)
- 変更自体が行われておらず、権限が元々付与されていなかった
パターン2: 項目履歴に変更が記録されない
項目履歴が記録されない場合、ほとんどの原因は「項目履歴が有効化されていない」ことです。カスタムオブジェクトで特に発生しやすいため、まずは設定を確認してください。また、項目履歴の追跡対象として選択されている項目のみ記録される点にも注意が必要です。
パターン3: FLS変更が他の権限設定で上書きされている
プロファイルでFLSを許可していても、権限セットで同じ項目を制限(非表示)にしていると、より制限の厳しい設定が優先されます。この場合、監査ログには両方の変更履歴が残るため、時系列で確認することで原因を特定できます。
管理者に確認するべき情報と設定
一般ユーザでは監査ログを直接見ることができません。問題が発生した場合、管理者に依頼して以下の情報を確認してもらいましょう。
- 問題のユーザのプロファイルと権限セット: 特に該当項目のFLS設定がどうなっているか。
- 監査ログの有効化状態: 通常有効ですが、組織によっては無効化されている可能性は低いですが確認します。
- 項目履歴の有効化状態: カスタムオブジェクトの場合、管理者がまだ有効化していないかもしれません。
- 変更が行われた可能性のある日時: 問題に気づいたタイミングを伝えると、監査ログの絞り込みが容易になります。
管理者からは、監査ログのスクリーンショットやエクスポートデータを入手し、該当するFLS変更のエントリを探すと良いでしょう。
よくある質問(FAQ)
Q: 監査ログが180日以上前のものを見る方法はありますか?
残念ながら、Salesforceの標準機能では過去180日分しか保持されません。それより古い情報を残すには、定期的に監査ログをエクスポートして外部システムに保管する必要があります。
Q: 項目履歴が表示されないのはなぜですか?
まず、そのオブジェクトで項目履歴が有効になっているか確認してください。また、変更が行われた項目が追跡対象として選択されていることを確認します。さらに、レコードへのアクセス権限がないと履歴を参照できない場合もあります。
Q: FLS変更を行ったユーザが特定できましたが、意図しない変更でした。どうすればいいですか?
該当のFLS設定を元に戻すか、権限セットの割り当てを解除します。変更が不要だった場合は、影響範囲を評価した上で、適切なロールバックを実施してください。また、変更者に対して再発防止のためのトレーニングを検討しましょう。
Q: 権限セットとプロファイルのどちらを確認すべきですか?
両方を確認します。プロファイルで許可していても権限セットで制限している場合、権限セットの設定が優先されます。逆に権限セットで許可していてもプロファイルで制限していれば、プロファイルが優先されるわけではなく、どちらか一方に「表示不可」があればその項目は見えなくなります。したがって、プロファイルと権限セットの両方で該当項目のFLSが適切に設定されているか確認する必要があります。
まとめ
Salesforceの項目レベルセキュリティに関する問題は、監査ログと項目履歴を適切に活用することで原因を迅速に特定できます。監査ログはFLS設定変更の証跡として、項目履歴は実際のデータ変更の証跡として役立ちます。両者を組み合わせて使うことで、権限の変更がいつ行われたのか、またその変更が意図したものかどうかを判断できます。もし監査ログに記録がなければ、保存期間切れやそもそも変更がなかった可能性を考慮し、さらに管理者と連携して調査を進めてください。日頃から監査ログのエクスポートや項目履歴の有効化を徹底することで、トラブルシューティングの精度が格段に向上します。
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
