アカウントによるオブジェクトデータへのアクセス制限
ライフレイ 7.4 U58+/GA58+
複数のビジネス アカウントがあるシナリオでは、アカウントごとにオブジェクト エントリへのアクセスを制限する必要があります。 たとえば、次の要件を持つ 保険シナリオ を考えてみましょう。
-
ビジネスアカウントユーザーは、他のアカウントで行われた保険請求を表示することなく、保険請求を公開する必要がある。
-
カスタマーサクセスマネージャー(CSM)は、自分が管理しているアカウントからの保険請求を確認する必要がある。
-
請求管理者は、すべての保険請求を監視しなければならない。
アカウント別にオブジェクト エントリを制限するには、カスタム オブジェクトにアカウント システム オブジェクトとのアクティブな 関係 が設定されている必要があり、エントリ データの制限にこの関係を使用するようにカスタム オブジェクトを構成する必要があります。 設定が完了すると、カスタムオブジェクトにエントリーを追加する人は、アカウントを選択する必要があります。 このアカウントがエントリーのオーナーになります。 ロール タイプがエントリへのアクセスを制御する方法については、 アカウント制限とユーザー ロール を参照してください。

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

-
オブジェクトページに戻り、目的のカスタムオブジェクトの編集を開始します。
-
[詳細]タブで、[Account Restriction]を有効にし、使用するアカウント関連を選択します。

