次の方法で共有


プライベート オブジェクトのセキュリティ記述子

セキュリティ記述子を作成するために、保護されたサーバーは、セキュリティ保護可能なオブジェクトのセキュリティ記述子を作成するためにアプリケーションが使用するのと同じ手順を使用できます。 サンプル コードについては、「 C++ での新しいオブジェクトのセキュリティ記述子の作成」を参照してください。 または、保護されたサーバー アプリケーションで BuildSecurityDescriptor 関数を呼び出してこれを行うことができます。 既存の 自己相対セキュリティ記述子 へのポインターが BuildSecurityDescriptor に提供されている場合は、そのセキュリティ記述子から取得した情報を、関数呼び出しでパラメーターとして渡される新しいアクセス制御情報とマージして、新しいセキュリティ記述子を構築します。 所有者とグループは、必要に応じて、関数に渡される トラスティ 構造体によって指定されます。 BuildSecurityDescriptor によって作成されるセキュリティ記述子は、自己相対形式です。

さらに、Windows API には、クライアント セキュリティ情報と、親オブジェクトのセキュリティ記述子または既定のセキュリティ記述子から継承された情報をマージするための一連の関数が用意されています。 CreatePrivateObjectSecurityGetPrivateObjectSecuritySetPrivateObjectSecurityDestroyPrivateObjectSecurity 関数は、アクセス トークンから既定の情報を取得し、継承をサポートし、セキュリティ記述子の特定の部分を操作する機能を提供します。 これは、クライアントがセキュリティで保護されたオブジェクトの階層内にプライベート オブジェクトを作成する場合に便利です。 たとえば、 CreatePrivateObjectSecurity 関数を使用して、クライアントで指定された ACE、親オブジェクトから継承された ACE、および作成しているクライアントのアクセス トークンの既定の所有者を含むセキュリティ記述子を作成できます。 BuildSecurityDescriptor は、関数呼び出しに渡されるアクセス制御情報または既存のセキュリティ記述子からセキュリティ記述子を作成しますが、CreatePrivateObjectSecurity は、既存のセキュリティ記述子の情報からのみセキュリティ記述子を作成します。

LookupSecurityDescriptorParts 関数は、 既存の 自己相対セキュリティ記述子からセキュリティ記述子情報を取得します。 この情報には、所有者とグループの仕様、SACL または DACL 内の ACE の数、SACL または DACL の ACE の一覧が含まれます。