新しいディレクトリオブジェクトにセキュリティ記述子を設定する方法

Active Directory Domain Servicesで新しいオブジェクトを作成するときに、セキュリティ記述子を明示的に作成し、そのセキュリティ記述子をオブジェクトのnTSecurityDescriptorプロパティとして設定できます。 詳細については、 「新しいディレクトリオブジェクトのセキュリティ記述子の作成」 を参照してください。

Active Directory Domain Servicesは、次の規則を使用して、新しいオブジェクトのセキュリティ記述子にDACLを設定します。

  • オブジェクトの作成時にセキュリティ記述子を明示的に指定すると、セキュリティ記述子の制御ビットでSE_DACL_PROTECTEDビットが設定されていない限り、親オブジェクトからの継承可能なAceが指定されたDACLにマージされます。
  • セキュリティ記述子を指定しない場合、システムは、親オブジェクトからの継承可能なAceを、オブジェクトのクラスのclassSchemaオブジェクトの既定のDACLにマージすることによって、オブジェクトのDACLを構築します。
  • スキーマに既定のDACLがない場合、オブジェクトのDACLは、作成者のプライマリまたは偽装トークンの既定のDACLになります。
  • 指定された、継承された、または既定のDACLがない場合、システムはDACLなしでオブジェクトを作成します。これにより、すべてのユーザーがオブジェクトにフルアクセスできるようになります。

システムは、同様のアルゴリズムを使用して、ディレクトリサービスオブジェクトのSACLを構築します。

新しいオブジェクトのセキュリティ記述子の所有者とプライマリグループは、オブジェクトの作成時にnTSecurityDescriptorプロパティで指定した値に設定されます。 これらの値を設定しない場合、Active Directory Domain Servicesは、次の表に示す規則を使用して設定します。

Rule 説明
所有者 既定のセキュリティ記述子の所有者は、作成プロセスのプライマリトークンまたは偽装トークンの既定の所有者SIDに設定されます。 ほとんどのユーザーの場合、既定の所有者SIDは、ユーザーのアカウントを識別するSIDと同じです。 組み込みの管理者グループのメンバーであるユーザーの場合、システムはアクセストークン内の既定の所有者SIDを管理者グループに自動的に設定することに注意してください。したがって、管理者グループのメンバーによって作成されたオブジェクトは、通常、管理者グループによって所有されます。 アクセストークンの既定の所有者を取得または設定するには、TOKEN_OWNER構造体を使用してGetTokenInformationまたはSetTokenInformation関数を呼び出します。
プライマリグループ 既定のセキュリティ記述子のプライマリグループは、作成者のプライマリトークンまたは偽装トークンからの既定のプライマリグループに設定されます。 プライマリグループはActive Directoryドメインサービスのコンテキストでは使用されないことに注意してください。

 

ACE継承の詳細については、 「管理の継承と委任」 を参照してください。

スキーマの既定のセキュリティ記述子の詳細については、 「既定のセキュリティ記述子」 を参照してください。

classSchemaオブジェクトの詳細については、 「Active Directoryスキーマ」 を参照してください。