Salesforceでレコードを閲覧できるのは誰か?アクセス権の決まり方
Salesforceがレコードの閲覧可否をどう決めるかの実践ガイド。組織のデフォルト、ロール階層、共有ルール、手動共有、チーム、テリトリーを解説します。
Salesforce組織を長く管理していると、いずれ誰かにこう尋ねられます。「この人はどうしてあのレコードを見られるのですか?」 正直に答えるなら、Salesforceはレコードの可視性を一か所で決めているわけではありません。複数の仕組みを互いに積み重ね、それらすべての和集合を付与しているのです。
このガイドでは、Salesforceが評価する順序に沿って各レイヤーを解説します。これにより、あらゆる「誰が何を見られるか」という問いを、原理原則から考えられるようになります。
すべてを説明するただ一つのルール
Salesforceの共有は加算的であり、最も緩い設定が勝つ仕組みです。組織の共有設定(OWD)が定めるベースラインから出発し、それ以外のすべての仕組みはその上にアクセスを追加することしかできません。標準の共有モデルでは、アクセスを取り上げるものは何もありません。
ですから、なぜユーザーがレコードを見られるのかを追跡するとき、許可するルールとブロックするルールを探しているわけではありません。探しているのはたった一つの付与です。一つあれば十分だからです。
たった一つの仕組みでもアクセスを付与すれば、そのユーザーはアクセスできます。それだけです。
レイヤー1 — オブジェクト権限は「どのレコードか」ではなく「そもそも可能か」を決める
共有が検討される以前に、ユーザーはプロファイルまたは権限セットを通じてオブジェクトレベルのアクセス権を持っている必要があります。
- オブジェクトに対する参照/作成/編集/削除。
- オブジェクトに対するすべて参照またはすべて編集。これらはそのオブジェクトの共有を完全に無視します。
ユーザーが商談(Opportunity)に対する参照権限を持っていなければ、世界中のどんな共有ルールをもってしても商談を表示することはできません。オブジェクト権限はゲートであり、共有モデルはそこを通過した後に起こることです。
レイヤー2 — 組織の共有設定が最低ラインを定める
組織の共有設定(OWD)は、各オブジェクトに対する最も制限の厳しいベースラインを定義します。
- 非公開 — レコード所有者(とロール階層上でその上位にいる人)だけが見られる。
- 公開/参照のみ — 全員が参照でき、編集できるのは所有者だけ。
- 公開/参照・更新 — 全員が参照・編集できる。
以降のすべては、特定の人々に対してこの最低ラインより上にアクセスを広げるために存在します。
レイヤー3 — ロール階層はアクセスを上方向へ巻き上げる
オブジェクトで階層を使用したアクセス権の付与が有効になっていると、ロール階層上でレコード所有者より上位にいる人は誰でも、所有者のアクセス権を継承します。これが、営業マネージャーが明示的なルールなしに自分の担当者の商談を見られる理由であり、想定外のアクセスの最も一般的な原因です。
レイヤー4 — 共有ルールはアクセスを横方向へ開く
共有ルールは、階層を横断して、同僚や別の枝にいる人々へとアクセスを拡張します。
- 所有者ベース — あるユーザーグループが所有するレコードを、別のグループと共有する。
- 条件ベース — 項目値(例:
Region = EMEA)に一致するレコードを、グループ、ロール、またはテリトリーと共有する。
どちらも一度に複数のユーザーグループへアクセスを付与するため、「多すぎる」人がレコードを見られるとき、広すぎる条件ベースのルールがよくある原因となります。
レイヤー5 — 手動共有と暗黙の共有
- 手動共有 — レコード上の共有ボタン。特定の一人のユーザーまたはグループに、その一つのレコードへのアクセスを付与する。
- 暗黙の共有 — 組み込みの動作。たとえば、親の取引先へのアクセスが、その子のケースや取引先責任者への限定的なアクセスを意味する、といったもの。
- Apex管理共有 — カスタムコードによってプログラムで作成される共有。多くの場合、最も見つけにくい。
レイヤー6 — チームとテリトリー
- 取引先チーム、商談チーム、ケースチームは、リストされたチームメンバーにそのレコードへのアクセスを付与する。
- エンタープライズテリトリー管理は、ユーザーとレコードが属するテリトリーに基づいてアクセスを付与する。
まとめ:あらゆるアクセスを追跡する方法
「なぜこのユーザーはこのレコードを見られるのか」に答えるには、付与が見つかるまで各レイヤーを確認していきます。
- ユーザーはプロファイル/権限セットを通じてオブジェクトの参照(または「すべて参照」)を持っているか?
- このオブジェクトのOWDはすでに公開になっているか?
- ロール階層上で所有者より上位にいるか?
- いずれかの共有ルールに含まれているか?
- 手動、暗黙、またはApexによる共有はあるか?
- チームに入っているか、または一致するテリトリーに属しているか?
最初の「はい」があなたの答えです。そして、答えは一つとは限らないことを忘れないでください。この追跡のステップ・バイ・ステップ版については、ユーザーが見えてはいけないレコードを見られるをご覧ください。ファイルはレコードのアクセス権を継承するため、誰がファイルを見られるかも同じモデルに従います。
これこそ、AgentForceAccessが自動化している作業そのものです。なぜユーザーがレコードを見られるのかを平易な言葉で尋ねるだけで、上記のすべてのレイヤーを追跡し、それを許可している正確な付与を提示します。
よくある質問
システム管理者は共有モデルを迂回しますか?
はい。システム管理者プロファイルにデフォルトで付与される「すべてのデータの参照」「すべてのデータの編集」権限は、組織の共有設定(OWD)、共有ルール、ロール階層をすべて完全に迂回します。オブジェクトレベルの「すべて参照」「すべて編集」は、単一のオブジェクトに対して同じことを行います。
同じレコードに2つの共有ルールが適用される場合、どちらが優先されますか?
最も緩い方です。Salesforceのアクセスは加算的で、適用されるすべてのルールの和集合を付与します。ルールを追加することでアクセスが減ることは決してなく、広がるだけです。
なぜマネージャーは、明示的に付与されていないレコードを見られるのですか?
そのオブジェクトで「階層を使用したアクセス権の付与」が有効になっている限り、ロール階層によって、マネージャーは階層上で自分より下位のユーザーが所有する(または共有された)レコードへのアクセス権を得ます。
オブジェクト権限と共有設定は同じことをするのですか?
いいえ。オブジェクト権限(プロファイルおよび権限セット上)は、ユーザーがそのオブジェクトにそもそもアクセスできるか、そこで何ができるかを決めます。共有モデルは、そのオブジェクトのどの具体的なレコードを見られるかを決めます。
あなたの組織で試してみる
AgentForceAccessは、あらゆるユーザーがあらゆるレコードやファイルを見られる理由を、Salesforceのすべての共有の仕組みを横断して、わかりやすい言葉で説明します。
先行アクセスを申し込む