Salesforce アクセス権限 ガイド
目次
1. アクセス権限の全体像
Salesforceのアクセス権限は、大きく2つのレイヤー(階層) で管理されます。
【レイヤー1】オブジェクト・項目レベルセキュリティ
"何に"アクセスできるかを制御
-
プロファイル
- 1ユーザーに1つ必須
- ベースとなる権限設定
-
権限セット
- 1ユーザーに複数設定可能
- プロファイルに追加する権限
制御内容:
- どのオブジェクトにアクセスできるか
- どの項目を参照・編集できるか
- どのシステム機能を使えるか
【レイヤー2】レコードレベルセキュリティ
"どのレコードに"アクセスできるかを制御
-
組織の共有設定(OWD)
- デフォルトのアクセス権を定義
-
ロール階層
- 上位ロールが下位ロールのレコードにアクセス
-
共有ルール
- 条件に基づいてアクセス権を付与
-
共有の直接設定
- 個別のレコードを手動で共有
制御内容:
- 自分以外のレコードにアクセスできるか
- チーム全体のレコードを見られるか
- 特定条件のレコードを共有できるか
アクセス権限の全体構造
| レイヤー | 制御対象 | 設定方法 | 特徴 |
|---|---|---|---|
| レイヤー1 | オブジェクト・項目 | プロファイル + 権限セット | "何に"アクセスできるか |
| レイヤー2 | レコード | 組織の共有設定 + ロール + 共有ルール | "どのレコードに"アクセスできるか |
重要な原則
Salesforceは「許可優勢」の仕組み
- 権限がない状態からスタート
- 各設定で権限を追加(緩和)していくのみ
- 一度付与された権限を制限することはできない
2. オブジェクト・項目レベルの権限
2.1 プロファイルと権限セットの比較
| 項目 | プロファイル | 権限セット |
|---|---|---|
| 付与の必須性 | 必須(1ユーザー1プロファイル) | 任意(複数付与可能) |
| 役割 | ベースとなる権限設定 | プロファイルへの追加権限 |
| 編集可否 | 標準プロファイルは多くの権限が編集不可ですが一部は編集可能です。実運用は標準プロファイルをクローンしてカスタムプロファイルで管理することが推奨です。 | 自由に作成・編集可能 |
| 推奨用途 | 最小限の権限を設定 | 業務ごとに必要な権限を追加 |
2.2 設定できる権限の種類
A. システム権限・一般ユーザー権限
例:
- ダッシュボードの管理
- カスタムレポートの作成
- リードの取引開始
- メールの送信
B. オブジェクト権限(CRUD権限)
| 権限 | 内容 |
|---|---|
| ☑ 参照(Read) | レコードの閲覧 |
| ☑ 作成(Create) | 新規レコードの作成 |
| ☑ 編集(Edit) | レコードの更新 |
| ☑ 削除(Delete) | レコードの削除 |
C. 項目レベルセキュリティ
各項目ごとに以下を設定:
| チェック項目 | 結果 |
|---|---|
| 参照可能 ☑ + 参照のみ ☐ | 参照・編集可能 |
| 参照可能 ☑ + 参照のみ ☑ | 参照のみ |
| 参照可能 ☐ + 参照のみ ☐ | 参照・編集不可 |
2.3 オブジェクト権限と項目レベルセキュリティの関係
重要:両方の権限が必要!
| オブジェクト権限 | 項目レベルセキュリティ | 結果 |
|---|---|---|
| 編集 ○ | 参照可能 ○ | ✅ 編集可能 |
| 編集 ○ | 参照可能 × | ❌ 編集不可(項目が非表示) |
| 編集 × | 参照可能 ○ | ❌ 編集不可(オブジェクト権限なし) |
| 参照 ○ | 参照のみ ○ | ✅ 参照のみ可能 |
実例:
ユーザーAの権限設定:
-
プロファイル:
- 取引先オブジェクト:編集権限あり
- 取引先のカスタム項目A:参照可能にチェックなし
-
権限セット:
- 取引先のカスタム項目A:参照可能にチェックあり
結果: 取引先は編集できるが、カスタム項目Aは参照のみ(項目レベルセキュリティで「参照のみ」設定のため)
3. レコードレベルの権限
レコードレベルセキュリティは、誰がどのレコードにアクセスできるかを制御します。
3.1 組織の共有設定(OWD:Organization-Wide Defaults)
最も基本となる設定で、全ユーザーのデフォルトアクセス権を定義します。
| 設定値 | 内容 |
|---|---|
| 非公開 | 所有者のみアクセス可能 |
| 公開/参照のみ | 全員が参照可能、編集は所有者のみ |
| 公開/参照・更新可能 | 全員が参照・編集可能 |
推奨アプローチ:
- まず組織の共有設定で厳しく制限
- 必要に応じて以下の方法で緩和
- ロール階層
- 共有ルール
- 共有の直接設定
3.2 ロール階層
上位ロールのユーザーは、下位ロールのユーザーが所有するレコードに自動的にアクセスできます。
例:営業部門のロール階層
営業部長
├─ 営業1課長
│ └─ 営業1課員
└─ 営業2課長
└─ 営業2課員
アクセス権:
- 営業部長:すべてのレコードにアクセス可能
- 営業1課長:営業1課員のレコードにアクセス可能
- 営業1課員:自分のレコードのみアクセス可能
特徴:
- 自動的にアクセス権が付与される
- 上位→下位の一方向のみ
- 同じロール内のユーザー間ではアクセス不可
- 標準オブジェクトでは無効化不可
- カスタムオブジェクトでは「階層を使用したアクセス許可」で制御可能
3.3 共有ルール
組織の共有設定の例外ルールを定義します。
2種類の共有ルール:
A. レコード所有者に基づくルール
特定のロール・グループが所有するレコードを他のユーザーと共有
例: 営業課ロールのユーザーが所有するレコードを監査チーム(公開グループ)に共有
B. 条件に基づくルール
項目の値などの条件に基づいてレコードを共有
例: 商談金額が1,000万円以上のレコードを大口顧客対応チーム(公開グループ)に共有
制約:
- 最大300件まで作成可能
- 権限を緩和するのみ(制限は不可)
- 大量レコードでは共有処理に時間がかかる可能性
3.4 共有の直接設定(手動共有)
特定のレコードを個別にユーザーやグループに共有します。
特徴:
- レコードの「共有」ボタンから設定
- 例外的な処理として使用
- レコード所有者が変更されると自動削除される
- 大量のレコードには不向き
4. 複数設定時の挙動と優先順位
4.1 プロファイルと権限セットの関係
【許可優勢の原則】
例1:オブジェクト権限
- プロファイル:取引先の参照のみ
- 権限セット:取引先の編集可能
- 結果: 編集可能 ✅
※どちらか一方でも許可があれば、その権限が付与される
例2:複数の権限セットがある場合
- 権限セット1:商談の参照のみ
- 権限セット2:商談の編集可能
- 権限セット3:商談の削除可能
- 結果: 参照・編集・削除すべて可能 ✅
4.2 レコードレベルセキュリティの優先順位
レコードアクセスは最も緩い設定が適用されます。
優先順位(緩い順):
- 所有者(フルアクセス) ← 最強
- 共有の直接設定
- 共有ルール
- ロール階層
- 組織の共有設定 ← 基本設定
実例:ユーザーBのレコードアクセス
設定:
- 組織の共有設定:非公開
- ロール階層:上位ロールのため下位のレコードにアクセス可
- 共有ルール:特定条件のレコードにアクセス可
結果:
- 自分のレコード:フルアクセス
- 下位ロールのレコード:参照・編集可能
- 共有ルール対象のレコード:参照・編集可能
- その他のレコード:アクセス不可
4.3 統合例:すべての権限を組み合わせた場合
ケーススタディ:ユーザーCが商談レコードXにアクセス
【ステップ1】オブジェクト権限チェック
- プロファイル:商談の参照 ○
- 権限セット:商談の編集 ○
- → オブジェクトレベル:編集可能 ✅
【ステップ2】項目レベルセキュリティ
- 商談金額項目:
- プロファイル:参照可能 ○
- 権限セット:参照可能 ○
- → 項目レベル:参照・編集可能 ✅
【ステップ3】レコードアクセス権
- 組織の共有設定:非公開 ×
- ロール階層:該当レコードの所有者が下位ロールのため ○
- → レコードレベル:アクセス可能 ✅
【最終結果】
ユーザーCは商談レコードXの商談金額項目を編集できる ✅
5. 権限の制限の厳しさ順
5.1 オブジェクト・項目レベル(厳しい→緩い)
-
【最も厳しい】権限なし
- オブジェクト自体にアクセス不可
-
オブジェクト参照権限のみ
- レコードの閲覧のみ可能
-
オブジェクト参照+項目レベルで一部非表示
- 特定の項目が見えない
-
オブジェクト編集権限あり+項目レベルで参照のみ
- オブジェクトは編集できるが特定項目は参照のみ
-
【最も緩い】すべての権限あり
- 参照・作成・編集・削除すべて可能
5.2 レコードレベル(厳しい→緩い)
-
【最も厳しい】非公開(所有者以外アクセス不可)
- 組織の共有設定:非公開
- ロール階層、共有ルールなし
-
非公開+ロール階層
- 上位ロールのみアクセス可能
-
非公開+共有ルール
- 特定条件を満たすユーザーがアクセス可能
-
公開/参照のみ
- 全員が参照可能、編集は所有者のみ
-
【最も緩い】公開/参照・更新可能
- 全員が参照・編集可能
5.3 制限の厳しさマトリクス
| 設定レベル | 最も厳しい | やや厳しい | 標準 | やや緩い | 最も緩い |
|---|---|---|---|---|---|
| オブジェクト権限 | 権限なし | 参照のみ | 参照+作成 | 参照+作成+編集 | CRUD全権限 |
| 項目レベル | 非表示 | - | 参照のみ | 参照可能 | 参照+編集 |
| 組織の共有設定 | 非公開 | - | 公開/参照のみ | - | 公開/参照・更新 |
| ロール階層 | 設定なし | - | - | - | 上位ロール多数 |
6. 実践的な設計指針
6.1 ベストプラクティス
原則1:最小権限の原則
手順:
- プロファイルは最小限の権限に設定
- 権限セットで必要な権限を追加
- 組織の共有設定は厳しく設定
- 必要に応じてロール階層・共有ルールで緩和
原則2:プロファイルの使い方
推奨:
- 「最小アクセス - Salesforce」プロファイルをコピー
- 標準プロファイルの直接使用は避ける
- プロファイルは役職ではなく、ライセンスや基本権限で分類
非推奨:
- 「営業部長」「広報部長」などの役職別プロファイル
- プロファイルの乱立
原則3:権限セットの使い方
推奨:
- 「支払い状況管理」「経費承認」など用途別に作成
- 業務単位で作成し、再利用性を高める
- 一時的な権限付与に活用
非推奨:
- 役職別の権限セット
- 特定個人専用の権限セット
原則4:新規項目作成時の注意
⚠ 項目作成時にプロファイルに自動で権限を付与しない
正しい手順:
- 項目作成時、プロファイルへの権限付与チェックを外す
- 権限セットで必要なユーザーにのみ権限を付与
6.2 トラブルシューティング
問題1:ユーザーがオブジェクトにアクセスできない
チェックポイント:
- ☑ プロファイルにオブジェクト権限があるか
- ☑ 権限セットでオブジェクト権限が付与されているか
- ☑ ライセンスが適切か
問題2:レコードが表示されない
チェックポイント:
- ☑ オブジェクト権限はあるか
- ☑ 組織の共有設定は適切か
- ☑ レコード所有者は誰か
- ☑ ロール階層で上位ロールか
- ☑ 共有ルールが適用されているか
問題3:項目が編集できない
チェックポイント:
- ☑ オブジェクトの編集権限はあるか
- ☑ 項目レベルセキュリティで「参照可能」にチェックがあるか
- ☑ ページレイアウトで項目が「参照のみ」になっていないか
- ☑ レコードへのアクセス権が「参照のみ」ではないか
6.3 設計チェックリスト
権限設計時のチェック項目:
- ☐ プロファイルは最小限の数に抑えているか
- ☐ 標準プロファイルを直接使用していないか
- ☐ 権限セットは用途別に作成しているか
- ☐ 組織の共有設定は適切に制限されているか
- ☐ ロール階層は組織構造を反映しているか
- ☐ 共有ルールは必要最小限か(300件以内)
- ☐ 項目作成時にプロファイルへの自動付与を避けているか
- ☐ 権限の棚卸しを定期的に実施しているか
まとめ
Salesforce権限設定の3つの鉄則
1. 許可優勢の原則
一度付与した権限は制限できない
2. 最小権限から始める
厳しく設定 → 必要に応じて緩和
3. 階層的に権限を設定
- オブジェクト・項目レベル:プロファイル → 権限セット
- レコードレベル:組織共有設定 → ロール → 共有ルール
権限設定の流れ
【ステップ1】オブジェクト・項目レベル
- プロファイルで基本権限を最小限に設定
- 権限セットで必要な権限を追加
【ステップ2】レコードレベル
- 組織の共有設定で厳しく制限
- ロール階層を設定
- 共有ルールで例外を定義
- 必要に応じて手動共有
【ステップ3】検証
- 代理ログインで動作確認
- 「共有」ボタンでアクセス状況を確認