権限セットグループの権限をミュートする
学習の目的
この単元を完了すると、次のことができるようになります。
- 権限をミュートする場合の理由を説明する。
- 権限セットグループの権限をミュートする。
ミュートとは?
このモジュールの前半で、権限セットグループを使用すれば、職務単位で権限セットをまとめられることを学習しました。権限セットグループには、グループに含まれる権限セットのすべての権限が含まれます。さらに 1 つの権限セットを複数の権限セットグループに含めることも可能です。
もう一度繰り返します。権限セットを複数の権限セットグループに含めることができれば柔軟性が増大します。他方、特定の権限セットにあるすべての権限を権限セットグループのユーザーに割り当てたくない場合はどうすればよいのでしょうか?
ミュート権限セットを使用すると、権限セットグループ内の選択した権限を無効化 (ミュート) することで、グループをカスタマイズすることができます。権限セットグループごとに 1 つのミュート権限セットを設定して、オブジェクト、項目、ユーザー権限、その他のアクセス設定をミュートできます。
ミュート権限セットを使用すると、各ユーザーのニーズに応じて権限が少しずつ異なる権限セットを複数作成する必要がなくなり、再利用性が向上します。まず、複数のユーザーが必要とする権限セットに、タスクや機能に関連するすべての権限を含めておきます。そして、ペルソナベースの各権限セットグループでミュート権限セットを使用することで、各ユーザーのロールに必要な権限のみが付与されるようになります。
たとえば、Service Reps (サービス担当) という権限セットグループを作成し、既存の「Case Management (ケースの管理)」権限セットを追加したとします。ただし、この権限セットに含まれているケースの [Delete (削除)] オブジェクト権限は、「Service Reps (サービス担当)」権限セットグループのユーザーには付与したくないとします。
この場合は、[Delete (削除)] オブジェクト権限のみをミュートするミュート権限セットを作成してから、「Case Management (ケースの管理)」権限セットを「Service Reps (サービス担当)」権限セットグループに追加します。こうすることで、「Case Management (ケースの管理)」権限セットで必要な権限のみをユーザーに付与できます。既存の権限セットを変更すると、他のユーザーに意図せず影響を与えることがあり、新しい権限セットを作成すると、時間が経つにつれてアクセス設定の管理が難しくなることがありますが、ミュート機能を使用すれば、どちらも不要になります。
ミュート権限セットに関する考慮事項
ご覧のように、このミュート機能により、権限モデルを設計する際の柔軟性が高まります。権限セットグループの設定方法を計画する際には、権限のミュートが他の機能にどのように作用するかを考慮してください。
- 権限セットグループで権限をミュートすると、ミュートは権限セットグループに割り当てられたユーザーのみに影響します。
- 権限セットグループ外で権限セットに直接割り当てられたユーザーには影響しません。
- ある権限がミュートされている権限セットグループにユーザーが割り当てられた場合でも、その権限がプロファイル、権限セット、または別の権限セットグループを介して同じユーザーに割り当てられていれば、ミュート権限セットの設定にかかわらず、そのユーザーはその権限を使用できます。
-
User Access Summary (ユーザーアクセスの概要) と Permission Set Group Summary (権限セットグループの概要) のどちらも、ミュート権限セットを考慮して、有効化されている権限を判断します。
ミュートを試す
新しい機能が登場したときに大切なのは、どのように機能するかを試して正しく理解することです。このモジュールの前半で E.J. のために作成した「Sales Processing (販売処理)」権限セットグループには、次の 2 つの権限セットが含まれています。
- 「Sales Orders (販売注文)」権限セット: 次の権限を含む
- 注文の有効化
- 注文の参照、作成、編集、削除
- 「Sales Contracts (販売契約)」権限セット: 次の権限を含む
- 契約の参照、作成、編集、削除
Alyssa の契約部門には、販売契約を処理する必要のあるユーザーがいます。Alyssa のユーザーは次のことを行う必要があります。
- 契約の参照、作成、編集、削除、すべて表示、すべて変更
- 有効契約の削除
Alyssa のためだけに権限セットを作成することもできますが、既存の権限セット、つまり「Sales Contracts (販売契約)」権限セットを再利用したほうが賢明です。両チームは担当する職務が異なるものの、どちらも契約に関するタスクを行っているため、再利用することができます。
問題は、「Sales Contracts (販売契約)」権限セットには Alyssa のユーザーが必要とするいくつかの権限がないということです。また、これらの追加権限を「Sales Contracts (販売契約)」に単純に追加すると、「Sales Processing (販売処理)」権限セットグループに割り当てられたユーザーには、必要のない権限が付与されることになります。
行き詰まりでしょうか? そんなことはありません! 権限セットグループは柔軟であり、ミュート権限セットを使用すればユーザーに必要な権限のみを付与できることを思い出してください。打開策があります。
- ミュート権限セットを作成して、「Sales Processing (販売処理)」権限セットグループに割り当てたユーザーに付与すべきではない権限をミュートします。最初にこの処理を行うのはなぜでしょうか? この権限セットグループに割り当てられるユーザーが、Alyssa のチームが必要とする契約の多様な権限に (たとえ一時的でも) アクセスできてしまうことを避けるためです。最初にミュート権限セットを作成しておけば、Max の権限セットグループの完全性が保たれます。
- 「Sales Processing (販売処理)」権限セットに、Alyssa のチームが必要とする権限を追加して更新します。
- Alyssa のチーム用に「Contracts Processing (契約処理)」権限セットグループを作成します。更新した「Sales Contracts (販売契約)」権限セットを追加します。
では始めましょう。単元 2 の手順をまだ完了していない場合は、まずそちらを完了してください。完了しないと、このアクティビティを実行できません。
ミュート権限セットを作成します。
- [Setup (設定)] の [Quick Find (クイック検索)] に
Permission Set Groups
(権限セットグループ) と入力し、[Permission Set Groups (権限セットグループ)] を選択します。
- 単元 2 で作成した [Sales Processing (販売処理)] 権限セットグループをクリックします。
- [権限セット] で [グループ内のミュート権限セット] をクリックします。
-
[New (新規)] をクリックします。
- 表示ラベルは、
Contracts Permissions Muted
(ミュート済みの契約権限) にします。
- API 参照名には、
Contracts_Permissions_Muted
を使用します。
- ミュート権限セットを保存します。
ミュートする権限を選択します。
- ミュート権限セットの名前をクリックします。
- [Find Settings (設定の検索)] に
Contracts
(契約) と入力し、[Contracts (契約)] を選択します。
-
[Edit (編集)] をクリックします。
- [すべて表示] と [すべて変更] オブジェクト権限をミュートします。
- 変更内容を保存します。
- [Find Settings (設定の検索)] に
Contracts
(契約) と入力し、[Delete Activated Contracts (有効契約の削除)] を選択します。
-
[Edit (編集)] をクリックします。
- [販売] で、[有効契約の削除] 権限をミュートします。
- 変更内容を保存します。
これで、Alyssa のグループの権限を「Sales Contracts (販売契約)」権限セットに追加するときは、[Sales Processing (販売処理)] 権限セットグループで上記の権限がミュートされます。Alyssa の権限を「Sales Contracts (販売契約)」権限セットに追加しましょう。「Sales Contracts (販売契約)」権限セットで対象の権限を有効にします。
- [Delete Activated Contracts (有効契約の削除)] アプリケーション (ユーザー) 権限
- 契約に対する [View All (すべて表示)] 権限と [Modify All (すべて変更)] 権限
Alyssa の「Contracts Processing (契約処理)」権限セットグループを作成する準備ができたら、「Sales Contracts (販売契約)」権限セットをそのグループに追加します。メンバーに「Delete Activated Contracts (有効契約の削除)」や、契約オブジェクトに対する「View All (すべて表示)」と「Modify All (すべて変更)」など、すべての有効な権限セットが付与されます。完成です!
ミュートと権限の連動関係
ミュート権限セットで権限をミュートすると、連動関係にある権限も影響を受けます。たとえば、すべてのユーザーにオブジェクトに対する「Create (作成)」、「Read (参照)」、「Edit (編集)」、「Delete (削除)」、「View All (すべて表示)」、「Modify All (すべて変更)」の権限を付与するとします。ここで、「参照」権限をミュートすると、「作成」「編集」「削除」「すべて表示」「すべて変更」もミュートされます。ユーザーがデータを参照できなければ、こうしたタスクを実行できないためです。
この例はかなり単純ですが、連動関係が厄介な場合もあります。権限をミュートするときは、変更の保存時に表示される権限変更確認メッセージに注意します。たとえば、「Sales Contracts (販売契約)」権限セットの権限をミュートする場合、「契約の有効化」をミュートしていれば、「有効契約の削除」もミュートされています。
権限セットグループを処理するときは、権限の連動関係に留意し、必要とするユーザーから権限が削除されないようにします。権限セットグループのミュートの連動関係についての詳細は、Salesforce ヘルプを参照してください。
インストール済みパッケージでのミュート
ミュート権限セットにはもう 1 つのメリットがあります。管理パッケージに登録している場合、権限セットグループ内の権限のうち、採用する準備が整っていない機能に対する権限をミュートすることができます。
たとえば、ローカルの権限セットグループを作成して、管理パッケージからインストールした管理権限セットをそのグループに追加するとします。独立系ソフトウェアベンダー (ISV) からパッケージの自動更新を受け取ったが、管理権限セットで使用可能になった新しい項目を有効にする準備ができていないとします。これは問題でしょうか? 何ら問題ありません。更新や特典を受け取ったら、組織に導入する準備ができるまで、この項目の権限をミュートしておけます。
お疲れ様でした! これで、ミュート権限セットについて理解し、権限セットグループの全体像を把握できました。権限セットグループを使用するメリットと、その柔軟性と再利用性を活用するための権限モデルの設計方法を学びました。
リソース