アカウントによるオブジェクトデータへのアクセス制限
Liferay 7.4 U58+/GA58+
複数のビジネスアカウント が存在するシナリオでは、アカウントごとにオブジェクトエントリへのアクセスを制限したい場合があります。 例えば、次のような要件を持つ保険のシナリオを考えてみましょう:
-
ビジネスアカウントのユーザーは、他のアカウントが行った請求を見ることなく、請求を申請する必要があります。
-
カスタマーサクセスマネージャー(CSM)は、担当する顧客アカウントから提出されたクレームを審査しなければならない。
-
クレームマネージャーは、すべてのクレームを監督しなければならない。
アカウントごとにオブジェクトのエントリを制限するには、カスタムオブジェクトが「アカウント」システムオブジェクトと有効なリレーションシップを持っている必要があり、また、エントリデータの制限にこのリレーションシップを使用するようにカスタムオブジェクトを設定する必要があります。 設定が完了すると、カスタムオブジェクトにエントリを追加する人は誰でもアカウントを選択する必要があります。 このアカウントが、当該エントリの所有者となります。 ロールの種類がエントリへのアクセスをどのように制御するかについては、 アカウント制限とユーザーロール を参照してください。

Liferay DXP 2024.Q1+/Portal GA112+ では、検索ユーザーがアカウントスコープまたは通常スコープのロールで アカウント > アカウントエントリ: ビュー 権限を持っている場合、アカウント制限オブジェクトのエントリが検索結果に表示されます。 詳細は コンテンツの検索 を参照してください。
アカウント制限を有効にする
下書きまたは公開済みのオブジェクト定義で、アカウント制限を有効にすることができます。 既にオブジェクトエントリが存在する公開済みオブジェクトに対してこの機能を有効にした場合、以前のエントリはどのアカウントにも関連付けられず、オブジェクトのすべてのデータを表示する権限を持つ管理者ユーザーのみがアクセスできる場合があります。
-
グローバルメニュー (
) を開き、 コントロールパネル → オブジェクト に移動します。 -
この機能をテストする場合は、オブジェクト定義を追加して公開してください。
-
アカウントシステムオブジェクトの編集を開始します。
-
アカウントオブジェクトと目的のドラフトオブジェクトを関連付ける一対多のリレーションシップを追加します。 詳細については、 オブジェクト関係の定義 を参照してください。

-
オブジェクトページに戻り、目的のカスタムオブジェクトの編集を開始してください。
-
詳細タブで、 アカウント制限 を有効にし、使用するアカウント関係を選択します。

