저는 최근에 네트워크 서비스 또는 로컬 시스템 대신 IIS AppPool ID를 사용하려고했습니다.dcomcnfg의 AppPool 로컬 활성화 권한 시스템 전체에 큰 보안 위험이 있습니까?
는 이와 같이 나는 기계 - 기본 권한 설정이 COM 서버 응용 프로그램에 대한 로컬 활성화 권한을 부여하지 않는
추악한 오류를 건너 왔어요 CLSID {6E46607A-7347-471B-A98C-BC9E49B07248} 상기 사용자가 사용할 APPID는 어드레스 애플리케이션 컨테이너에서 실행 불가능 SID를 (LRPC 사용)에 LocalHost (불가에서 AppPool을 \ MyAppPool SID (S-1-5-82-476059244-1685105758-59475158-1390954050-72429515)를 IIS). 이 보안 권한은 구성 요소 서비스 관리 도구를 사용하여 으로 수정할 수 있습니다.
내 APPID가이 오류에서 누락 된 것을 발견했을 때 레지스트리를 검색하여 어떤 구성 요소인지 (디버깅 여부에 따라) 알아 냈습니다.
웹 서버의 요청을 처리하는 VC++ out-of-process OLE/COM 서버입니다. (Yay, 1990 's called). 왜 이것이 DCOM과 관련된 것인지 잘 모르겠다. 의도적으로 VS2008의 기본 MFC/OLE 서버 템플릿의 사고로 인한 것일까?
Google의 강력한 기능을 사용하는 경우이 구성 요소의 dcomcnfg 설정을 변경하여 일반적인 IIS AppPool \ MyAppPool 사용자에게 로컬 활성화 권한 (실제로 시도했습니다!)을 허용하고 w3wp를 확인하는 일반적인 경로를 따랐습니다. exe는 동일한 ID로 실행 중입니다.
또한이 exe는 해당 사용자가 읽고 실행할 수 있음을 확인했습니다.
그러나 오류는 계속 유지됩니다.
컴퓨터 전체에서 (개별 구성 요소 노드 대신 내 컴퓨터 노드를 통해) 동일한 사용 권한을 설정하면 구성 요소가 올바르게로드됩니다. 큰 보안 위험이있는 것 같습니다. 그렇지?
오류가 발생한 경우 프로세스 모니터를 사용하여 레지스트리 키 또는 파일 액세스 문제를 찾아 보거나 액세스가 필요한 다른 구성 요소를 식별하려고했습니다. 그러나 아무것도 그것의 머리를 키우지 않았다.
DCOM 권한 시스템 전체를 설정하면 문제가 해결된다는 것을 감안할 때 - 권한이 설정되어야하는 다른 DCOM 구성 요소 나 서비스가 있다는 것을 느낀다.
그래서 )이 문제를 진단하는 방법이 있습니까? DCOM이 내린 결정을 알아 차리시겠습니까? 사용 권한을 설정해야하는 중앙 DCOM 브로커가 있습니까? 디버깅/프로세스 모니터는 도움이되지 않습니다. b) AppPool 로컬 활성화 정책을 컴퓨터 전체에 설정해도 괜찮습니까?
올바른 결정을 내리는 데 도움을 주신 모든 분들께 감사드립니다.
난 그냥 이걸 발견,하지만 불행히도 로그 파일을 진단하는 Microsoft 내부 도구가 필요합니다! https://blogs.msdn.microsoft.com/distributedservices/2009/06/19/tracing-in-com-and-complus/ – GilesDMiddleton