データアクセスプロファイルの設定

モデルのすべてのセキュアディメンションに対してデータアクセスプロファイルを定義する必要があります。

セキュアディメンションに対してプロファイルが定義されていない場合、プロファイルに割り当てられているユーザには、そのモデルへのアクセス権がありません。たとえば 2 つのセキュアディメンションのうち 1 つにアクセスを定義するなど、アクセスを部分的に定義した場合も、ユーザはモデルへのアクセスを拒否されます。

データアクセスプロファイルの登録後、必要に応じて、そのデータアクセスプロファイルをユーザに割り当てます。

機能

データアクセスセキュリティに関する一般ルール

データアクセスセキュリティは、以下のルールに基づいています。

  • デフォルトでは、システム管理者以外はメンバーにアクセスすることができません。メンバーアクセスは明示的に付与される必要があります。

  • ユーザには、データアクセスを個別に、および、チームメンバーシップを通して、割り当てることができます。

  • データアクセス権限は、階層の上から下に、親から子へと引き継がれます。

  • 競合がある場合、制限が最も少ないデータアクセスプロファイルが適用されます。

  • 個人データアクセスとチームデータアクセス間に競合がある場合、制限が最も少ない設定が適用されます。

データアクセスプロファイルの登録

  1. 管理ページに移動し、セキュリティセクションでデータアクセスプロファイルを選択します。

  2. 表示される画面で、新規を選択します。

  3. 新規データアクセスプロファイルの ID および説明を入力します。

  4. 一覧から必要なモデルを選択します。

  5. 権限関連のディメンションごとに、必要なメンバーを選択し、アクセス権を設定します。

  6. ユーザタブまたはチームタブに移動して、現在の環境に割り当てられているユーザまたは対応するユーザが割り当てられているチームに、新規のデータアクセスプロファイルを割り当てます。

子を持つメンバーへのアクセスの定義

1 つまたは複数の階層が定義されているセキュアディメンションへのアクセスを定義する場合、セキュリティはメンバーとそのすべての子に適用されます。たとえば、10 件の子を持つメンバーへのアクセス権を付与する場合、親メンバーへのアクセス権を付与したユーザは、その 10 件の子にもアクセスすることができます。

'読込専用' アクセスまたは '書込' アクセスを付与されている親の子メンバーのアクセスを制限することができます。そのためには、個別のデータアクセスプロファイルを登録して、当該の子に '拒否' アクセスを割り当てます。別の方法として、親と同じデータアクセスプロファイルを使用した上で、当該の子に対して新規の明細を登録することもできます。

データアクセスプロファイル競合の解決

メンバーアクセスは個別ユーザ別およびチーム別に定義することができるため、競合が発生する場合があります。以下のセクションでは、発生する可能性のあるメンバーアクセス競合のシナリオと、競合を解決するために適用されるルールについて説明します。これらのシナリオは、セキュアディメンションであるエンティティディメンションに、以下の階層構造があるという仮定に基づいています。

階層

メンバー

H1

WorldWide1

Sales

SalesAsia

SalesKorea

SalesJapan

ESalesAsia

SalesEurope

SalesItaly

SalesFrance

ESalesEurope

H2

WorldWide2

Asia

Korea

SalesKorea

Japan

SalesJapan

eAsia

ESalesAsia

Europe

Italy

SalesItaly

France

SalesFrance

eEurope

ESalesEurope

プロファイル間の競合

データアクセスプロファイル間に競合がある場合、制限が最も少ないプロファイルが常に適用されます。このセクションでは、プロファイル間に競合がある、3 種類のシナリオについて説明します。

シナリオ 1:

  • User1 は、Team1 と Team2 に属しています。

  • ProfileA と ProfileB という 2 つのデータアクセスプロファイルがあります。

  • ProfileA は Team1 に割り当てられ、ProfileB は Team2 に割り当てられています。

以下の表は、これらのデータアクセスプロファイルについて説明しています。

データアクセスプロファイル

アクセス

ディメンション

メンバー

ProfileA

書込

エンティティ

Sales

ProfileB

読込専用

エンティティ

SalesAsia

この場合、2 つのプロファイルのうち、制限の少ない ProfileA (書込) が適用されます。その結果、ProfileB はシステムで無視され、User1 は SalesKorea と SalesItaly の両方にデータを送信できます。

シナリオ 2:

  • User1 は、Team1 と Team2 に属しています。

  • 2 つのデータアクセスプロファイルProfileA と ProfileB があります。

  • ProfileA は Team1 に割り当てられ、ProfileB は Team2 に割り当てられています。

以下の表は、これらのデータアクセスプロファイルについて説明しています。

データアクセスプロファイル

アクセス

ディメンション

メンバー

ProfileA

読込専用

エンティティ

Sales

ProfileB

