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 の