Administrator 練習問題 Q160
管理者は、権限セットグループを含む管理パッケージをインストールしました。インストールされた権限セットグループには、いくつかのオブジェクトに対する削除アクセスが含まれており、管理者は、権限セットグループのユーザーがレコードを削除できないようにする必要があります。管理者はDeleteアクセスを制御するために何をすべきですか?
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:A. パーミッションセットグループでミューティングパーミッションセットを使用して、選択したパーミッションをミュートします。
解説
前提知識
権限セットと権限セットグループとは
権限セットは、プロファイルで与えた基本権限に対して、後から権限を「足す」仕組みです。権限セットで権限を引くことはできません。 権限セットグループは、複数の権限セットをバンドルして「職務単位」で割り当てられるようにしたものです。「サポートマネージャーセット」のように、必要な権限セットをまとめて付与できます。
管理パッケージとは
AppExchangeなどから導入する、ベンダーが作った封印済みの部品集です。重要なのは、中身を勝手に編集できないことです。パッケージに含まれる権限セットや権限セットグループを開いても、チェックボックスを外すことはできません。 ここが管理者を悩ませます。「パッケージの権限セットグループを使いたいけれど、中に入っている「すべてのデータの修正」だけは与えたくない」――という状況です。
ミューティング権限セットとは
権限セットグループの中でだけ、特定の権限を「消音(ミュート)」するための特殊な権限セットです。 仕組みはこうです。
- 権限セットグループに、ミューティング権限セットを追加する
- ミューティング権限セットの中で、消したい権限(例:すべてのデータの修正)にチェックを入れる
- そのグループを割り当てられたユーザーは、その権限だけが無効化された状態でグループを使える 重要なのは、元の権限セットを一切変更しないことです。パッケージの中身はそのままで、グループとしての実効権限だけを押さえます。だから、編集できないパッケージに対しても使えるのです。
⚠️ ミューティングが効くのは、その権限セットグループの中だけです。ユーザーが別のプロファイルや別の権限セットから同じ権限を得ている場合、そちらは残ります。
プロファイルとの関係
プロファイルは1ユーザーに1つだけ割り当てる権限の土台で、権限セットと権限セットグループは追加の権限を付与します。実効権限は付与元を合算して評価されるため、プロファイルで[削除]を外しても、権限セットグループから付与された[削除]は取り消せません。ミューティング権限セットは、関連するグループからの付与分だけを無効化します。
💡 プロファイルと権限セットの役割分担がまだモヤッとする方へ。基礎から整理した記事があります → プロファイルと権限セット:「できること」を決める2つの仕組み
設問の状況を分解する
- 管理者はパッケージされた権限セットグループを割り当てたい
- しかし、その中の一部の権限だけを除外したい ここで制約を思い出してください。パッケージの中身は編集できません。つまり「中の権限セットを開いてチェックを外す」という直接的な解決は取れません。 なおかつ、権限セットは原則として「足す」ことしかできません。「できあがっているものの一部だけを引きたい」という、例外的な要求。これに対応するために存在するのがミューティング権限セットです。
選択肢の検討
A. ミューティング権限セット → ⭕ 正解
パッケージの権限セットグループにミューティング権限セットを追加し、与えたくない権限にチェックを入れるだけです。パッケージの中身は一切変更せず、グループの実効権限だけを押さえられます。バージョンアップしてもミューティングの設定は自分のものとして残ります。
B. [削除]を選択しない新しい権限セットを作成する → ✕
通常の権限セットは権限を付与するための仕組みです。新しい権限セットで[削除]を未選択にしても、それは権限を与えないだけであり、パッケージの権限セットグループから付与された[削除]を拒否・上書きしません。
C. [削除]権限がロールアップされない新しいロールを作成する → ✕
ロールとロール階層は主にレコードへの可視性・アクセス範囲を制御します。オブジェクト権限の[削除]を権限セットグループから取り除く機能ではありません。レコードを削除するにはオブジェクトの[削除]権限に加えて対象レコードへの条件も満たす必要がありますが、ロールの作成は本問の付与済みオブジェクト権限を無効化しません。
D. プロファイルからオブジェクトの[削除]アクセスを外す → ✕
プロファイルで[削除]を外しても、権限セットグループから付与された[削除]は有効なままです。複数の付与元に同じ権限がある場合、すべての付与元から取り除く必要があります。本問では、対象グループからの付与分をミューティング権限セットで無効化します。
管理者としての対処手順
- [設定]→[権限セットグループ]で、対象のパッケージ済みグループを開く
- [ミューティング権限セット]の関連リストで[新規]をクリックする
- ミューティング権限セットに名前を付けて保存する
- システム権限やオブジェクト権限の一覧から、消したい権限にチェックを入れて保存する
- 対象ユーザーに権限セットグループを割り当てる
- [ユーザーの詳細]や権限の確認画面で、対象権限が付与されていないことを確認する
あわせて覚えておきたいポイント
| やりたいこと | 使うもの |
|---|---|
| 基本の権限を決める | プロファイル |
| 一部の人に権限を足す | 権限セット |
| 職務単位でまとめて付与する | 権限セットグループ |
| グループ内の一部権限を引く | ミューティング権限セット |
| 期間限定で権限を与える | 権限セットの有効期限付き割り当て |
- ミューティングは、依存関係のある権限にも影響します。親にあたる権限をミュートすると、それに依存する子の権限も使えなくなる場合があるので、導入後は実際の動作確認が必須です。
- 権限セットグループ内の付与分だけを除外したい場合はミューティング権限セットを検討します。ただし、プロファイル、別の権限セット、別の権限セットグループから同じ権限が付与されていないかも確認が必要です。
出典(Salesforce公式)
- Permission Set Groups from Managed Packages — 「パッケージされた権限セットグループの権限をミュートするには、ミューティング権限セットを作成する」(本問の決定的根拠)
- Mute Permissions in Salesforce Permission Set Groups(Trailhead) — [削除]オブジェクト権限を含むグループで、ミューティング権限セットによりその権限だけを無効化する公式例を裏付ける
- Revoke Permissions and Access — プロファイルや別の権限セットから付与された権限は、他の付与元で未選択にしても拒否されず、全付与元から取り除く必要があることを裏付ける
- Controlling Access Using the Role Hierarchy — ロール階層が主にレコードアクセスを上位へ拡張する仕組みであり、オブジェクト権限をミュートするものではないことを裏付ける
- Permission Set Group Muting Dependencies — ミュートした権限に依存する他の権限への影響について