-
をクリックして保存します。
アカウント制限が有効になっている場合、アカウント関係フィールドは必須項目です。 ユーザーはエントリーを作成する際にアカウントを選択する必要があります。 利用可能なアカウントオプションは、各ユーザーの権限によって決まります。 アカウント制限が有効になっている場合のロール権限の設定方法については、 アカウント制限とユーザーロール を参照してください。 エントリー作成後、選択したアカウントがエントリーの所有者となり、変更することはできません。
アカウント制限の無効化
アカウント制限を無効にするには、制限を有効にした関係を削除する必要があります。
-
アカウント システム オブジェクトを編集します。 グローバル メニュー (
) を開き、 コントロール パネル → オブジェクトに移動し、 アカウント をクリックします。 -
オープン 関係。
-
アクション (
)→ 削除をクリックします。
-
関係名を確認し、 削除 をクリックします。
アカウント制限とユーザーロール
アカウントごとにオブジェクトデータを制限した後、エントリはユーザーの権限に応じて表示されます。 通常の役割範囲における権限はすべてのオブジェクトデータに適用されますが、組織またはアカウント範囲における権限は特定のアカウントに適用されます。 例えば、閲覧権限を持つ通常の役割を持つユーザーは、すべてのアカウントのすべてのデータを閲覧できます。 ただし、ユーザーが閲覧権限のみを持つアカウントロールしか持っていない場合、自分のアカウントに関連付けられたオブジェクトデータのみを閲覧できます。
| 許可範囲 | 説明 |
|---|---|
| 標準ロール | アカウントや組織ロールの権限による制限を受けることなく、すべてのオブジェクトデータに適用される権限です。 |
| 組織ロール | 組織およびそのサブ組織に関連する特定のアカウントのオブジェクトデータに適用される権限です。 |
| アカウントロール | 特定のアカウントのオブジェクトデータに適用される権限です。 |
アカウント制限のための役割を設定する際には、以下の要素を考慮してください。
-
アカウント制限オブジェクトは、 ウィジェットの表示 が有効になっている必要があり、ロール UI に表示されるように パネルリンク を設定する必要があります。
-
通常の役割には、オブジェクトエントリを作成するための
アカウント > アカウントエントリ: ビュー権限が必要です。 これは、通常の役割はアカウントや組織に関連付けられていないためです。 この権限がないと、通常ロールのユーザーはエントリー作成時にアカウントを選択できません。 -
オブジェクトエントリを作成するには、組織ロールに次の権限が必要です:
ユーザーと組織 → 組織: アカウントの管理およびユーザーと組織 → 組織: サブ組織アカウントの管理。 これらの権限がないと、組織ロールを持つユーザーはエントリ作成時にアカウントを選択できません。 -
組織およびアカウントロールのユーザーがカスタム オブジェクトにアクセスするには、コントロール パネル
アクセス(会社スコープ) またはサイトアクセス権限 (サイトスコープ) を付与する別の通常のロールが必要です。 詳細については、 オブジェクトアプリケーション権限 を参照してください。
アカウントおよび組織の役割は、アカウント制限が有効になっているオブジェクトでのみサポートされます。
アカウント制限は、デフォルトのアカウントメンバーおよび組織ユーザーロールをサポートしていません。 これらの役割は、関連するオブジェクトデータへのアクセス権を自動的に付与するものではありません。
ユーザーが異なるアカウントロールとオブジェクト権限を持つ複数のアカウントに所属している場合、これらの権限はユーザーが所属する各アカウントに適用されます。
使用例:保険金請求
以下の要件を満たす保険のシナリオを考えてみましょう。
-
ビジネスアカウントのユーザーは、他のアカウントが行った請求を見ることなく、請求を申請する必要があります。
-
カスタマーサクセスマネージャー(CSM)は、担当する顧客アカウントから提出されたクレームを審査しなければならない。
-
クレームマネージャーは、すべてのクレームを監督しなければならない。
これを実現するには、アカウント制限が有効になっているクレームオブジェクトを作成します。 次に、CSM(カスタマーサクセスマネージャー)をグループ化するための組織を作成し、各組織を適切なビジネスアカウントに関連付けます。 最後に、次の アカウント、 組織、および 通常の ロールを作成し、適切なユーザーに割り当てます。 Claims オブジェクトは会社スコープであるため、アカウントおよび組織のユーザーは、 ポータル: コントロール パネル メニューの表示 および クレーム: コントロール パネルでのアクセス の権限を付与する別の通常のロールも持っている必要があります。 便宜上、これらの権限をデフォルトのユーザーロールに割り当てることができます。
この例では、各役割でクレームエントリを作成できますが、組織および通常の役割に対してその権限を付与する必要はありません。
アカウントロール
アカウントユーザーに、アカウントのオブジェクトデータを作成および管理する権限を付与します。
| 権限 | 説明 |
|---|---|
| Claims: View | オブジェクトのアプリケーションページを表示します。 |
| クレーム > クレーム: 削除 | オブジェクトのエントリーを削除します。 |
| クレーム > クレーム: 権限 | 個々のオブジェクトエントリーの権限を表示・変更します. |
| クレーム > クレーム: 更新 | オブジェクトのエントリーを更新します。 |
| クレーム > クレーム: オブジェクトエントリを追加 | オブジェクトエントリーを作成します。 |
クレーム → クレーム: ビュー リソース権限をアカウント ロールに割り当てないでください。 この権限は、標準的な役割の動作を妨げる可能性があります。
組織における役割
組織のユーザーに対し、組織およびその下位組織に関連付けられているすべてのアカウントのオブジェクトデータを作成および管理する権限を付与します。
| 権限 | 説明 |
|---|---|
| Claims: View | オブジェクトのアプリケーションページを表示します。 |
| クレーム > クレーム: 削除 | オブジェクトのエントリーを削除します。 |
| クレーム > クレーム: 権限 | 個々のオブジェクトエントリーの権限を表示・変更します. |
| クレーム > クレーム: 更新 | オブジェクトのエントリーを更新します。 |
| クレーム > クレーム: 表示 | オブジェクトのエントリーを表示します。 |
| クレーム > クレーム: オブジェクトエントリを追加 | オブジェクトエントリーを作成します。 |
| ユーザーと組織 > 組織: アカウントの管理 | 組織のアカウントを表示します。 |
| ユーザーと組織 > 組織: サブ組織アカウントの管理 | サブ組織に関連するアカウントを表示します。 |
レギュラー職
すべてのアカウントのオブジェクトデータの作成および管理権限をユーザーに付与する。
| 権限 | 説明 |
|---|---|
| アカウント > アカウントエントリ: 表示 | アカウントエントリーへのアクセスを表示します。 |
| Portal: View Control Panel Menu | グローバルメニューへのアクセス ( |
| Claims: Access in Control Panel | グローバルメニューのオブジェクトにアクセスします. |
| Claims: View | オブジェクトのアプリケーションページを表示します。 |
| クレーム > クレーム: 削除 | オブジェクトのエントリーを削除します。 |
| クレーム > クレーム: 権限 | 個々のオブジェクトエントリーの権限を表示・変更します。 |
| クレーム > クレーム: 更新 | オブジェクトのエントリーを更新します。 |
| クレーム > クレーム: 表示 | オブジェクトのエントリーを表示します。 |
| クレーム > クレーム: オブジェクトエントリを追加 | オブジェクトエントリーを作成します。 |