PrivilegedServiceAuditAlarmW 関数 (securitybaseapi.h)
PrivilegedServiceAuditAlarm 関数は、セキュリティ イベント ログに監査メッセージを生成します。 保護されたサーバーは、この関数を使用して、指定された一連の特権を使用するクライアントによる試行をログに記録 できます。
アラームは現在サポートされていません。
構文
BOOL PrivilegedServiceAuditAlarmW(
[in] LPCWSTR SubsystemName,
[in] LPCWSTR ServiceName,
[in] HANDLE ClientToken,
[in] PPRIVILEGE_SET Privileges,
[in] BOOL AccessGranted
);
パラメーター
[in] SubsystemName
関数を呼び出すサブシステムの名前を指定する null で終わる文字列へのポインター。 この情報は、セキュリティ イベント ログ レコードに表示されます。
[in] ServiceName
特権サブシステム サービスの名前を指定する null で終わる文字列へのポインター。 この情報は、セキュリティ イベント ログ レコードに表示されます。
[in] ClientToken
操作を要求したクライアントを表す アクセス トークン を識別します。 このハンドルは、クライアントを偽装するスレッドのトークンを開くことで取得されている必要があります。 TOKEN_QUERYアクセスするには、トークンを開く必要があります。 関数は、このトークンを使用して、セキュリティ イベント ログ レコードのクライアントの ID を取得します。
[in] Privileges
クライアントが使用しようとした特権を含む PRIVILEGE_SET 構造体へのポインター。 特権の名前は、セキュリティ イベント ログ レコードに表示されます。
[in] AccessGranted
クライアントによる特権の使用が成功したかどうかを示します。 この値が TRUE の場合、セキュリティ イベント ログ レコードは成功を示します。 この値が FALSE の場合、セキュリティ イベント ログ レコードはエラーを示します。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
PrivilegedServiceAuditAlarm 関数は、クライアントのアクセス トークンをチェックして、特権が保持されているか有効であるかを判断しません。 通常は、まず PrivilegeCheck 関数を呼び出して、指定された特権がアクセス トークンで有効になっているかどうかを判断してから、 PrivilegedServiceAuditAlarm を呼び出して結果をログに記録します。
PrivilegedServiceAuditAlarm 関数では、呼び出し元プロセスでSE_AUDIT_NAME特権が有効になっている必要があります。 この特権のテストは、常に呼び出し元プロセスの プライマリ トークン に対して実行されます。 これにより、呼び出しプロセスは、呼び出し中にクライアントを偽装できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | securitybaseapi.h (Windows.h を含む) |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |
こちらもご覧ください
クライアント/サーバー Access Control関数
クライアント/サーバー Access Controlの概要
ObjectPrivilegeAuditAlarm
PRIVILEGE_SET
PrivilegeCheck