次の方法で共有


RtlEqualPrefixSid 関数 (ntifs.h)

RtlEqualPrefixSid ルーチンは、2 つのセキュリティ識別子 (SID) プレフィックスが等しいかどうかを判断します。 SID プレフィックスは、最後のサブ認証値を除く SID 全体です。

構文

NTSYSAPI BOOLEAN RtlEqualPrefixSid(
  [in] PSID Sid1,
  [in] PSID Sid2
);

パラメーター

[in] Sid1

比較する最初の SID 構造体へのポインター。 有効な SID を指す必要があります。

[in] Sid2

比較する 2 番目の SID 構造体へのポインター。 有効な SID を指す必要があります。

戻り値

RtlEqualPrefixSid 、SID プレフィックスが等しい場合 TRUE を返し、それ以外の場合は FALSE 返します。 いずれかの SID 構造体が無効な場合、戻り値は未定義です。

備考

RtlEqualPrefixSid すると、あるドメイン内のサーバーで、ユーザーが別のドメインにログオンしようとしたかどうかを確認できます。 たとえば、ユーザーが LocalDomain のワークステーションから RemoteDomain にログオンしようとすると、LocalDomain のサーバーは、ユーザーとユーザーのグループの SID を RemoteDomain から要求できます。 RemoteDomain のドメイン コントローラーは、関連する SID で応答します。

指定したドメインのすべての SID は、必ずしも同じプレフィックスを持っています。 サーバーは、ユーザーの SID を受信すると、各 SID RtlEqualPrefixSid を呼び出し、ユーザーまたはグループ SID と RemoteDomain の SID を比較できます。 SID プレフィックスのいずれかが等しくない場合、サーバーはログオンの試行を拒否します。

ドメインの SID をグループまたはユーザー SID と比較する前に変更することをお勧めします。 RemoteDomain の SID が S-1-1234-8 の場合、そのドメインの各グループまたはユーザー SID のプレフィックスは S-1-1234-8 になります。 RtlEqualPrefixSid 使用して SID を比較するために、呼び出し元はドメイン SID をコピーし、サブ認証の相対識別子の値をコピーに追加して、S-1-1234-8-0 の形式で SID を作成します。 (相対識別子 (RID) は、SID を発行した機関に関連してユーザーまたはグループを識別する SID の部分です)。その後、呼び出し元は、変更されたドメイン SID を、グループとユーザーの SID を比較するテンプレートとして使用します。

セキュリティとアクセス制御の詳細については、ドライバー開発者向けの Windows セキュリティ モデルの と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー ntifs.h (Ntifs.h を含む)
ライブラリ Ntdll.lib
DLL Ntdll.dll
IRQL <= APC_LEVEL

関連項目

RtlCopySid する

RtlEqualSid する

RtlValidSid

SID