AuthzInitializeContextFromSid 関数 (authz.h)
AuthzInitializeContextFromSid 関数は、ユーザー セキュリティ識別子 (SID) からユーザー モードのクライアント コンテキストを作成します。 ドメイン SID は、Active Directory からトークン グループ属性を取得します。
構文
AUTHZAPI BOOL AuthzInitializeContextFromSid(
[in] DWORD Flags,
[in] PSID UserSid,
[in, optional] AUTHZ_RESOURCE_MANAGER_HANDLE hAuthzResourceManager,
[in] PLARGE_INTEGER pExpirationTime,
[in] LUID Identifier,
[in, optional] PVOID DynamicGroupArgs,
[out] PAUTHZ_CLIENT_CONTEXT_HANDLE phAuthzClientContext
);
パラメーター
[in] Flags
次のフラグが定義されています。
Windows 8 および Windows Server 2012 以降では、リモート コンテキスト ハンドルでこの関数を呼び出すとき、上位 16 ビットはゼロである必要があります。
値 | 意味 |
---|---|
|
既定値です。
AuthzInitializeContextFromSid は、 S4U ログオンを実行して、ユーザーのトークン グループ情報の取得を試みます。 ユーザーのドメインまたは呼び出し元のコンピューターで S4U ログオンがサポートされていない場合、 AuthzInitializeContextFromSid はユーザーのアカウント オブジェクトに対してグループ情報を照会します。 アカウントに直接クエリを実行すると、ログオン特性を表す一部のグループ (ネットワーク、対話型、匿名、ネットワーク サービス、ローカル サービスなど) は省略されます。 アプリケーションは、 AuthzComputeGroupsCallback 関数を実装するか、 AuthzAddSidsToContext 関数を呼び出すことによって、このようなグループ SID を明示的に追加できます。 |
|
AuthzInitializeContextFromSid によって、すべてのグループ評価がスキップされます。 このフラグを使用すると、返されるコンテキストには UserSid パラメーターで指定された SID のみが含まれます。 指定した SID には、任意またはアプリケーション固有の SID を指定できます。 このコンテキストに他の SID を追加するには、 AuthzComputeGroupsCallback 関数を実装するか、 AuthzAddSidsToContext 関数を呼び出します。 |
|
Windows Services For User がトークン グループ情報を取得できない場合、 AuthzInitializeContextFromSid が失敗します。
Windows XP: このフラグはサポートされていません。 |
|
AuthzInitializeContextFromSid に新しいコンテキストの特権を取得させます。 この関数が S4U ログオンを実行すると、トークンから特権が取得されます。 それ以外の場合、関数はコンテキスト内のすべての SID から特権を取得します。 |
[in] UserSid
クライアント コンテキストが作成されるユーザーの SID。 AUTHZ_SKIP_TOKEN_GROUPS フラグを使用しない限り、有効なユーザーまたはコンピューター アカウントである必要があります。
[in, optional] hAuthzResourceManager
このクライアント コンテキストを作成するリソース マネージャーへのハンドル。 このハンドルは、クライアント コンテキスト構造に格納されます。
Windows 8およびWindows Server 2012以降、リソース マネージャーはローカルまたはリモートにすることができ、AuthzInitializeRemoteResourceManager 関数を呼び出すことによって取得されます。
[in] pExpirationTime
トークンの有効期限の日付と時刻。 値が渡されない場合、トークンの有効期限は切れません。 有効期限は現在適用されていません。
[in] Identifier
リソース マネージャーの特定の識別子。 このパラメーターは現在使用されていません。
[in, optional] DynamicGroupArgs
動的グループを計算するコールバック関数に渡されるパラメーターへのポインター。 動的パラメーターがコールバック関数に渡されない場合、このパラメーターは NULL にすることができます。
Windows 8 および Windows Server 2012 以降では、リソース マネージャーがリモートの場合、このパラメーターは NULL である必要があります。 それ以外の場合は、ERROR_NOT_SUPPORTEDが設定されます。
[out] phAuthzClientContext
AuthzInitializeContextFromSid 関数が作成するクライアント コンテキストへのハンドルへのポインター。 ハンドルの使用が完了したら、 AuthzFreeContext 関数を呼び出して解放します。
戻り値
関数が成功した場合、関数は 0 以外の値を返します。
関数が失敗すると、0 が返されます。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
可能であれば、 AuthzInitializeContextFromSid の代わりに AuthzInitializeContextFromToken 関数を呼び出 します。 AuthzInitializeContextFromSid は、クライアントが実際にログオンしていたログオン トークンで使用可能な情報を取得しようとします。 実際のログオン トークンは、ログオンの種類やログオン プロパティなどの詳細情報を提供し、ログオンに使用される認証パッケージの動作を反映します。 AuthzInitializeContextFromToken によって作成されたクライアント コンテキストはログオン トークンを使用し、結果のクライアント コンテキストは AuthzInitializeContextFromSid によって作成されたクライアント コンテキストよりも完全で正確です。
この関数は、有効なユーザー SID のみを解決します。
Windows XP: この関数は、有効なユーザー SID とグループ SID のグループ メンバーシップを解決します (AUTHZ_SKIP_TOKEN_GROUPS フラグを使用しない場合)。 グループ SID のメンバーシップの解決のサポートは、以降のバージョンで変更または使用できない場合があります。
この関数は 、AuthzComputeGroupsCallback コールバック関数を呼び出して、新しく作成されたコンテキストに SID を追加します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | authz.h |
Library | Authz.lib |
[DLL] | Authz.dll |
再頒布可能パッケージ | Windows XP の Windows Server 2003 管理ツール パック |