IIS8 Application Pool Identity с интегрированной безопасностью на SQL Server в недоверенном домене?

Вот сценарий, с которым мы столкнулись, и почему мы пытаемся решить эту проблему:

Мы - консалтинговая компания, которая поддерживает определенное стороннее программное приложение для ряда клиентов. Приложение написано на ASP.NET и работает на IIS и SQL Server. В этом примере организация 'ABC' размещает приложение на серверах в своем домене. Это приложение хорошо расширяемо и настраиваемо, поэтому у каждого из наших клиентов часто есть хранилище настроек, и у них может быть один или несколько поставщиков, которые поддерживают эти настройки.

Если организация просит нас или другого поставщика изменить существующую настройку, это обычно требует установки локального экземпляра приложения на наших машинах, чтобы сделать разработку более эффективной (особенно отладку). Мы обычно стараемся избегать размещения локальной копии их базы данных, вместо этого мы подключаемся к VPN организации с наших локальных машин, чтобы наш локальный экземпляр IIS мог подключиться к SQL-серверу разработчиков в их сети, а затем мы устанавливаем учетные данные SQL для строк подключения вместо использования типичной интегрированной безопасности.

Проблема в том, что некоторым организациям не нравится, когда учетные данные SQL используются для аутентификации, даже на SQL-серверах разработки. Я понимаю, что есть веские основания для разрешения использования учетных данных SQL на SQL-сервере разработки, если этот сценарий необходимо поддерживать, но я пытаюсь выяснить, есть ли вообще какой-либо другой вариант. Собственные инженеры организации могут настроить свои локальные идентификаторы пула приложений IIS на использование учетных данных домена для доступа к SQL серверам с помощью интегрированной безопасности. Однако внешние поставщики (например, мы) не подключены к их домену, а домены не являются доверенными, поэтому я не могу использовать предоставленные организацией ABC учетные данные домена в качестве идентификатора пула приложений.

Кто-нибудь знает о возможном способе заставить приложение IIS, запущенное на машине из домена 'XYZ', использовать Integrated Security для аутентификации на SQL-сервере, запущенном в домене 'ABC', не доверяя доменам и не настраивая делегирование Kerberos?

Я рассматривал возможность использования различных встроенных учетных записей в качестве идентификаторов пула приложений и попытку предоставить им доступ на SQL-сервере, но мы не хотим предоставлять доступ на SQL-сервере для всех возможных комбинаций DOMAIN\MachineName$, которые могут подключаться к нему от различных поставщиков. Возможно, если следовать соглашению об именовании имени пула приложений и использовать ApplicationPoolIdentity, то мы могли бы предоставить доступ на SQL-сервере только одной "виртуальной" учетной записи? (Я еще не пробовал это сделать и планирую сделать это, когда позволит время).

3
задан 13 August 2019 в 22:30
1 ответ

Это невозможно, если вы не являетесь членом их домена или хотя бы не доверяете.

Ваш сервер не понимает, что такое другой домен, и не имеет ни одного учетные данные, которые позволяют вам пройти аутентификацию (или обнаружить) их домен. Windows обычно не позволяет вам запускать процесс от имени пользователя из центра (домена), которому он не доверяет, поэтому вы не можете установить идентификатор пула приложений, потому что рабочий процесс будет пытаться запускаться от имени этого пользователя.

1
ответ дан 3 December 2019 в 07:21

Теги

Похожие вопросы