書込

エンティティ

SalesAsia

この場合、2 つのプロファイルのうち、制限が少ない ProfileB (書込) が SalesAsia の子メンバーに適用されます。その結果、ProfileA はシステムで無視され、User1 は SalesKorea にデータを送信できますが、SalesItaly には送信できません。

シナリオ 3:

  • User1 はどのチームにも属していません。

  • ProfileA と ProfileB という 2 つのデータアクセスプロファイルがあります。

  • 両方のプロファイルがユーザに割り当てられています。

以下の表は、これらのデータアクセスプロファイルについて説明しています。

データアクセスプロファイル

アクセス

ディメンション

メンバー

ProfileA

拒否

エンティティ

SalesAsia

ProfileB

読込専用

エンティティ

Sales

この場合、2 つのプロファイルのうち、制限が少ない ProfileB (読込専用) が適用されます。その結果、ProfileA はシステムで無視され、User1 は SalesKorea と SalesItaly の両方からデータを取得できるようになります。

親メンバーと子メンバー間の競合

権限は常に階層の上から下に、親から子へと引き継がれます。特に指定がない限り、子メンバーには常に、親の持つアクセスレベルが適用されます。

シナリオ 1:

  • User1 は Team1 に属していて、Team1 には ProfileA が割り当てられています。

  • 2 つのレベルのデータアクセスプロファイルが ProfileA に対して定義されています。

以下の表は、ProfileA のデータアクセスプロファイルについて説明しています。

データアクセスプロファイル

アクセス

ディメンション

メンバー

ProfileA

書込

エンティティ

Sales

ProfileA

読込専用

エンティティ

SalesAsia

この場合、Sales メンバーの書込アクセスは、子に引き継がれます。このアクセスの継承は、読込専用アクセスを SalesAsia (Sales の子孫) に割り当てることで中断され、SalesAsia の子孫には SalesAsia のアクセスが引き継がれるようになります。その結果、User1 は SalesItaly にデータを送信できますが、SalesKorea には送信できません。

シナリオ 2:

  • User1 は Team1 に属していて、Team1 には ProfileA が割り当てられています。

  • ProfileA には 2 つのレベルのデータアクセスプロファイルがあります。

以下の表は、ProfileA のデータアクセスプロファイルについて説明しています。

データアクセスプロファイル

アクセス

ディメンション

メンバー

ProfileA

読込専用

エンティティ

Sales

ProfileA

書込

エンティティ

SalesAsia

この場合、Sales メンバーの読込専用アクセスが、子に引き継がれます。このアクセスの継承は、書込アクセスを SalesAsia (Sales の子孫) に割り当てることで中断され、SalesAsia の子孫には SalesAsia のアクセスが引き継がれるようになります。その結果、User1 は SalesKorea にデータを送信できますが、SalesItaly には送信できません。

同じメンバーが異なる階層に属している場合の競合

メンバーが異なる階層に属しており、メンバーアクセスに競合がある場合は、最も制限が多いアクセスが適用されます。

シナリオ: ProfileA と ProfileB は User1 に割り当てられています。以下の表は、これらのデータアクセスプロファイルについて説明しています。

データアクセスプロファイル

アクセス

ディメンション

メンバー

ProfileA

読込専用

エンティティ

WorldWide1

ProfileB

書込

エンティティ

WorldWide2

この場合、User1 のアクセスは ProfileB によって決定されます。その結果、ProfileA によって (WorldWide1 階層での) SalesKorea への User1 の書込アクセスが拒否される場合でも、User1 は、SalesKorea にデータを送信できます。

属性ベースのデータアクセスプロファイル

データアクセスプロファイルの登録時に、プロパティに基づいてさまざまなレベルのアクセスを割り当てることができます。ここで説明する例は、以下の階層に基づいています。

ID

地域

通貨

Entity0

ヨーロッパ

ドイツ

ユーロ

— Entity1

ヨーロッパ

ドイツ

ユーロ

— — Entity101

ヨーロッパ

イギリス

GBP

— — Entity102

ヨーロッパ

フランス

ユーロ

— — Entity103

ヨーロッパ

ドイツ

ユーロ

— Entity2

北米

米国

USD

— — Entity201

北米

米国

USD

— — Entity202

北米

カナダ

CAD

— — Entity203

北米

メキシコ

MXN

例 — 1 つのデータアクセスプロファイル

データアクセスプロファイル DAP1 は、以下のように定義されています。

ルール番号

メンバー

アクセス

コメント

結果

1

Entity1

読込

Entity1 およびそのすべての子孫への読込アクセス

Entity1、Entity101、Entity102、Entity103 への読込アクセス

2

国 = ドイツ、通貨 = ユーロ

書込

国がドイツで通貨がユーロのメンバーへの書込アクセス

