Tip

このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください

ロールユニオン

Access controlCommunity Edition+

ロールユニオンは権限管理モードの一つです。システム設定に応じて、システム開発者は「独立ロール」「ロールユニオンを許可」「ロールユニオンのみ」のいずれかを選択でき、さまざまな権限要件に対応できます。

20250312184651

独立ロール

システムはデフォルトで「独立ロール」を使用します。このモードでは、ロールユニオンは使用されず、ユーザーは自身が持つロールを個別に切り替える必要があります。

20250312184729 20250312184826

ロールユニオンを許可

システム開発者は「ロールユニオンを許可」を有効にできます。これにより、ユーザーは自身が持つすべてのロールの権限を同時に利用できるだけでなく、ロールを個別に切り替えることも可能です。

20250312185006

ロールユニオンのみ

このモードでは、ユーザーはロールユニオンのみを使用することが強制され、ロールを個別に切り替えることはできません。

20250312185105

ロールユニオンのルール

ロールユニオンは、ユーザーに割り当てられたすべてのロールの中で最大の権限を付与します。以下では、複数のロールで同じ項目に設定が競合する場合に、どのようにロール権限が決定されるかを説明します。

操作権限のマージ

例: ロール1(role1)は「インターフェースの設定を許可」するように設定されています。 ロール2(role2)は「プラグインのインストール、アクティベート、無効化を許可」するように設定されています。

20250312190133

20250312190352

すべての権限を持つロールでログインすると、ユーザーはこれら両方の権限を同時に持つことになります。

20250312190621

データスコープのマージ

データ行

シナリオ1:複数のロールが同じフィールドに条件を設定する場合

ロールAの条件設定:Age < 30

UserIDNameAge
1Jack23
2Lily29

ロールBの条件設定:Age > 25

UserIDNameAge
2Lily29
3Sam32

マージ後:

UserIDNameAge
1Jack23
2Lily29
3Sam32

シナリオ2:異なるロールが異なるフィールドに条件を設定する場合

ロールAの条件設定:Age < 30

UserIDNameAge
1Jack23
2Lily29

ロールBの条件設定:Nameに"Ja"を含む

UserIDNameAge
1Jack23
3Jasmin27

マージ後:

UserIDNameAge
1Jack23
2Lily29
3Jasmin27

データ列

ロールAの表示フィールド設定:Name、Age

UserIDNameAge
1Jack23
2Lily29

ロールBの表示フィールド設定:Name、Sex

UserIDNameSex
1JackMan
2LilyWoman

マージ後:

UserIDNameAgeSex
1Jack23Man
2Lily29Woman

行と列の混合

ロールAの条件設定:Age < 30、表示フィールド:Name、Age

UserIDNameAge
1Jack23
2Lily29

ロールBの条件設定:Nameに"Ja"を含む、表示フィールド:Name、Sex

UserIDNameSex
3JadeWoman
4JamesMan

マージ後:

UserIDNameAgeSex
1Jack23Man
2Lily29Woman
3Jade27Woman
4James31Man

注記:背景色が赤でマークされたデータは、個別のロールでは表示されませんが、マージされたロールでは表示されるようになります。

まとめ

ロールマージにおけるデータスコープのルールは以下の通りです。

  1. 行に関しては、いずれかの条件が満たされれば、その行にアクセス権があると判断されます。
  2. 列に関しては、フィールドが追加(結合)されます。
  3. 行と列が同時に設定されている場合、行と列はそれぞれ個別にマージされます。(行+列)の組み合わせとしてマージされるわけではありません。