Чтобы пояснить это, APPPOOL\MyCustomAppPool
, как LocalServer, NetworkService и SID для каждой услуги, являются локальными идентификаторами.Они не существуют в домене и поэтому не могут быть использованы для доступа к удаленному ресурсу.Однако сам сервер имеет учетную запись в домене, и когда код, работающий под этими удостоверениями, обращается к удаленным ресурсам, они используют учетную запись компьютера.
Если у вас есть несколько идентификаторов пулов приложений на сервере IIS и вам необходимо разграничить их доступ к сетевым ресурсам или предотвратить накопление привилегий для учетной записи компьютера, вам потребуется подготовить учетные записи домена для пулов приложений.
Если вы подключаетесь к локальному SQL-серверу с использованием удостоверения пула приложений, в сообщении об ошибке (сбивает с толку) будет указано, что вы подключаетесь к учетной записи компьютера.Это недостаток, как SQL Server сообщает об ошибке.Например, если я попытаюсь подключиться к локальному серверу SQL из приложения IIS, произойдет сбой с
Login failed for user 'MyDomain\MyServer$'
, пока я не предоставлю доступ к локальному серверу SQL с помощью
create login [IIS APPPOOL\DefaultAppPool] from windows
create user [IIS APPPOOL\DefaultAppPool] for login [IIS APPPOOL\DefaultAppPool]
grant select to [IIS APPPOOL\DefaultAppPool]