Назад | Перейти на главную страницу

Ограничить доступ к сайту IIS для группы AD

Можно ли в IIS настроить сайт в IIS и разрешить доступ к нему только пользователям определенной группы AD?

Следующее должно работать, в зависимости от вашей версии IIS. Вам нужно будет добавить web.config, если у вас его нет (хотя он должен быть на IIS7) в корне каталога вашего сайта. Приведенное ниже позволит администраторам домена и запретить пользователям домена (довольно понятно). Убедитесь, что вы выровняли разделы конфигурации, если у вас уже есть раздел и т. Д.

<configuration>
  <location path="MyPage.aspx/php/html">
      <system.web>
         <authorization>
            <allow users="DOMAIN\Domain Admins"/>
            <deny users="DOMAIN\Domain Users"/>
         </authorization>
      </system.web>
   </location>
</configuration>

Очевидно, что для этого вам потребуется включить проверку подлинности Windows в разделе «Проверка подлинности» в настройках вашего сайта, но я предполагаю, что она уже включена.

ответ Джошаткинса не работает в IIS7. Для IIS7 вам необходимо использовать атрибут роли. Кроме того, если вы хотите ограничить весь сайт, вам не нужен элемент местоположения.

<authorization>
  <allow roles="DOMAIN\Domain Users"/>
  <deny users="*" />
</authorization>

Просто добавьте еще пару баллов к другим ответам, которые помогли мне понять, как заставить это работать после того, как у меня базовая аутентификация AD отлично работает с IIS.

  1. Добавить роль или функцию через Диспетчер Windows Server: Веб-сервер (IIS) -> Веб-сервер -> Безопасность -> Авторизация URL.
  2. Закройте, затем снова откройте Диспетчер IIS (если он у вас открыт), теперь вы увидите (в разделе IIS вашего сайта) Правила авторизации. Откройте это.
  3. Нажмите на правую боковую панель: Добавить разрешающее правило
  4. Под Указанные роли или группы пользователей введите имя нужной группы AD. например. myDomain \ myGroup и выберите хорошо.
  5. Повторите 4 действия для нужных вам групп.

если вы просто хотите напрямую отредактировать файл конфигурации, он будет выглядеть примерно так:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        ...
        <security>
            <authorization>
                <remove users="*" roles="" verbs="" />
                <add accessType="Allow" roles="myDomain\myGroup01" />
                <add accessType="Allow" roles="myDomain\myGroup02" />
            </authorization>
        </security>
    </system.webServer>
</configuration>

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

Предоставление разрешения на чтение папки только этой группе домена также работает.

Я знаю, что это очень старый вопрос, но это то, что мне нужно в моей тестовой среде.

Этот подход работает для меня, и я получаю всплывающее окно для входа в систему, и я могу войти в систему без каких-либо проблем.

Мне было интересно, как я могу настроить его для использования единого входа? Если вошедший в систему пользователь является членом группы безопасности, запросите учетные данные.

Мой IIS находится на Windows Server 2016 1607, а веб-сайт - статический HTML.