Restrinja el acceso al sitio IIS a un grupo de AD


22

¿Es posible en IIS configurar un sitio en IIS y solo permitir que los usuarios de un determinado grupo de AD tengan acceso a él?

Respuestas:


18

Lo siguiente debería funcionar, dependiendo de su versión de IIS. Tendrá que agregar un web.config si no tiene uno (aunque debería hacerlo en IIS7) en la raíz del directorio de su sitio. Lo siguiente permitirá Administradores de dominio y denegará usuarios de dominio (bastante explicativo). Asegúrese de alinear las secciones de configuración si ya tiene una sección, etc.

<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>

Necesitará la autenticación de Windows habilitada en Autenticación en las preferencias de su sitio para que esto funcione, obviamente, pero supongo que ya tiene esto habilitado.


¿En qué versiones de IIS funciona esto?
svandragt

14

La respuesta de joshatkins no funciona en IIS7. Para IIS7, debe usar el atributo de rol. Además, si desea restringir todo el sitio, no necesita el elemento de ubicación.

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

99
No utilice referencias como "arriba" o "abajo" porque no tiene forma de saber en qué orden un individuo ve las respuestas. El problema empeora con el tiempo a medida que se publican más respuestas. En su lugar, debe referirse al nombre del afiche de la respuesta a la que se hace referencia.
John Gardeniers

11

Solo agregué un par de puntos más a las otras respuestas que me ayudaron a descubrir cómo hacer que esto funcione después de que la autenticación AD básica funcionara bien con IIS.

  1. Agregue rol o característica a través del Administrador del servidor de Windows : Servidor web (IIS) -> Servidor web -> Seguridad -> Autorización de URL.
  2. Cierre y vuelva a abrir el Administrador de IIS (si lo tiene abierto), ahora verá (en la Sección IIS de su sitio) Reglas de autorización . Abre esto.
  3. Haga clic en el panel lateral derecho: Agregar regla de permiso
  4. En Roles especificados o grupos de usuarios, escriba el nombre del grupo de AD que necesita. p.ej. myDomain \ myGroup y seleccione OK .
  5. Repita 4 para los grupos que necesita.

si solo desea editar el archivo de configuración directamente, se vería así:

<?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>

También deberá habilitar la autenticación de Windows (NTLM / Curb). De lo contrario, si no se puede determinar la identidad de la sesión del navegador, ¿cómo podría funcionar la autorización basada en roles? Después de seguir sus instrucciones y habilitar la autenticación de Windows, ¡esto funciona!
KFL

3

Si el uso de las reglas de autorización web.config no funciona (por ejemplo, porque se ejecuta un script CGI), puede usar el sistema de permisos de carpeta para deshabilitar la herencia, eliminar usuarios de IIS (para que nadie tenga acceso de lectura) y simplemente agregue el grupo de seguridad en Con acceso de lectura. También debe habilitar algún tipo de método de autenticación (por ejemplo, Basic o Windows Integrated) para que el visitante sea reconocido.


Me gusta este método, puede que no se adapte a las necesidades de todos, pero no hay necesidad de perder el tiempo con web.config
persona


0

Sé que es una pregunta muy antigua, pero esto es algo que necesito en mi entorno de prueba.

Este enfoque funciona para mí y obtengo una ventana emergente para iniciar sesión y puedo iniciar sesión sin ningún problema.

Me preguntaba cómo puedo configurarlo para usar SSO. Si el usuario conectado es miembro del grupo de seguridad, solicite las credenciales.

Mi IIS está en Windows Server 2016 1607 y el sitio web es HTML estático.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.