2007~2011/IIS2010. 9. 7. 14:43

ASP.NET을 사용하여 이벤트 로그에 새로운 이벤트 원본을 생성하고자 할 때, 발생하는 문제에 대해서 아래와 같이 정리하였습니다. 응용 프로그램 풀의 실행 권한과 레지스트리 사용 권한을 확인하는 것이 주요 포인트였습니다.


[환경]
IIS 6


[현상]
ASP.NET을 사용하여 이벤트 로그에 새로운 이벤트 원본을 생성하려 하였을 때, 다음 오류 메시지가 나타납니다.
Exception Details: System.Security.SecurityException: Requested registry access is not allowed


[원인]
Worker Process 실행 계정이 이벤트 원본을 만들기 위해 필요한 레지스트리 사용자 권한을 갖고 있지 않습니다.


[해결방안]
NETWORK SERVICE 계정이 EventLog의 Registry 키를 액세스 할 수 있도록 사용 권한을 추가합니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog 선택 - 사용 권한 - NETWORK SERVICE 추가



[분석결과]
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

Posted by Lai Go