Limitare l'accesso al sito IIS a un gruppo AD


22

In IIS è possibile configurare un sito in IIS e consentire l'accesso solo agli utenti di un determinato gruppo AD?

Risposte:


18

Di seguito dovrebbe funzionare, a seconda della versione di IIS. Dovrai aggiungere un web.config se non ne hai uno (anche se dovresti su IIS7) nella directory principale del tuo sito. Quanto segue consentirà agli amministratori di dominio e negherà agli utenti di dominio (abbastanza esplicativo). Assicurati di allineare le sezioni di configurazione se hai già una sezione, ecc.

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

Avrai bisogno dell'autenticazione di Windows abilitata in Autenticazione nelle preferenze del tuo sito affinché funzioni, ovviamente, ma suppongo che tu l'abbia già abilitato.


Su quali versioni di IIS funziona?
svandragt,

14

la risposta di joshatkins non funziona in IIS7. Per IIS7, è necessario utilizzare l'attributo ruolo. Inoltre, se si desidera limitare l'intero sito, non è necessario l'elemento location.

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

9
Si prega di non utilizzare riferimenti come "sopra" o "sotto" perché non si ha modo di sapere in quale ordine un individuo vede le risposte. Il problema peggiora nel tempo man mano che vengono pubblicate più risposte. Dovresti invece fare riferimento al nome del poster della risposta a cui fai riferimento.
John Gardeniers,

11

Basta aggiungere un altro paio di punti alle altre risposte che mi hanno aiutato a capire come farlo funzionare dopo che l'autenticazione AD di base funzionava bene con IIS.

  1. Aggiungi ruolo o funzionalità tramite Windows Server Manager : Server Web (IIS) -> Server Web -> Sicurezza -> Autorizzazione URL.
  2. Chiudi quindi riapri il gestore IIS (se lo hai aperto), ora vedrai (sotto la sezione IIS per il tuo sito) le regole di autorizzazione . Apri questo.
  3. Fai clic sul pannello laterale destro: Aggiungi consenti regola
  4. In Ruoli o gruppi di utenti specificati digitare il nome del gruppo AD necessario. per esempio. myDomain \ myGroup e selezionare OK .
  5. Ripeti 4 per i gruppi di cui hai bisogno.

se vuoi solo modificare direttamente il file di configurazione, sarebbe simile a questo:

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

Sarà inoltre necessario abilitare l'autenticazione di Windows (NTLM / Curb). Altrimenti se non è possibile determinare l'identità della sessione del browser, come potrebbe funzionare l'autorizzazione basata sul ruolo? Dopo aver seguito la tua direzione e abilitato l'autenticazione di Windows, funziona!
KFL

3

Se l'utilizzo delle regole di autorizzazione web.config non funziona (ad esempio perché viene eseguito uno script CGI), è possibile utilizzare il sistema di autorizzazioni delle cartelle per disabilitare l'ereditarietà, rimuovere gli utenti IIS (in modo che nessuno abbia accesso in lettura) e aggiungere semplicemente il gruppo di sicurezza in con accesso in lettura. Devi anche abilitare una qualche forma di metodo di autenticazione (ad es. Basic o Windows integrato) in modo che il visitatore sia riconosciuto.


Mi piace questo metodo, potrebbe non soddisfare le esigenze di tutti, ma non c'è bisogno di scherzare con web.config
persona

1

Concedere l'autorizzazione di lettura sulla cartella solo a quel gruppo di domini funziona.


0

So che è una domanda molto vecchia, ma questa è una cosa di cui ho bisogno nel mio ambiente di test.

Questo approccio funziona per me e ottengo un popup per accedere e posso accedere senza alcun problema.

Mi chiedevo come posso configurarlo per usare SSO? Se l'utente che ha effettuato l'accesso è un membro del gruppo di sicurezza, richiedere le credenziali.

Il mio IIS è su Windows Server 2016 1607 e il sito Web è HTML statico.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.