Salesforce 基礎
データ共有モデル|誰がどのレコードを見られるか
「ユーザー A は山田家のレコードが見えるが、ユーザー B には見えない」 — このアクセス制御は Salesforce の データ共有モデル で決まります。プロファイル / 権限セットが「何ができるか」を決めるなら、共有モデルは「どのレコードに対してできるか」を決めます。
共有モデルの 4 つのレイヤー
┌────────────────────────────────────┐
│ ① 組織の共有設定 (OWD) │ ベースルール (デフォルトのアクセス)
├────────────────────────────────────┤
│ ② ロール階層 (Role Hierarchy) │ 上位ロールは下位のデータが見える
├────────────────────────────────────┤
│ ③ 共有ルール (Sharing Rule) │ 特定条件で追加共有
├────────────────────────────────────┤
│ ④ 個別共有 (Manual Sharing) │ 個別レコード単位の共有
└────────────────────────────────────┘
① 組織の共有設定 (Organization-Wide Default / OWD)
各オブジェクトに対して デフォルトのアクセスレベル を決めます。
Setup → セキュリティ → 共有設定
設定値
設定 | 意味 |
|---|---|
公開・参照・更新可能 | 全員が閲覧・編集できる |
公開・参照のみ | 全員が閲覧できるが編集は所有者のみ |
非公開 | 所有者と上位ロールだけ閲覧・編集可 |
推奨設定の指針
オブジェクト | 推奨 OWD |
|---|---|
家族 / 会社 (Account) | 公開・参照・更新可能 (葬儀社は当家情報を全員で共有) |
お客様 (Contact) | 親 (Account) の設定を継承 (推奨) |
施行情報 (Ceremony) | 公開・参照・更新可能 |
伝票 (Slip) | 公開・参照・更新可能 (経理は全担当の伝票を見る必要あり) |
入金 (Payment) | 公開・参照・更新可能 |
商品マスタ | 公開・参照のみ (担当者は閲覧可、編集は管理者のみ) |
ブリッジ葬儀パッケージは「葬儀社は当家データを社内で共有する」前提で、公開・参照・更新可能 が標準。プライバシーポリシー上の制限がある場合は組織で調整。
② ロール階層 (Role Hierarchy)
組織図のような 階層構造 で、上位ロールに所属するユーザーは、下位ロールの所有レコードが自動で見えます。
ブリッジ葬儀での想定
社長
├─ 営業部長
│ ├─ 本店マネージャー
│ │ ├─ 本店スタッフ A
│ │ └─ 本店スタッフ B
│ ├─ 札幌マネージャー
│ │ └─ 札幌スタッフ
│ └─ 仙台マネージャー
└─ 経理部長
└─ 経理スタッフ
この場合:
- 本店マネージャーは、本店スタッフ A・B の所有レコードが見える
- 営業部長は、全店舗のレコードが見える
- 札幌スタッフは、本店スタッフのレコードは見えない (横並び・OWD 非公開時)
ロールの設定
Setup → ユーザー → ロール
- 「新規ロール」 で各組織階層を作成
- ユーザー編集画面で 「ロール」項目 にロールを割り当て
OWD が「公開」なら、ロール階層に関係なく全員が全レコードを見られます。非公開 のときに初めてロール階層が効きます。
③ 共有ルール (Sharing Rule)
特定の条件に合うレコードを、特定のロール / 公開グループ / プロファイル に追加共有するルール。
例: 経理部に全伝票を共有
OWD が「非公開」の場合でも、共有ルールで「伝票はすべて経理部ロールに参照・編集権を付与」と定義できる。
設定
Setup → セキュリティ → 共有設定 → [オブジェクト] → 共有ルール → 新規
- 共有元: 「すべてのレコード」 or 「条件マッチ」
- 共有先: ユーザー / ロール / 公開グループ
- アクセスレベル: 参照のみ / 参照・編集
④ 個別共有 (Manual Sharing)
個別のレコードを、特定のユーザーに 手動で共有 します。
レコード詳細画面 → 共有設定 → 共有追加
ユースケース
- 「この施行は特別に営業部長に編集権を付与したい」
- 「経理外部委託の人に、特定 1 件の伝票だけ参照させたい」
注意
- 個別共有はメンテナンスが大変なため、例外用 として位置付け
- 規模が大きくなったら共有ルールに格上げ
項目レベルセキュリティ (Field-Level Security)
レコードへのアクセス権は OK でも、特定の項目だけは見せたくない / 編集させたくない ことがあります。
例:
- 入金レコードのうち、「カード手数料」項目 は経理だけが見られる
- お客様の 「特記事項 (機密)」項目 は管理者だけが見られる
設定
Setup → オブジェクトマネージャ → [オブジェクト] → 項目とリレーション → [項目] → 項目レベルセキュリティの設定
または、プロファイル / 権限セットの「項目アクセス」設定からも管理可。
「表示」と「読み取り専用」
設定 | 意味 |
|---|---|
表示 にチェック | この項目が見える |
読み取り専用 にチェック | 見えるけど編集できない |
両方オフ | 項目自体が画面に出ない (非表示) |
共有モデルとブリッジ葬儀の標準設定
ブリッジ葬儀パッケージは、葬儀社の標準的なデータアクセスを前提に設定されています。
標準的な設定
項目 | 標準値 |
|---|---|
OWD | ほぼ「公開・参照・更新可能」 |
ロール階層 | 組織で柔軟に設定 |
共有ルール | なし (デフォルト共有で足りる) |
項目レベルセキュリティ | パッケージ側で機密項目は管理者のみ |
組織でのカスタマイズ余地
- 個人情報保護を強化したい → 一部オブジェクトを OWD「非公開」に
- 支店間で完全分離 → ロール階層を支店単位に + OWD 「非公開」
- 特定担当のみ顧客情報を見られる → 共有ルールで限定的に配布
「見えるべきデータが見えない」トラブル対応
ユーザーから「○○のレコードが見えない / 編集できない」と相談を受けたら、上から順にチェック:
- プロファイル: そのオブジェクトの参照権はある?
- 権限セット: 必要な権限セットが割当てられている?
- OWD: そのオブジェクトの OWD は?
- ロール階層: 該当レコードの所有者と、現ユーザーの位置関係は?
- 共有ルール: 該当する共有ルールは?
- 項目レベルセキュリティ: 個別項目が非表示になっていない?
これを チェックリスト化 しておくと、対応スピードが上がります。
こんなときは
「このレコードを参照する権限がありません」エラー
- プロファイル / 権限セットの参照権を確認
- OWD が「非公開」なら、所有者の確認
「項目 XX が見つかりません」
- 項目レベルセキュリティで非表示になっている可能性
- 該当ユーザーのプロファイル / 権限セットで項目アクセスを確認
共有設定が複雑になってきた
- 公開グループ を活用 (個別ユーザーではなくグループで共有)
- 権限セットグループ で権限管理を統合
- ドキュメント化 (誰がどのデータを見えるかをマトリクスで管理)
退職者のデータ
- ユーザーを 無効化 → ライセンスが空く
- 所有レコードはそのまま残る (履歴として必要)
- 必要に応じて所有権移管 (
Setup → データ → 一括移管で一括処理可)
共有モデルとパフォーマンス
複雑な共有 (大量の共有ルール + 細かい階層) は 保存時の処理が重く なります。
- OWD はできるだけシンプルに (公開ベースが速い)
- ロール階層は必要最小限の深さ (4-5 段階以内)
- 共有ルールは多すぎないように
次に進む
- レポートとダッシュボード — 集計データの可視化
- ユーザー・プロファイル・権限セット — 権限の基礎
📅 最終更新日: 2026-06-16