結論:まずこれだけ覚える
Salesforceでは、ユーザー1人にプロファイルを1つ割り当て、必要な権限を複数の権限セットで追加するのが基本です。
- プロファイル:ユーザーの基本設定。ログイン制限、既定アプリ、既定レコードタイプ、ページレイアウトなど、プロファイルでしか管理できない設定も含む
- 権限セット:オブジェクト権限、項目権限、システム権限、追加のカスタムレコードタイプなどをユーザーへ追加する プロファイルと権限セットは、どちらも原則として権限を付与する仕組みです。どこか一つで権限を外しても、別のプロファイル、権限セット、権限セットグループなどから同じ権限が付与されていれば、ユーザーのアクセスは残ります。
プロファイルとは
プロファイルは、すべてのユーザーに必ず1つ割り当てる基本設定です。 代表的な設定は次のとおりです。
- オブジェクト権限、項目レベルセキュリティ、システム権限
- ログイン時間帯とログインIPアドレス範囲
- 既定のアプリケーション
- 既定のレコードタイプ
- レコードタイプとページレイアウトの割り当て プロファイルは、権限だけでなくユーザーの既定動作や画面割り当ても持つ点が、権限セットとの大きな違いです。
標準プロファイルの扱い
Salesforceが用意する標準プロファイルでは、オブジェクト権限など多くの権限設定が固定されています。権限を追加する場合は権限セットを使用し、プロファイル固有の設定を変更する必要がある場合は、必要性を確認したうえでカスタムプロファイルを使用します。
権限セットとは
権限セットは、ユーザーへ追加のアクセスを付与する設定です。ユーザーには複数の権限セットを割り当てられます。ただし、割り当て可能な内容はユーザーライセンスや権限セットライセンスなどの条件に従います。 権限セットで主に追加できるものは次のとおりです。
- オブジェクトの作成・参照・編集・削除権限
- 項目の参照・編集権限
- システム権限とユーザー権限
- アプリケーションやタブへのアクセス
- 追加のカスタムレコードタイプへのアクセス 一方、既定レコードタイプやページレイアウトは権限セットでは指定しません。これらはプロファイル側で管理します。
プロファイルと権限セットの比較
| 観点 | プロファイル | 権限セット |
|---|---|---|
| 1ユーザーへの割り当て | 必ず1つ | 複数可 |
| オブジェクト・項目・システム権限 | 付与できる | 追加で付与できる |
| ログイン時間帯 | 設定できる | 設定しない |
| 既定アプリ・既定レコードタイプ | 設定できる | 設定しない |
| ページレイアウト割り当て | プロファイルとレコードタイプの組み合わせで設定 | 設定しない |
| カスタムレコードタイプへの追加アクセス | 設定できる | 付与できる |
| 明示的な拒否 | できない | できない |
権限は「足し算」で判断する
ユーザーの最終的な権限は、プロファイル、権限セット、権限セットグループなどから付与されたアクセスを合わせて判断します。 たとえば、プロファイルから[商談を削除]権限を外しても、別の権限セットが同じ権限を付与していれば、そのユーザーは引き続き商談を削除できます。アクセスを取り消すときは、その権限を付与しているすべての経路を確認する必要があります。 権限セットグループのミューティング権限セットは、グループ内の権限セットからの付与を抑えるための仕組みです。ただし、プロファイルや別の権限セットなど、グループ外の経路から付与された権限まで拒否するものではありません。
推奨される設計
Salesforceは、権限の少ないプロファイルを土台にし、権限セットと権限セットグループで職務ごとのアクセスを付与する設計を推奨しています。 実務では次の順で考えます。
- ユーザーライセンスに合う最小限のプロファイルを選ぶ
- 職務ごとの権限を小さな権限セットに分ける
- 複数の権限セットを権限セットグループにまとめる
- ユーザーへ必要なグループや個別権限セットを割り当てる
- [ユーザーアクセスの概要]などで、実効アクセスの付与元を確認する
設定手順:権限セットでオブジェクトへのアクセスを追加する
- [設定]のクイック検索で「権限セット」と入力し、[権限セット]を開く
- [新規]をクリックし、ラベル・API参照名を入力して保存する
- [オブジェクト設定]を開き、対象オブジェクトを選ぶ
- [編集]で必要な権限(参照・作成・編集・削除)とタブの設定を有効にして保存する
- 見せたい項目があれば、同じオブジェクト設定の中で項目権限も設定する
- [割り当ての管理]から対象ユーザーを追加する
新しいプロファイルを作るのはどんなときか
使うアプリ、タブ、レコードタイプ、ページレイアウトなど、土台そのものが職務として違うときです。「この5人だけリードも扱う」程度なら、権限セットを割り当てるのが正解です。プロファイルを増やすと、同じプロファイルを共有する全員へ影響が及ぶ変更を避けられなくなり、管理対象が増殖します。
レコードアクセスとの切り分け
プロファイルと権限セットは、主に何を実行できるかを制御します。一方、特定のレコードを参照・編集できるかは、組織の共有設定、ロール階層、共有ルール、チーム、手動共有なども関係します。 ロール階層は、上位ユーザーに下位ユーザー所有レコードへのアクセスを広げることがありますが、オブジェクト権限や項目権限を付与する仕組みではありません。ユーザーには、先にプロファイルまたは権限セットによるオブジェクト権限が必要です。
「すべて表示」「すべて変更」の範囲
| 権限 | 範囲 |
|---|---|
| オブジェクトの[すべて表示] | そのオブジェクトの全レコードを参照できる。共有設定を上書きする |
| オブジェクトの[すべて変更] | そのオブジェクトの全レコードを参照・編集・削除できる。共有設定を上書きする |
| [すべてのデータの参照] | 組織全体のデータへの広い参照アクセスを付与する |
| [すべてのデータの変更] | 組織全体のデータへの非常に広い変更アクセスを付与する |
必要なオブジェクトだけにアクセスを広げる場合は、組織全体の権限よりも、オブジェクト単位の[すべて表示]または[すべて変更]を優先して検討します。
よくある誤解
権限セットでアクセスを取り上げられる
取り上げられません。権限セットは追加アクセスを付与します。アクセスをなくすには、付与元をすべて特定して、その割り当てまたは権限定義を見直します。
レコードタイプはプロファイルでしか割り当てられない
現在は、カスタムレコードタイプへの追加アクセスを権限セットでも付与できます。ただし、既定レコードタイプとページレイアウト割り当てはプロファイルで設定します。
ロールを付ければオブジェクトを編集できる
ロールは主にレコード共有に関係します。オブジェクトの編集権限や項目権限は、プロファイルまたは権限セットから付与します。
すべての機能アクセスがプロファイルか権限セットにある
ユーザーライセンス、権限セットライセンス、ユーザーレコード上の機能設定など、別の前提が必要な機能もあります。機能を利用できない場合は、権限だけでなくライセンスとユーザー設定も確認します。
試験での判別ポイント
- 「一部のユーザーに追加権限を与える」→ 権限セット
- 「職務ごとの権限をまとめて割り当てる」→ 権限セットグループ
- 「既定レコードタイプやページレイアウトを決める」→ プロファイル
- 「部下の所有レコードを上司に見せる」→ ロール階層
- 「共有設定を無視して特定オブジェクトの全レコードを操作する」→ [すべて表示]または[すべて変更]
出典(Salesforce公式)
- Permissions and Access Settings — ユーザーには1つのプロファイルと複数の権限セットを割り当てられ、プロファイルと権限セットがオブジェクト・項目・システム権限を付与することを裏付けています。
- Permission Set Best Practices — 最小限のプロファイルを土台にし、権限セットと権限セットグループでアクセスを管理する推奨設計を裏付けています。
- Revoke Permissions and Access — Salesforceのアクセス設定は原則として権限を付与するものであり、アクセスを取り消すにはすべての付与元を確認する必要があることを裏付けています。
- Edit Object Permissions in Profiles — 標準プロファイルでは標準オブジェクトの権限を編集できないことを裏付けています。
- Considerations for Managing Record Type Access — プロファイルは既定レコードタイプとページレイアウトを管理し、権限セットは追加のカスタムレコードタイプへのアクセスを付与できることを裏付けています。
- View All and Modify All Permissions — オブジェクト単位の[すべて表示]と[すべて変更]が共有設定を上書きし、組織全体の権限より限定的な代替になることを裏付けています。