iis-7 - user - windows iis application pool identity




Visão geral sobre permissões do IIS7-ApplicationPoolIdentity (6)

Apenas para aumentar a confusão, a caixa de diálogo Permissões efetivas (Windows Explorer) não funciona para esses logins. Eu tenho um site "Umbo4" usando a autenticação de passagem e analisei as Permissões Efetivas do usuário na pasta raiz do site. O teste Verificar Nomes resolveu o nome "IIS AppPool \ Umbo4", mas as Permissões Efetivas mostram que o usuário não tinha permissões na pasta (todas as caixas de seleção estão desmarcadas).

Em seguida, excluí esse usuário da pasta explicitamente, usando a guia Segurança do Explorer. Isso resultou na falha do site com um erro HTTP 500.19, conforme o esperado. As Permissões Efetivas, no entanto, pareciam exatamente como antes.

Recentemente, atualizamos para o IIS7 como um servidor da Web principal e precisamos de uma visão geral em termos das permissões. Anteriormente, ao precisar gravar no sistema de arquivos, eu teria dado ao usuário do AppPool (Serviço de Rede) acesso ao diretório ou arquivo.

No IIS7, vejo, por padrão, que o usuário do AppPool está definido como ApplicationPoolIdentity . Então, quando eu verificar o gerenciador de tarefas, vejo que uma conta de usuário chamada 'WebSite.com' está executando o processo do IIS ('Website.com' sendo o nome do site no IIS)

No entanto, essa conta de usuário não existe se eu tentar usá-la para conceder permissões. Então, como eu determino qual usuário dar as permissões também?

Editar ================================================= =============================

Veja abaixo o problema na captura de tela. Nosso site (www.silverchip.co.uk) é executado no nome de usuário SilverChip.co.uk. No entanto, quando eu adiciono pemissions, este usuário não existe!

================================= Veja a imagem do AppPool


ApplicationPoolIdentity é realmente a melhor prática para usar no IIS7. É uma conta criada de forma dinâmica e sem privilégios. Para adicionar segurança do sistema de arquivos a um pool de aplicativos específico, consulte "Identidades do pool de aplicativos" do IIS.net . A versão rápida:

Se o pool de aplicativos é chamado "DefaultAppPool" (apenas substitua este texto abaixo se ele for nomeado diferente)

  1. Abra o Windows Explorer
  2. Selecione um arquivo ou diretório.
  3. Clique com o botão direito no arquivo e selecione "Propriedades"
  4. Selecione a aba "Segurança"
  5. Clique no botão "Editar" e depois em "Adicionar"
  6. Clique no botão "Locais" e selecione a máquina local . ( Não é o domínio do Windows se o servidor pertencer a um.)
  7. Digite " IIS AppPool \ DefaultAppPool " na caixa de texto "Digite os nomes de objeto para selecionar:". (Não se esqueça de alterar "DefaultAppPool" aqui para o que você nomeou seu pool de aplicativos.)
  8. Clique no botão "Verificar nomes" e clique em "OK".

Eu fixei todos os meus problemas asp.net simplesmente criando um novo usuário chamado IUSER com uma senha e adicionei o serviço de rede e grupos de usuários. Em seguida, crie todos os seus sites virtuais e aplicativos definir autenticação para IUSER com sua senha .. definir o acesso ao arquivo de alto nível para incluir IUSER e BAM que fixou pelo menos 3-4 questões, incluindo este ..

Dave


Lembre-se de usar o nome local do servidor, não o nome do domínio, ao resolver o nome

IIS AppPool\DefaultAppPool

(apenas um lembrete porque isso me tropeçou um pouco):


Top resposta de Jon Adams

Veja como implementar isso para o pessoal do PowerShell

$IncommingPath = "F:\WebContent"
$Acl = Get-Acl $IncommingPath
$Ar = New-Object  system.security.accesscontrol.filesystemaccessrule("IIS AppPool\DefaultAppPool","FullControl","ContainerInherit, ObjectInherit", "None", "Allow")
$Acl.SetAccessRule($Ar)
Set-Acl $IncommingPath $Acl

Parte A: configurando seu pool de aplicativos

Suponha que o pool de aplicativos seja denominado "MyPool". Vá para "Configurações avançadas" do pool de aplicativos no Gerenciador do IIS.

  1. Desloque-se para 'Identidade'. Tentar editar o valor abrirá uma caixa de diálogo. Selecione "Conta interna" e, abaixo dela, selecione "ApplicationPoolIdentity".

  2. Algumas linhas abaixo de 'Identity', você deve encontrar 'Load User Profile'. Este valor deve ser definido como 'True'.

Parte B: Configurando seu site

  1. Nome do site: SiteName (apenas um exemplo)
  2. Caminho Físico: C: \ Whatever (apenas um exemplo)
  3. Conectar como ...: Usuário do aplicativo (autenticação de passagem) (as configurações acima podem ser encontradas em 'Configurações básicas' do site no Gerenciador do IIS)
  4. Depois de definir as configurações básicas, procure a configuração 'Autenticação' em 'IIS' no console principal do site. Abra. Você deverá ver uma opção para 'Autenticação Anônima'. Certifique-se de que esteja ativado. Em seguida, clique com o botão direito e 'Editar ...'. Selecione "Identidade do Pool de Aplicativos".

Parte C: Configurando sua pasta

A pasta em questão é C: \ Whatever

  1. Vá para Propriedades - Compartilhamento - Compartilhamento Avançado - Permissões e marque "Compartilhar esta pasta"
  2. Na mesma caixa de diálogo, você encontrará um botão 'Permissões'. Clique.
  3. Uma nova caixa de diálogo será aberta. Clique em "Adicionar".
  4. Uma nova caixa de diálogo 'Selecionar usuários ou grupos' será aberta. Em "A partir desta localização", certifique-se de que o nome é o mesmo que o seu computador anfitrião local. Em seguida, em "Digite os nomes dos objetos", digite "IIS AppPool \ MyPool" e clique em "Verificar nomes" e, em seguida, em "Ok"
  5. Conceda permissões de compartilhamento completas para o usuário 'MyPool'. Aplique e feche as propriedades da pasta
  6. Abra as propriedades da pasta novamente. Desta vez, vá para Segurança - Avançada - Permissão e clique em Adicionar. Haverá uma opção 'Select a Principal' no topo, ou alguma outra opção para escolher um usuário. Clique.
  7. A caixa de diálogo "Selecionar usuários ou grupos" será aberta novamente. Repita o passo 4.
  8. Dê todas ou tantas permissões que você precisa para o usuário 'MyPool'.
  9. Marque a opção "Substituir todas as permissões do objeto filho ..." e Aplicar e fechar.

Agora você deve poder usar o navegador do site





permissions