Salesforceのオブジェクト・レコード・項目のセキュリティを体系的に理解したい!
Salesforceでは、ユーザーごとに「どのデータにアクセスできるか」を細かく制御できます。
この制御は、大きく以下の3つのレベルで考えると理解しやすいです。
- オブジェクトレベルのセキュリティ → 「どのオブジェクトにアクセスできるか」
- レコードレベルのセキュリティ → 「どのレコードにアクセスできるか」
- 項目レベルのセキュリティ → 「どの項目(フィールド)にアクセスできるか」
1. オブジェクトレベルのセキュリティ
オブジェクト(例:取引先、商談、リードなど)に対するアクセス権限を制御します。
① ライセンス(License)
- ユーザーがどの機能やオブジェクトにアクセスできるかを決める最上位の設定。
- 例:「Salesforceライセンスを持っているユーザーは商談(Opportunity)を使えるが、Chatter Freeユーザーは使えない」
② プロファイル(Profile)
- ユーザーごとに基本の権限を設定するもの。
- オブジェクトの作成(Create)、参照(Read)、編集(Edit)、削除(Delete)などを管理。
- 例:「営業担当者は商談オブジェクトを編集できるが、カスタマーサポートは閲覧だけできる」
③ 権限セット(Permission Set)
- プロファイルに追加で権限を付与するもの(プロファイルの補助)。
- 例:「ある営業担当者だけ、特別に商談の削除権限を与えたい」
プロファイル vs 権限セット
| 機能 | プロファイル | 権限セット |
|---|---|---|
| 基本権限 | ユーザーに1つだけ設定可能 | 追加で付与可能(複数設定可) |
| 役割 | そのユーザーの基本ルール | 例外的なアクセスを与える |
| 例 | 営業担当者には「商談の閲覧・編集権限」 | 特定のユーザーだけ「商談の削除権限」 |
2. レコードレベルのセキュリティ
オブジェクトにアクセスできるユーザーのうち、どのレコードを閲覧・編集できるかを決める設定。
④ レコード所有権(Record Ownership)
- Salesforceでは「レコードの所有者」が基本的に編集権限を持つ。
- 所有者は1人だけ(ただし、キューに所有させることは可能)。
- 例:「商談のレコードを作成した営業担当者が、その商談の所有者になる」
⑤ ロール階層(Role Hierarchy)
- 上位のロールにいるユーザーが、下位のユーザーのデータを参照できる仕組み。
- ただし、参照権限のみで編集権限はつかない。
- 例:「部長は営業担当者が所有する商談を参照できるが、編集はできない」
⑥ 共有ルール(Sharing Rule)
- レコードの共有をルールとして設定するもの。
- 「特定の条件を満たすレコードは、特定のユーザー・グループに共有する」
- 例:「営業チーム全員が同じ業界の取引先情報を見られるようにする」
⑦ 共有の直接設定(Manual Sharing)
- 特定のレコードを個別にユーザーへ共有できる。
- 例:「営業担当Aが持つ商談を、特定のマネージャーだけに閲覧権限を与える」
ロール階層 vs 共有ルール vs 直接設定
| 機能 | ロール階層 | 共有ルール | 直接設定 |
|---|---|---|---|
| 基本動作 | 上位者が下位のデータを参照 | 条件に合うレコードを共有 | 個別のレコードを手動で共有 |
| 適用範囲 | 組織全体の階層に基づく | ルールで設定したグループ | 1つのレコード単位 |
| 例 | 部長が営業担当の商談を参照 | 全営業に特定の業界の取引先を共有 | AさんがBさんに特定の商談を共有 |
3. 項目レベルのセキュリティ(Field-Level Security, FLS)
オブジェクトやレコードにアクセスできるユーザーが、どの項目(フィールド)を参照・編集できるかを制御する。
⑧ 項目レベルセキュリティ(Field-Level Security, FLS)
- 特定のフィールドにアクセスできるかを制御する設定。
- 例:「営業担当者は取引先の『機密情報』フィールドを閲覧できないが、管理者は閲覧できる」
設定方法
✅ プロファイル → 「このプロファイルのユーザーはこのフィールドを編集できるか?」
✅ 権限セット → 「追加でこのフィールドの編集権限を与えたい」
試験対策!分かりやすいまとめ
| セキュリティレベル | 概要 | 設定方法 | 例 |
|---|---|---|---|
| オブジェクトレベル | どのオブジェクトにアクセスできるか | ライセンス、プロファイル、権限セット | 営業担当者は「商談」オブジェクトにアクセス可能 |
| レコードレベル | どのレコードを見たり編集できるか | レコード所有権、ロール階層、共有ルール、直接設定 | 営業担当者Aの商談は、部長も参照可能 |
| 項目レベル | どのフィールドを見たり編集できるか | 項目レベルセキュリティ(FLS) | 営業担当者は「機密情報」フィールドを見られない |
ポイント!
✅ プロファイルは「基本権限」、権限セットは「追加の権限」
✅ レコード所有者が基本的に編集権限を持つが、共有ルールやロール階層で他ユーザーに共有可能
✅ 項目レベルのセキュリティ(FLS)を設定すれば、データの機密性を高められる
これを理解すれば、Salesforceのデータアクセス制御をしっかりマスターできます! 🚀