Entity0、Entity1、および Entity103 への書込アクセス

3

Entity103

拒否

Entity103 へのアクセスなし

Entity103 へのアクセスなし

データアクセスプロファイルに競合するルールがある場合、優先度は以下のようになります (優先度の高いものから順に)。

  1. メンバーに対して直接定義されたアクセス (ベースメンバーまたは親メンバー)

  2. 属性によって定義されたアクセス (継承されない)

    定義された属性が Currency=Euro: Read および Country=France: Write である場合は、Entity102 が書込可能です。

  3. 親から継承したアクセス

  4. (階層の最上部にある仮想の親に対して定義されたように) "すべてのメンバー" に対して定義されたアクセス

結果は以下の表に示されています。

ID

アクセス

コメント

Entity0

書込

ルール番号 2 によって定義されます。

Entity1

読込

ルール番号 1 によって読込アクセスが定義され、ルール番号 2 によって書込アクセスが定義されています。ルール番号 1 は、Entity1 に直接適用されるため、適用されます。

Entity101

読込

ルール番号 1 によって定義されます。

Entity102

読込

ルール番号 1 によって定義されます。

Entity103

拒否

ルール番号 1 によって読込アクセスが定義され、ルール番号 2 によって書込アクセスが定義され、ルール番号 3 によって拒否アクセスが定義されます。ルール番号 3 は、Entity103 に直接適用されるため、適用されます。

Entity2

拒否

ルールが存在しない場合、アクセスはデフォルトで拒否されます。

Entity201

拒否

ルールが存在しない場合、アクセスはデフォルトで拒否されます。

Entity202

拒否

ルールが存在しない場合、アクセスはデフォルトで拒否されます。

Entity203

拒否

ルールが存在しない場合、アクセスはデフォルトで拒否されます。

例 - 2 つのデータアクセスプロファイル

データアクセスプロファイル DAP2 は、以下のように定義されています。

ルール番号

メンバー

アクセス

コメント

結果

1

すべてのメンバー

読込

すべてのメンバーへの読込アクセス

すべてのメンバーへの読込アクセス

2

Entity1

拒否

Entity1 およびその子孫へのアクセスなし

Entity1、Entity101、Entity102、および Entity103 へのアクセスなし

3

通貨 = USD

書込

通貨が USD であるメンバーへの書込アクセス

Entity2 および Entity201 への書込アクセス

このデータアクセスプロファイルの結果は以下の表に示されています。

ID

アクセス

コメント

Entity0

読込

ルール番号 1 で定義されます。

Entity1

拒否

ルール番号 1 によって読込アクセスが定義され、ルール番号 2 で拒否アクセスが定義されます。ルール番号 2 は、Entity1 およびその子孫に直接適用されるため、適用されます。

Entity101

拒否

ルール番号 1 によって読込アクセスが定義され、ルール番号 2 で拒否アクセスが定義されます。ルール番号 2 は、Entity1 およびその子孫に直接適用されるため、適用されます。

Entity102

拒否

ルール番号 1 によって読込アクセスが定義され、ルール番号 2 で拒否アクセスが定義されます。ルール番号 2 は、Entity1 およびその子孫に直接適用されるため、適用されます。

Entity103

拒否

ルール番号 1 によって読込アクセスが定義され、ルール番号 2 で拒否アクセスが定義されます。ルール番号 2 は、Entity1 およびその子孫に直接適用されるため、適用されます。

Entity2

書込

ルール番号 1 によって読込アクセスが定義され、ルール番号 3 で書込アクセスが定義されます。ルール番号 3 は、Entity2 のプロパティに直接適用されるため、適用されます。

Entity201

書込

ルール番号 1 によって読込アクセスが定義され、ルール番号 3 で書込アクセスが定義されます。ルール番号 3 は、Entity201 のプロパティに直接適用されるため、適用されます。

Entity202

読込

ルール番号 1 によって定義されます。

Entity203

読込

ルール番号 1 によって定義されます。

複数のデータアクセスプロファイルが 1 人のユーザまたは 1 つのチームに割り当てられている場合、すべてのプロファイルの制限が最も少ないルールの組合せが適用されます。そのため、DAP1 と DAP2 の両方がユーザに割り当てられている場合、そのユーザには以下の権限が付与されます。

ID

DAP1 によって付与されるアクセス

DAP2 によって付与されるアクセス

結果

Entity0

書込

読込

書込アクセス

Entity1

読込

拒否

読込アクセス

Entity101

読込

拒否

読込アクセス

Entity102

読込

拒否

読込アクセス

Entity103

拒否

拒否

アクセス拒否

Entity2

拒否

書込

書込アクセス

Entity201

拒否

書込

書込アクセス

Entity202

拒否

読込

読込アクセス

Entity203

拒否

読込

読込アクセス