-
[保存]をクリックします。
アカウント制限が有効になっている場合、アカウント関係フィールドは必須になります。 ユーザーはエントリを作成するときにアカウントを選択する必要があります。 利用可能なアカウントオプションは、各ユーザーの 権限によって決定されます。 アカウント制限が有効な場合のロール権限の構成に関するガイダンスについては、 アカウント制限とユーザー ロール を参照してください。 エントリー作成後、選択されたアカウントはエントリーのオーナーとなり、変更することはできません。
アカウント制限を無効にする
アカウント制限を無効にするには、アカウント制限を有効にした関係を削除する必要があります。
-
アカウント システム オブジェクトを編集します。 グローバル メニュー (
) を開き、 コントロール パネル タブに移動して、 オブジェクトをクリックし、 アカウントをクリックします。 -
リレーションシップを開きます。
-
アクション (
) → 削除をクリックします。
-
関係名を確認し、 削除をクリックします。
アカウント制限とユーザーロール
アカウントによるオブジェクトデータの制限を行った後、ユーザーの権限に従ってエントリーが表示されます。 標準ロール範囲での権限はすべてのオブジェクトデータに適用され、組織またはアカウント範囲での権限は特定のアカウントに適用されます。 例えば、ユーザーが閲覧権限がある標準ロールを持っている場合、すべてのアカウントのすべてのデータを閲覧することができます。 ただし、ユーザーが閲覧権限があるアカウントロールしか持っていない場合は、自分のアカウントに関連するオブジェクトデータしか閲覧できません。
| 許可範囲 | 説明 |
|---|---|
| 標準ロール | アカウントや組織ロールの権限による制限を受けることなく、すべてのオブジェクトデータに適用される権限です。 |
| 組織ロール | 組織およびそのサブ組織に関連する特定のアカウントのオブジェクトデータに適用される権限です。 |
| アカウントロール | 特定のアカウントのオブジェクトデータに適用される権限です。 |
アカウント制限のためのロールを設定する場合、以下の点を考慮してください。
-
アカウント制限されたオブジェクトでは、 ウィジェットの表示 が有効になっており、ロール UI に表示されるように パネル リンク を設定する必要があります。
-
標準ロールには、 オブジェクトエントリーを作成するための
Accounts > Account Entry: View権限が必要です。 これは、標準ロールがアカウントや組織と関連付けられていないためです。 この権限がないと、標準ロールを持つユーザーは、エントリーの作成時にアカウントを選択することができません。 -
組織ロールは、オブジェクトエントリーを作成するために次の権限を持っている必要があります:
User and Organizations → Organization: Manage AccountsおよびUser and Organizations → Organization: Manage Suborganizations Accounts。 この権限がないと、組織ロールを持つユーザーは、エントリーの作成時にアカウントを選択することができません。 -
組織およびアカウントロールユーザーがカスタムオブジェクトにアクセスするには、
Access in Control Panel(company-scoped)もしくはAccess in Site(site-scoped)権限を付与する別の標準ロールを持つ必要があります。 詳細については、 オブジェクト アプリケーションの権限 を参照してください。
アカウントと組織のロールは、アカウント制限が有効になっているオブジェクトでのみサポートされています。
アカウント制限では、デフォルトのアカウントメンバーおよび組織のユーザーロールはサポートされていません。 これらのロールは、関連するオブジェクト データへのアクセスを自動的に許可するものではありません。
ユーザーが、異なるアカウントロールとオブジェクト権限を持つ複数のアカウントに所属している場合、これらの権限は、ユーザーが所属する各アカウントに適用されます。
ユースケース例:保険金請求権
下記の条件がある保険のシナリオを考えてみます。
-
ビジネスアカウントユーザーは、他のアカウントで行われた保険請求を表示することなく、保険請求を公開する必要がある。
-
カスタマーサクセスマネージャー(CSM)は、自分が管理しているアカウントからの保険請求を確認する必要がある。
-
請求管理者は、すべての保険請求を監視しなければならない。
これを実現するために、 アカウント制限を有効にした保険請求オブジェクト を作成します。 次に、CSMをグループ化するための組織を作成し、各組織を適切なビジネスアカウントと関連付けます。 最後に、次の アカウント、 組織、および 通常の ロールを作成し、適切なユーザーに割り当てます。 保険請求オブジェクトは会社スコープなので、アカウントと組織のユーザーは、Portal: View Control Panel MenuおよびClaims: Access in Control Panel権限を付与する別の標準ロールも持っている必要があります。 利便性のため、これらの権限をデフォルトのユーザーロールに割り当てることができます。
この例では、各ロールは特定請求エントリーを作成することができますが、組織と標準のロールにはその権限を付与する必要はありません。
アカウントロール
アカウントのオブジェクトデータを作成および管理する権限をアカウントのユーザーに付与します。
| 権限 | 説明 |
|---|---|
| Claims: View | オブジェクトのアプリケーションページを表示します。 |
| Claims > Claim: Delete | オブジェクトのエントリーを削除します。 |
| Claims > Claim: Permissions | 個々のオブジェクトエントリーの権限を表示・変更します. |
| Claims > Claim: Update | オブジェクトのエントリーを更新します。 |
| Claims > Claims: Add Object Entry | オブジェクトエントリーを作成します。 |
クレーム → クレーム: 表示 リソース権限をアカウント ロールに割り当てないでください。 この権限は、標準的なロール行動を妨げる可能性があります。
組織ロール
組織とそのサブ組織に関連するすべてのアカウントのオブジェクトデータを作成および管理する権限を組織のユーザーに付与します。
| 権限 | 説明 |
|---|---|
| Claims: View | オブジェクトのアプリケーションページを表示します。 |
| Claims > Claim: Delete | オブジェクトのエントリーを削除します。 |
| Claims > Claim: Permissions | 個々のオブジェクトエントリーの権限を表示・変更します. |
| Claims > Claim: Update | オブジェクトのエントリーを更新します。 |
| Claims > Claim: View | オブジェクトのエントリーを表示します。 |
| Claims > Claims: Add Object Entry | オブジェクトエントリーを作成します。 |
| User and Organizations > Organization: Manage Accounts | 組織のアカウントを表示します。 |
| User and Organizations > Organization: Manage Suborganizations Accounts | サブ組織に関連するアカウントを表示します。 |
標準ロール
すべてのアカウントのオブジェクトデータを作成・管理する権限をユーザーに付与します。
| 権限 | 説明 |
|---|---|
| Accounts > Account Entry: View | アカウントエントリーへのアクセスを表示します。 |
| Portal: View Control Panel Menu | グローバル メニュー ( |
| Claims: Access in Control Panel | グローバルメニューのオブジェクトにアクセスします. |
| Claims: View | オブジェクトのアプリケーションページを表示します。 |
| Claims > Claim: Delete | オブジェクトのエントリーを削除します。 |
| Claims > Claim: Permissions | 個々のオブジェクトエントリーの権限を表示・変更します。 |
| Claims > Claim: Update | オブジェクトのエントリーを更新します。 |
| Claims > Claim: View | オブジェクトのエントリーを表示します。 |
| Claims > Claims: Add Object Entry | オブジェクトエントリーを作成します。 |