Я недавно пытался использовать идентификатор IIS AppPool вместо сетевой службы или локальной системы.Разрешает локальное разрешение активации AppPool System Wide в dcomcnfg большой риск для безопасности?
Как таковой я наткнулся уродливой ошибки
Параметры разрешений машины по умолчанию не предоставляют локальную активацию разрешения для приложения COM-сервера с CLSID { 6E46607A-7347-471B-A98C-BC9E49B07248} и APPID будет доступна для пользователя IIS AppPool \ MyAppPool SID (S-1-5-82-476059244-1685105758-59475158-1390954050-72429515) с адреса LocalHost (Использование LRPC) работает в контейнере приложения Unavailable SID (Недоступно). Это разрешение безопасности может быть , измененное с помощью инструмента администрирования служб компонентов.
Как вы можете заметить, мой APPID отсутствовал в этой ошибке, я искал реестр и выяснил, какой компонент он был (также отлаживается).
Это автономный сервер OLE/COM VC++, который обрабатывает запросы с нашего веб-сервера. (Yay, 1990-е годы назывались). Я не совсем уверен, почему это связано с DCOM, нет ничего «распределенного» по этому поводу по дизайну, может быть, более случайно или артефакта шаблонов серверов MFC/OLE по умолчанию для VS2008?
Пользуясь полномочиями Google, я выполнил типичный маршрут изменения параметра dcomcnfg для этого компонента, чтобы разрешить моему IIS AppPool \ MyAppPool пользователю разрешение на локальную активацию (я все их пробовал на самом деле!) И подтвердил, что w3wp. exe работает как одна и та же идентичность.
Я также убедился, что этот exe был удобочитаемым/исполняемым этим пользователем.
Однако ошибка по-прежнему сохраняется.
Только установив одинаковые разрешения общесистемный (через узел «Мой компьютер», а не отдельный узел компонента) правильно загрузила компонент. Это похоже на большой риск для безопасности. Это?
В неудачном случае я попытался использовать монитор процесса, чтобы выявить любые разделы реестра или проблемы с доступом к файлу, или определить, какие другие компоненты могут потребовать доступа. Но ничто не подняло голову.
Учитывая, что настройка системы разрешений DCOM устраняет проблему - мне кажется, что есть еще один компонент или служба DCOM, для которой установлены разрешения, но я не могу узнать, какой.
So a) Есть ли способ дальнейшей диагностики этой проблемы? Вынюхивают решения, принимаемые DCOM? Есть ли центральный калькулятор DCOM, который также нуждался в разрешениях? Отладка/Монитор процессов, похоже, не помогают. б) Можно ли настроить локальную политику активации AppPool на всю ширину?
Огромное спасибо всем, кто помогает мне принять правильное решение.
Я только что нашел это, но, к сожалению, файлы журналы требуют внутренних инструментов Microsoft для диагностики! https://blogs.msdn.microsoft.com/distributedservices/2009/06/19/tracing-in-com-and-complus/ – GilesDMiddleton