Restringir o acesso ao site IIS a um grupo do AD

22

É possível no IIS configurar um site no IIS e permitir apenas que usuários de um determinado grupo do AD tenham acesso a ele?

John
fonte

Respostas:

18

O seguinte deve funcionar, dependendo da sua versão do IIS. Você precisará adicionar um web.config se não tiver um (embora você deva no IIS7) na raiz do diretório do seu site. O abaixo permitirá administradores de domínio e negará usuários de domínio (bastante auto-explicativos). Certifique-se de alinhar as seções de configuração, se você já possui uma seção, 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>

Você precisará da Autenticação do Windows ativada em Autenticação nas preferências do seu site para que isso funcione, obviamente, mas presumo que você já a tenha ativada.

Josh Atkins
fonte
Em quais versões do IIS isso funciona?
svandragt
14

A resposta de joshatkins não funciona no IIS7. Para o IIS7, você precisa usar o atributo role. Além disso, se você deseja restringir todo o site, não precisa do elemento local.

<authorization>
  <allow roles="DOMAIN\Domain Users"/>
  <deny users="*" />
</authorization>
Anders
fonte
9
Por favor, não use referências como "acima" ou "abaixo" porque você não tem como saber em que ordem um indivíduo vê as respostas. O problema piora com o tempo, à medida que mais respostas são publicadas. Você deve consultar o nome do pôster da resposta que está sendo referenciada.
John Gardeniers 19/10/12
11

Apenas adicionando mais alguns pontos às outras respostas que me ajudaram a descobrir como fazer isso funcionar depois que a autenticação básica do AD estava funcionando bem com o IIS.

  1. Adicionar função ou recurso pelo Gerenciador do Windows Server : Servidor Web (IIS) -> Servidor Web -> Segurança -> Autorização de URL.
  2. Feche e reabra o Gerenciador do IIS (se estiver aberto), agora você verá (na seção IIS do seu site) as Regras de Autorização . Abra isso.
  3. Clique no painel do lado direito: Adicionar regra de permissão
  4. Em Funções especificadas ou grupos de usuários, digite o nome do grupo do AD necessário. por exemplo. myDomain \ myGroup e selecione OK .
  5. Repita 4 para os grupos que você precisa.

se você quiser editar o arquivo de configuração diretamente, será algo parecido com isto:

<?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>
Chris
fonte
Você também precisará habilitar a Autenticação do Windows (NTLM / Kerb). Caso contrário, se a identidade da sessão do navegador não puder ser determinada, como poderia funcionar a autorização baseada em função? Depois de seguir sua orientação e ativar a autenticação do Windows, isso funciona!
KFL
3

Se o uso das regras de autorização web.config não funcionarem (por exemplo, porque um script CGI é executado), você pode usar o sistema de permissões de pasta para desativar a herança, remover usuários do IIS (para que ninguém tenha acesso de leitura) e apenas adicionar o grupo de segurança em com acesso de leitura. Você também precisa habilitar algum tipo de método de autenticação (por exemplo, Básico ou Windows Integrado) para que o visitante seja reconhecido.

svandragt
fonte
Eu gosto deste método, não pode necessidades terno de todos, mas não há necessidade de mexer com web.config
pessoa
1

Dar permissão de leitura na pasta apenas para esse grupo de domínios também funciona.

Hüseyin Yağlı
fonte
0

Eu sei que é uma pergunta muito antiga, mas isso é algo que eu preciso no meu ambiente de teste.

Essa abordagem funciona para mim e recebo um pop-up para fazer login e posso fazer login sem nenhum problema.

Eu queria saber como posso configurá-lo para usar o SSO? Se o usuário conectado for um membro do grupo de segurança, solicite credenciais.

Meu IIS está no Windows Server 2016 1607 e o site é HTML estático.

9944990
fonte