ASP.NET을 사용하여 이벤트 로그에 새로운 이벤트 원본을 생성하고자 할 때, 발생하는 문제에 대해서 아래와 같이 정리하였습니다. 응용 프로그램 풀의 실행 권한과 레지스트리 사용 권한을 확인하는 것이 주요 포인트였습니다.
[환경]
IIS 6
[현상]
ASP.NET을 사용하여 이벤트 로그에 새로운 이벤트 원본을 생성하려 하였을 때, 다음 오류 메시지가 나타납니다.
Exception Details: System.Security.SecurityException: Requested registry access is not allowed
[원인]
Worker Process 실행 계정이 이벤트 원본을 만들기 위해 필요한 레지스트리 사용자 권한을 갖고 있지 않습니다.
[해결방안]
NETWORK SERVICE 계정이 EventLog의 Registry 키를 액세스 할 수 있도록 사용 권한을 추가합니다.
[분석결과]
1. 응용 프로그램 풀 실행 권한 확인 : NETWORK SERVICE
2. 레지스트리 사용권한 확인
가. 경로 : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog
나. 보안 : "NETWORK SERVICE" 계정은 사용 권한 추가되어 있지 않음
[참고자료]
PRB: "Requested Registry Access Is Not Allowed" Error Message When ASP.NET Application Tries to Write New EventSource in the EventLog
http://support.microsoft.com/kb/329291/en-us
작성자 : Lai Go / 작성일자 : 2010.09.07