オブジェクトのプロパティへのアクセスを制御する ACE
ディレクトリ サービス (DS) オブジェクトの 随意アクセス制御リスト (DACL) には、次のように、アクセス制御エントリ (ACE) の階層を含めることができます。
- オブジェクト自体を保護する ACE
- オブジェクトに設定されたプロパティを保護するオブジェクト固有の ACE
- オブジェクトで指定されたプロパティを保護するオブジェクト固有の ACE
この階層内では、上位レベルで付与または拒否された権限は、下位レベルにも適用されます。 たとえば、プロパティ セットのオブジェクト固有の ACE がADS_RIGHT_DS_READ_PROP権限のトラスティを許可する場合、トラスティはそのプロパティ セットのすべてのプロパティへの暗黙的な読み取りアクセス権を持ちます。 同様に、ADS_RIGHT_DS_READ_PROPアクセスを許可するオブジェクト自体の ACE は、トラスティにオブジェクトのすべてのプロパティへの読み取りアクセス権を付与します。
次の図は、架空の DS オブジェクトとそのプロパティ セットとプロパティのツリーを示しています。
ディレクトリ サービス オブジェクト階層
この DS オブジェクトのプロパティへの次のアクセスを許可するとします。
- すべてのオブジェクトのプロパティに対するグループ A の読み取り/書き込みアクセス許可を許可する
- プロパティ D を除くすべてのプロパティに対する読み取り/書き込みアクセス許可を他のすべてのユーザーに許可する
これを行うには、次の表に示すように、オブジェクトの DACL に ACE を設定します。
受託者 | オブジェクト GUID | ACE の種類 | アクセス権 |
---|---|---|---|
グループ A | 何一つ | アクセス許可 ACE | ADS_RIGHT_DS_READ_PROP |ADS_RIGHT_DS_WRITE_PROP |
皆さん | プロパティ セット 1 | アクセス許可オブジェクト ACE | ADS_RIGHT_DS_READ_PROP |ADS_RIGHT_DS_WRITE_PROP |
皆さん | プロパティ C | アクセス許可オブジェクト ACE | ADS_RIGHT_DS_READ_PROP |ADS_RIGHT_DS_WRITE_PROP |
グループ A の ACE にはオブジェクト GUID がありません。つまり、すべてのオブジェクトのプロパティへのアクセスが許可されます。 プロパティ セット 1 のオブジェクト固有 ACE を使用すると、すべてのユーザーがプロパティ A と B にアクセスできます。もう 1 つのオブジェクト固有 ACE では、すべてのユーザーがプロパティ C にアクセスできます。この DACL にはアクセス拒否 ACE はありませんが、グループ A を除くすべてのユーザーへの Property D アクセスが暗黙的に拒否されることに注意してください。
ユーザーがオブジェクトのプロパティにアクセスしようとすると、システムは、要求されたアクセスが明示的に許可、拒否、またはそれ以上 ACE が存在しないまで、順番に ACE をチェックします。その場合、アクセスは暗黙的に拒否されます。
システムは次の評価を行います。
- オブジェクト自体に適用される ACE
- アクセスするプロパティを含むプロパティ セットに適用されるオブジェクト固有の ACE
- アクセスされるプロパティに適用されるオブジェクト固有の ACE
システムは、他のプロパティ セットまたはプロパティに適用されるオブジェクト固有の ACE を無視します。