プロパティ固有のアクセス許可をオブジェクト固有の継承と組み合わせて使用すると、強力で詳細な管理の委任を行うことができます。 プロパティ固有のオブジェクト継承可能なACEを設定して、指定したユーザーまたはグループが、コンテナー内の指定したクラスの子オブジェクトの特定の属性の読み取りまたは書き込みを行えるようにすることができます。 たとえば、組織単位 (OU) にACEを設定して、グループがOU内のすべてのユーザーオブジェクトの電話番号属性の読み取りと書き込みを行えるようにすることができます。
プロパティ固有のオブジェクト継承可能なACEを設定するには
- IADsAccessControlEntry.AceTypeをADS_ACETYPE_ACCESS_ALLOWED_OBJECTまたはADS_ACETYPE_ACCESS_DENIED_OBJECT>に設定する。
- IADsAccessControlEntry.ObjectTypeに属性のschemaIDGUIDを設定します。 たとえば、telephoneNumber属性のschemaIDGUIDは{bf967a49-0de6-11d0-a285-00aa003049e2}です。
- IADsAccessControlEntry.AceFlagsをADS_ACEFLAG_INHERIT_ACEに設定する。
- IADsAccessControlEntry.InheritedObjectTypeに、ACEを継承できるオブジェクトクラスのschemaIDGUIDを設定します。 たとえば、ユーザークラスのschemaIDGUIDは{bf967aba-0de6-11d0-a285-00aa003049e2}です。
- IADsAccessControlEntry.FlagsをADS_FLAG_OBJECT_TYPE_PRESENTとADS_FLAG_INHERITED_OBJECT_TYPE_PRESENTに設定する。
重要
ADS_ACEFLAG_INHERIT_ACEを設定すると、ACEが継承されます。 また、このACEが適用されるオブジェクトの種類が、ACEが指定されているコンテナーのオブジェクトの種類と一致しない場合は、ADS_ACEFLAG_INHERIT_ONLY_ACEを設定します。 これを行わないと、ACEがコンテナーでも有効になり、予期しない権限が付与される可能性があります。
この種類のACEの設定に使用できる詳細とコード例については、 ディレクトリオブジェクトにACEを設定するためのコード例を参照してください。