権限セットグループの権限をミュートする
学習の目的
この単元を完了すると、次のことができるようになります。
- 権限をミュートする場合の理由を説明する。
- 権限セットグループの権限をミュートする。
ミュートとは?
このモジュールの前半で、権限セットグループを使用すれば、職務単位で権限セットをまとめられることを学習しました。権限セットグループには、権限セットにあるすべての権限が含まれます。また、1 つの権限セットを複数の権限セットグループに追加できます。
もう一度繰り返します。権限セットグループには、権限セットにあるすべての権限が含まれます。また、1 つの権限セットを複数の権限セットグループに追加できます。
権限セットを複数の権限セットグループに含めることができれば柔軟性が増大します。他方、特定の権限セットにあるすべての権限を権限セットグループのユーザーに割り当てたくない場合はどうすればよいのでしょうか?
ミュート機能を使用すれば、権限セットグループ内の選択した権限をミュート (無効化) して、グループをカスタマイズすることができます。権限をミュートする場合は、選択した権限セットグループのミュート権限セットにその権限を追加します。権限セットグループのある権限をミュートした場合、ミュートの影響を受けるのはその権限セットグループに割り当てられているユーザーのみで、権限セットグループ外で権限セットに直接割り当てられているユーザーには影響がありません。つまり、このミュート機能により、権限モデルを設計する際の柔軟性が高まります。
さらに、管理パッケージに登録している場合、グループ内の権限のうち、採用する準備が整っていない機能に対する権限をミュートすることができます。たとえば、ローカルの権限セットグループがあり、管理パッケージからインストールした管理権限セットをそのグループに追加するとします。独立系ソフトウェアベンダー (ISV) からパッケージの自動更新を受け取ったが、管理権限セットで使用可能になった新しい項目を有効にする準備ができていないとします。これは問題でしょうか? 何ら問題ありません。使用可能な更新や特典を受け取った時点で、組織に採用する準備ができていなければ、権限セットグループの任意の機能をミュートすることができます。
ミュートを試す
新しい機能が登場したときに大切なのは、どのように機能するかを試して正しく理解することです。このモジュールの前半で E.J. のために作成した「Sales Processing (販売処理)」権限セットグループには、次の 2 つの権限セットが含まれています。
- Sales Orders (販売注文): 次の権限を含む
- 注文の有効化
- 注文の参照、作成、編集、削除
- Sales Contracts (販売契約): 次の権限を含む
- 契約の参照、作成、編集、削除
Elisa の契約部門には、販売契約を処理する必要のあるユーザーがいます。これまでは、特定のオブジェクト権限を必要とするユーザーにプロファイルを割り当てていましたが、会社の成長に伴い、プロファイルを使用した権限の割り当てに代わる方法を検討しています。Elisa のためにどのようなことができるか見てみましょう。
Elisa のユーザーは次のことを行う必要があります。
- 契約の参照、作成、編集、削除、すべて表示、すべて変更
- 有効契約の削除
Elisa のためだけに権限セットを作成することもできますが、ここで以前の説明を思い出し、「Sales Processing (販売処理)」権限セットグループにある権限セットを再利用したほうが賢明であることを認識します。両チームは担当する職務が異なるものの、どちらも契約に関するタスクを行っているため、再利用することができます。
問題は、「Sales Processing (販売処理)」権限セットグループの「Sales Contracts (販売契約)」権限セットに、Elisa のユーザーが必要とするいくつかの権限がないことです。
やはり、再利用できないのでしょうか? そんなことはありません! 権限セットグループは柔軟性が高く、権限セットを再利用できると説明しました。打開策があります。
- 「Sales Processing (販売処理)」ユーザーに付与すべきではない権限をミュートするために、「Sales Processing (販売処理)」権限セットグループにミュート権限セットを作成します。最初にこの処理を行うのはなぜでしょうか? Elisa のグループが必要とする契約の多様な権限に、Eric に (たとえ一時的でも) アクセス権を付与しないためです。最初にミュート権限セットを作成しておけば、Eric の権限セットグループの完全性が保たれます。
- 「Sales Processing (販売処理)」権限セットに、Elisa のチームが必要とする権限を追加して更新します。
では始めましょう。単元 2 の手順をまだ完了していない場合は、まずそちらを完了してください。完了しないと、このアクティビティを実行できません。
ミュート権限セットを作成します。
- [設定] の [クイック検索] ボックスに
Permission Set Groups
(権限セットグループ) と入力し、[権限セットグループ] を選択します。 - 単元 2 で作成した [Sales Processing (販売処理)] 権限セットグループをクリックします。
- [権限セット] で [グループ内のミュート権限セット] をクリックします。
- [New (新規)] をクリックします。
- 表示ラベルは、
Contracts Permissions Muted
(ミュート済みの契約権限) にします。 - API 参照名には、
Contracts_Permissions_Muted
を使用します。 - ミュート権限セットを保存します。
ミュートする権限を選択します。
- ミュート権限セットをクリックします。
- [Find Settings (設定の検索)] に
Contracts
(契約)と入力し、[Contracts (契約)] を選択します。 - [編集] をクリックします。
- [すべて表示] と [すべて変更] オブジェクト権限をミュートします。
- 変更内容を保存します。
- [Find Settings (設定の検索)] に
Contracts
(契約) と入力し、[Delete Activated Contracts (有効契約の削除)] を選択します。 - [編集] をクリックします。
- [販売] で、[有効契約の削除] 権限をミュートします。
- 変更内容を保存します。
これで、Elisa のグループの権限を「Sales Contracts (販売契約)」権限セットに追加するときは、[Sales Processing (販売処理)] 権限セットグループで上記の権限がミュートされます。
Elisa の権限を「Sales Contracts (販売契約)」権限セットに追加しましょう。「Sales Contracts (販売契約)」権限セットで対象の権限を有効にします。
- [有効契約の削除] 権限を有効にします。
- 契約に対する [すべて表示] 権限と [すべて変更] 権限を有効にします。
Elisa の権限セットグループを作成する準備ができたら、「Sales Contracts (販売契約)」権限セットをそのグループに追加します。メンバーに「有効契約の削除」と、契約オブジェクトに対する「すべて表示」と「すべて変更」が付与されます。完成です!
ミュートと権限の連動関係
権限をミュートするときは、権限の連動関係に注意します。たとえば、すべてのユーザーにオブジェクトに対する「作成」「参照」「編集」「削除」権限を付与するとします。続いて、一部のユーザーにそのオブジェクトに対する「すべて表示」と「すべて変更」を付与します。ここで、「参照」権限をミュートすると、「作成」「編集」「削除」「すべて表示」「すべて変更」もミュートされます。ユーザーがデータを参照できなければ、こうしたタスクを実行できないためです。
この例はかなり単純ですが、連動関係が厄介な場合もあります。権限をミュートするときは、変更の保存時に表示される権限変更確認メッセージに注意します。たとえば、「Sales Contracts (販売契約)」権限セットの権限をミュートする場合、「契約の有効化」をミュートしていれば、「有効契約の削除」もミュートされています。
権限セットグループを処理するときは、権限の連動関係に留意し、必要とするユーザーから権限が削除されないようにします。