Salesforceを運用していると、ロール階層で設定したアクセス権限が期待通りに反映されないことがあります。例えば、上位ロールのユーザーが下位ロールのレコードを参照できない、または逆に参照範囲が広すぎるといったケースです。このような問題の原因は、ロール階層そのものだけでなく、権限セットや共有設定が影響しているケースがほとんどです。本記事では、ロール階層が想定と違う場合に、権限セットと共有設定の観点から原因を切り分け、適切な修正を行う方法を具体的に解説します。
【要点】この記事で確認すること
- 最初に見る場所: 問題を確認するには、まず「設定」→「ユーザー」→「権限セット」と「共有設定」を開き、該当オブジェクトの権限がロール階層より優先されていないかをチェックします。
- 切り分けの軸: ロール階層によるアクセス権と、権限セット・共有ルールによる明示的な許可/制限を比較します。権限セットは「許可」、共有ルールは「条件による許可」であり、ロール階層は「上位ロールは下位ロールのデータを参照できる」というデフォルト動作です。
- 注意点: 会社のSalesforce組織では、管理者以外が権限セットや共有設定を変更すると、意図せずデータアクセスが広がるリスクがあります。変更を行う前に必ず管理者へ確認し、影響範囲を事前に評価してください。
ADVERTISEMENT
目次
ロール階層が想定通りに動作しない原因
ロール階層は、上位ロールのユーザーが下位ロールのユーザーが所有するレコードに対して、デフォルトで「参照」以上の権限を持つ仕組みです。しかし、この動作が期待通りにならない主な原因として、以下の3つが挙げられます。
- 権限セットによる上書き: 権限セットで「参照すべて」や「編集すべて」といったオブジェクト権限を付与すると、ロール階層の制限が無視され、すべてのレコードにアクセスできるようになります。逆に、権限セットで「最小アクセス権限」しか付与していない場合、ロール階層によるアクセスが阻害されることはありませんが、オブジェクト権限そのものが不足しているとレコード自体が見えません。
- 共有設定の影響: 共有ルールや手動共有、公開グループによる共有が設定されている場合、ロール階層よりもそれらの設定が優先されるケースがあります。特に、「ロール階層を使用しない」設定がオブジェクトごとに有効になっていると、ロール階層によるアクセス権が完全に無効化されます。
- ロール階層そのものの誤り: ロールの割り当てが間違っている、ロール階層自体が正しく構成されていない(例えば、上位ロールと下位ロールの関係が逆になっている)場合も、想定と異なる動作を引き起こします。
これらの原因を切り分けるためには、権限セットと共有設定を個別に確認する必要があります。以下で具体的な確認手順を紹介します。
権限セットの設定を確認する
権限セットの基本とロール階層への影響
権限セットは、ユーザーに追加の権限を付与するための仕組みです。ロール階層は組織全体のデータアクセス構造を定義しますが、権限セットはユーザー個別に「許可」を追加します。そのため、権限セットで「すべてのデータの参照」や「すべてのデータの編集」を有効にすると、ロール階層の制限を超えて全レコードにアクセスできるようになります。逆に、権限セットで「標準」権限のみを付与している場合は、ロール階層の範囲内でのアクセスに制限されます。
権限セットの設定確認手順
- 「設定」画面を開き、クイック検索ボックスに「権限セット」と入力して「権限セット」をクリックします。
- 問題が発生しているユーザーに割り当てられている権限セットの一覧を確認します。「割り当てられたユーザー」から該当ユーザーを選択し、権限セットの名前をクリックします。
- 権限セットの詳細画面で「オブジェクト設定」セクションを開き、該当オブジェクト(例:商談、取引先など)の権限を確認します。「参照すべて」や「編集すべて」といった権限が有効になっていないかチェックします。
- もし「参照すべて」が有効になっている場合、その権限セットを割り当てられたユーザーはロール階層に関係なく、すべてのレコードを参照できます。これが想定外のアクセスを生んでいる可能性があります。
- 権限セットの変更が必要な場合は、管理者に連絡して適切な権限セットを新規作成するか、既存の権限セットを編集してもらいます。
権限セットはロール階層より優先されるため、まずは権限セットの設定が意図通りかどうかを確認することが重要です。
共有設定の確認
共有設定の種類とロール階層への影響
Salesforceの共有設定には、「共有ルール」「手動共有」「公開グループ」などがあります。これらの設定は、ロール階層とは独立してレコードへのアクセス権を付与または制限します。特に、「ロール階層を使用しない」というオプションが有効になっているオブジェクトでは、ロール階層によるアクセス権が完全に無効になり、共有ルールや権限セットのみでアクセスが制御されます。
共有設定の確認手順
- 「設定」→「セキュリティ」→「共有設定」を開きます。または、クイック検索で「共有設定」と入力します。
- 該当オブジェクト(例:商談)の行を見つけ、「ロール階層を使用」のチェックがオンになっているか確認します。オフになっている場合、ロール階層は無効です。
- 共有ルールが設定されている場合、そのルールがどのような条件でアクセス権を付与しているかを確認します。例えば、「商談所有者のロールがセールス長の場合、マーケティングロールのメンバーに参照権限を付与する」といったルールがあります。
- 手動共有や公開グループによる共有も確認します。ユーザーが自分でレコードを共有している場合、そのエントリがアクセスに影響します。
- 共有設定を変更する必要がある場合は、管理者と相談して適切なルールを修正または追加します。
ロール階層と権限セット・共有設定の比較表
以下の表は、ロール階層、権限セット、共有設定の違いとアクセス権への影響をまとめたものです。
| 項目 | ロール階層 | 権限セット | 共有設定(ルール、手動等) |
|---|---|---|---|
| アクセス範囲 | 上位ロールは下位ロールの所有レコードにアクセス可能(オブジェクト設定に依存) | 割り当てられた権限に応じて、全レコードまたは制限付きアクセス | 条件に合致するレコードに対してアクセス権を付与 |
| 優先順位 | 基本だが、権限セットや共有設定で上書き可能 | ロール階層より優先(特に「参照すべて」等) | ロール階層より優先(条件一致時) |
| 設定場所 | 「設定」→「ユーザー」→「ロール」 | 「設定」→「権限セット」 | 「設定」→「共有設定」またはレコード詳細の「共有」 |
| 影響するデータ | 下位ロールが所有するレコード | 指定されたオブジェクト全体 | 条件に合致する特定のレコード |
失敗パターンとトラブルシューティング
権限セットの見落とし
よくある失敗パターンとして、管理者がうっかり「参照すべて」権限を含む権限セットを多くのユーザーに割り当ててしまうケースがあります。これにより、ロール階層の制限が無視され、本来見えなくてよいレコードまで表示されてしまいます。例えば、営業部長ロールのユーザーに「商談の参照すべて」が付与されていると、他の部門の商談もすべて見えてしまいます。この場合、権限セットから該当権限を削除するか、権限セットを適切なものに変更します。
共有設定の優先順位の誤解
もう一つのパターンは、共有ルールや手動共有がロール階層より優先されることを理解していないために発生する問題です。例えば、ロール階層で「上位ロールは下位ロールの商談を参照できる」と設定していても、共有ルールで「特定の公開グループのみ参照許可」と設定すると、その公開グループに属さない上位ロールのユーザーはレコードを見られなくなります。このような場合、共有ルールの条件や対象を再確認し、ロール階層と矛盾しないように調整します。
管理者へ伝える情報
この問題の調査結果を管理者に報告する際は、以下の情報を明確に伝えるとスムーズに対応してもらえます。
- 問題を再現する手順: どのユーザーが、どのオブジェクトのどのレコードを見ようとして問題が発生したかを具体的に記載します。
- 権限セットの現在の設定: 該当ユーザーに割り当てられている権限セット名と、オブジェクト権限の状態を添えます。
- 共有設定の状態: 該当オブジェクトの「ロール階層を使用」のチェックの有無、および有効な共有ルールの一覧を共有します。
- 期待する動作: 本来どのようなアクセス権限を実現したいのかを明確にします(例:上位ロールのみ下位ロールのレコードを参照可能にしたい)。
よくある質問(FAQ)
Q1: 権限セットで「参照すべて」を外したのに、まだ全レコードが見えるのはなぜですか?
他の権限セットやプロファイルで「参照すべて」が設定されている可能性があります。また、共有ルールや公開グループの設定も確認してください。
Q2: ロール階層は変更したのに、すぐに反映されません。なぜですか?
ロール階層の変更は即座に反映されますが、ユーザーのセッションが古い場合はログインし直す必要があります。また、権限セットや共有設定が上書きしていないか再確認してください。
Q3: 共有ルールとロール階層のどちらが優先されますか?
共有ルールはロール階層より優先されます。ただし、ロール階層自体が無効になっているオブジェクトでは、共有ルールだけが有効です。
まとめ
ロール階層が想定通りに動作しない場合、権限セットと共有設定が原因であることがほとんどです。まずは権限セットで「参照すべて」や「編集すべて」が付与されていないかを確認し、次に共有設定で「ロール階層を使用」が無効になっていないか、共有ルールが適切かをチェックします。問題の切り分けと修正は、管理者と連携しながら行うのが確実です。これらの設定を正しく管理することで、組織のデータアクセスを意図通りに制御できるようになります。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
