結論:まずこれだけ覚える
📌 基本の共有モデルは、組織の共有設定(OWD)で基準を決め、ロール階層・共有ルール・手動共有・チームなどで必要なアクセスを追加する設計です。共有ルールはアクセスを追加するための機能であり、既存アクセスを取り消す用途には使いません。 まずこの基本形を理解します。そのうえで、権限セットに付与できる[すべてのレコードを参照]・[すべてのレコードを編集](旧称:[すべて表示]・[すべて変更])は共有設定を上書きでき、対応オブジェクトでは制限ルールが共有で得た参照範囲をさらに絞り込める、という例外も区別してください。
部品をひとつずつ理解する
組織の共有設定(OWD)とは
OWD(Organization-Wide Defaults/組織の共有設定)は、**オブジェクトごとの「初期値」**です。「取引先は非公開」と設定すると、原則として自分が所有するレコードしか見えなくなります。 OWDはレコードアクセスのベースラインです。ロール階層、共有ルール、手動共有、チームなどの主要な共有機能は、この基準より広いアクセスを追加します。一方、制限ルールは取得済みの参照範囲をさらに絞り込み、[すべてのレコードを参照]などの強力な権限は共有設定を上書きします。 主な設定値は次のとおりです。
| 設定値 | 意味 |
|---|---|
| 非公開 | 所有者を基準とし、ロール階層、共有、チーム、強力な権限などで追加されたユーザーがアクセスできる |
| 公開/参照のみ | 全員が見られるが、編集は所有者だけ |
| 公開/参照・更新可能 | 全員が見て編集できる |
ロール階層とは
ロール(役割)は組織図に近い上下関係で、ロール階層は「下位ロールのユーザーが所有する、または共有されているレコードへ上位ロールがアクセスできる」という縦のアクセスを自動で作ります。 注意点は2つです。
- 効くのは縦方向だけです。同じ階層に並ぶ「営業チームA」と「営業チームB」の間には、ロール階層は何もしてくれません。
- ロールはプロファイルとは別物です。プロファイルは「どのオブジェクトを触れるか」、ロールは「どのレコードが見えるか」を決めます。
共有ルールとは
共有ルールは、ロール階層では届かない横方向のアクセスを、自動で開けるための例外規則です。2種類あります。
| 種類 | 開ける条件 | 典型例 |
|---|---|---|
| 所有者ベースの共有ルール | 誰が所有しているか(ロール・公開グループなど) | 営業チームAロールが所有する商談を、営業チームBロールに共有する |
| 条件(基準)ベースの共有ルール | レコードの項目値 | 「地域=西日本」の取引先を、西日本チームに共有する |
⚠️ 問題文が「〜が所有するレコード」と言っていたら所有者ベース、「〜という値のレコード」と言っていたら条件ベースです。ここを読み分けるだけで正答率が上がります。
手動共有とは
レコードを1件ずつ、指定した相手に開ける方法です。レコード所有者、所有者より上位のロールにいるユーザー、対象オブジェクトの[すべてのレコードを編集]などを持つユーザーが実行できます。例外中の例外であり、恒常的なルールには使いません。
チーム(取引先チーム・商談チーム・ケースチーム)とは
1件のレコードに対して、役割つきで協力者を並べる仕組みです。共有ルールと違い、「担当営業=編集」「サポート担当=参照のみ」のように、メンバーごとに異なるアクセスレベルを設定できます。 取引先チームでは、取引先そのものに加えて、関連する商談・ケースへのアクセスレベルも個別に指定できます。ユーザーが自分の「デフォルトの取引先チーム」を登録すると、個別の取引先へまとめて追加できます。さらに、ユーザーが自動追加オプションを選択すれば、自分が作成した取引先や自分へ移行された取引先へ自動追加できます。
公開グループとは
共有ルールの対象には「ロール」だけでなく「公開グループ」も指定できます。公開グループは、ロールやプロファイルが異なるユーザーを目的別に束ねた入れ物です。「役員レポート閲覧グループ」のような箱を作って共有ルールを1本引いておけば、人の入れ替えはグループのメンバー編集だけで済みます。
権限セット・プロファイルとの違い(最頻出の混同)
- 権限セット/プロファイル:「そのオブジェクトを触ってよいか」というオブジェクトレベルの話(作成・参照・編集・削除の可否、項目の可視性)
- 共有設定(OWD・ロール階層・共有ルール):「どのレコードを触ってよいか」というレコードレベルの話
どれを選ぶかの判断表
| やりたいこと | 使うもの |
|---|---|
| 全員の初期状態を決めたい | 組織の共有設定(OWD) |
| 上司に部下のレコードを見せたい | ロール階層 |
| 別部署にまとめて見せたい(所有者で判断) | 所有者ベースの共有ルール |
| 特定条件のレコードだけ見せたい | 条件ベースの共有ルール |
| このレコードだけ例外的に見せたい | 手動共有 |
| 1件の取引先に役割つきの協力者を並べたい | 取引先チーム |
よくある質問
Q. 権限セットでレコードアクセスを付与できますか
通常の[参照]・[編集]などのオブジェクト権限だけでは、特定のレコードを選んで共有することはできません。特定の所有者・条件・ユーザー群にレコードアクセスを追加する場合は、共有ルールなどのレコード共有機能を使用します。ただし、権限セットでオブジェクトの[すべてのレコードを参照]または[すべてのレコードを編集]を付与すると、そのオブジェクトの共有設定を上書きして全レコードへアクセスできます。
Q. 共有ルールでアクセスを制限できますか
できません。共有ルールはアクセスを追加する機能です。基準アクセスを厳しくする場合はOWDを見直します。また、対応するオブジェクトとエディションでは、制限ルールを使用して、OWDや共有ルールなどで得た参照アクセスを条件でさらに絞り込めます。
Q. ロール階層を組み替えれば横の共有もできませんか
技術的には片方をもう片方の下に置けば見えますが、それは組織図の意味を壊す設計です。同列のチーム同士を結ぶのは共有ルールの仕事です。
Q. 標準オブジェクトの階層アクセスは無効化できますか
できません。ロール階層による自動アクセスの無効化([階層を使用したアクセス許可]のオフ)は、カスタムオブジェクトに対してのみ可能です。カスタムオブジェクトで無効化しても、共有ルールや強力な参照権限など別経路のアクセスは残ります。
Q. 制限ルールはすべてのユーザーに効きますか
効きません。制限ルールは参照範囲を条件で絞り込めますが、[すべてのレコードを参照/編集]や[すべてのデータを参照/編集]を持つユーザーには適用されません。
出典(Salesforce公式)
- Sharing and Record Access Features — 「組織の共有設定は各オブジェクトのアクセスのベースラインを与える」「ロール階層は、階層上の部下が所有または共有されているレコードへのアクセスを自動的に付与する」
- Create Owner-Based Sharing Rules — 「所有者ベースの共有ルールは、特定のユーザーが所有するレコードへのアクセスを開放する」
- Sharing Rule Types — 共有ルールに所有者ベースと条件ベースがあることの根拠
- Considerations for Using Account Teams — 「チームメンバーのアクセスは、組織の共有設定と同じか、それより制限の緩いものでなければならない」
- Set Up a Default Account Team — 「個人設定の[ユーザーの詳細]→[デフォルトの取引先チーム]でメンバーを追加し、各ユーザーの取引先および関連する商談・ケースへのアクセスを選択する」
- Define Sharing Rules(Trailhead) — 共有ルールを使って、ロール階層の構造を超えてアクセスを拡張することを裏付ける。
- “View All” and “Modify All” Permissions Overview — [すべてのレコードを参照]と[すべてのレコードを編集]が、対象オブジェクトの共有ルールと共有設定を無視して全レコードへのアクセスを付与することを裏付ける。
- Restriction Rules — 対応オブジェクトでは、制限ルールが共有設定などで得たレコードアクセスを条件でさらに絞り込むことを裏付ける。