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

22

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

Джон
источник

Ответы:

18

Следующее должно работать, в зависимости от вашей версии 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 в разделе «Проверка подлинности» в настройках вашего сайта, но я предполагаю, что она уже включена.

Джош Аткинс
источник
На каких версиях IIS это работает?
svandragt
14

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

<authorization>
  <allow roles="DOMAIN\Domain Users"/>
  <deny users="*" />
</authorization>
Андерс
источник
9
Пожалуйста, не используйте ссылки, такие как «выше» или «ниже», потому что у вас нет возможности узнать, в каком порядке человек видит ответы. Проблема усугубляется с течением времени, так как появляется больше ответов. Вместо этого вам следует обратиться к названию автора ответа, на который делается ссылка.
Джон Гарденье
11

Просто добавив еще пару пунктов к другим ответам, которые помогли мне понять, как это работает после того, как у меня с базовой 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>
Крис
источник
Вам также необходимо включить проверку подлинности Windows (NTLM / Curb). В противном случае, если идентификация сеанса браузера не может быть определена, как может работать авторизация на основе ролей? После выполнения вашего указания и включения аутентификации Windows, это работает!
KFL
3

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

svandragt
источник
Мне нравится этот метод, он может не удовлетворять потребности каждого, но нет необходимости возиться с web.config
person
1

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

Хусейн Яглы
источник
0

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

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

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

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

9944990
источник