マスター データ サービスでは、セキュリティを構成する最も簡単な方法は、ユーザーがメンバーになっているグループにモデル オブジェクトのアクセス許可を割り当てることです。
セキュリティは、次の場合により複雑になります。
モデル オブジェクトと階層メンバーの権限の両方が割り当てられます。
ユーザーはグループに属し、アクセス許可はユーザーとグループの両方に割り当てられます。
ユーザーはグループに属し、アクセス許可は複数のグループに割り当てられます。
1 つのグループまたはユーザーに割り当てられたアクセス許可
1 つのグループまたはユーザーにアクセス許可を割り当てる場合、アクセス許可は次のワークフローに基づいて決定されます。
手順 1: 有効な属性のアクセス許可が決定されます。
次の一覧では、有効な属性のアクセス許可を決定する方法について説明します。
モデル オブジェクトに割り当てられた権限によって、ユーザーがアクセスできる属性が決まります。
すべてのモデル オブジェクトは、モデル構造の上位レベルで最も近いオブジェクトから権限を自動的に継承します。
エンティティと同じレベルのオブジェクトは暗黙的に拒否されます。
上位レベルのオブジェクトには、ナビゲーション アクセス権が付与されます。 ナビゲーション アクセスの詳細については、「 ナビゲーション アクセス (マスター データ サービス)」を参照してください。
この例では、 読み取り専用 のアクセス許可がエンティティに割り当てられ、そのアクセス許可はモデル構造の下位レベルにある属性によって継承されます。 このモデルは、このエンティティとその属性へのナビゲーション アクセスを提供します。 モデル内の他のエンティティには明示的なアクセス許可が割り当てられていないため、アクセス許可は継承されないため、暗黙的に拒否されます。
手順 2: 階層メンバーのアクセス許可が割り当てられている場合は、有効なメンバーのアクセス許可が決定されます。
次の一覧では、階層メンバーの有効なアクセス許可を決定する方法について説明します。
階層ノードに割り当てられたアクセス許可によって、ユーザーがアクセスできるメンバーが決まります。
階層内のすべてのノードは、階層構造の上位レベルで最も近いオブジェクトからアクセス許可を自動的に継承します。
同じレベルのノードは暗黙的に拒否されます。
アクセス許可が割り当てられない上位レベルのノードは、暗黙的に拒否されます。
この例では、 読み取り専用 アクセス許可は階層の 1 つのノードに割り当てられ、その権限は階層構造の下位レベルのノードによって継承されます。 ルートにはアクセス許可が割り当てられていないため、暗黙的に拒否されます。 階層構造の他のノードには明示的なアクセス許可が割り当てられていないため、アクセス許可は継承されないため、暗黙的に拒否されます。
手順 3: 属性とメンバーのアクセス許可の共通部分が決定されます。
有効な属性のアクセス許可が有効なメンバーのアクセス許可と異なる場合は、個々の属性値ごとにアクセス許可を決定する必要があります。 詳細については、「 モデルとメンバーの権限の重複 (マスター データ サービス)」を参照してください。
複数のグループに割り当てられたアクセス許可
ユーザーが 1 つ以上のグループに属し、アクセス許可がユーザーとグループの両方に割り当てられている場合、ワークフローはより複雑になります。
この場合、モデル オブジェクトと階層メンバーのアクセス許可を比較する前に、重複するユーザーとグループのアクセス許可を解決する必要があります。 詳細については、「 ユーザーとグループの権限の重複 (マスター データ サービス)」を参照してください。
こちらもご覧ください
重複するユーザーとグループのアクセス許可 (マスター データ サービス)、重複するモデルとメンバーのアクセス許可 (マスター データ サービス)