Por que o IIS6 está usando minha conta de usuário anônimo do site para acesso a arquivos em vez da conta do pool de aplicativos?

1

Estou configurando um site no IIS 6.0 e confuso sobre contas e permissões. Eu tenho um conjunto de aplicativos criado especialmente para este site, com um usuário específico. A folha de propriedades Métodos de autenticação tem a conta IUSR_XXX como usuário anônimo.

De acordo com essa pergunta: No IIS 7.0, qual é a diferença entre a identidade do pool de aplicativos e a identidade do site?

.. a conta do pool de aplicativos deve ser usada para acesso a arquivos. Mas eu não estou vendo esse comportamento. Se eu apenas der permissão de conta de usuário do site para o sistema de arquivos, obtenho erros de acesso negado. Mas se der permissão de leitura IUSR_XXX aos arquivos, eles serão exibidos.

Então, o que está acontecendo aqui? O comportamento é diferente entre o IIS 6 e o IIS 7 nessa questão? Devo ignorar o pool de aplicativos e apenas alterar o usuário anônimo? Qual é a configuração recomendada aqui para um site que precisará acessar um banco de dados e gravar em determinadas pastas no sistema de arquivos?

Qualquer ajuda seria muito apreciada, obrigado!

    
por Clyde 02.09.2009 / 16:55

2 respostas

1

A IUSR e a conta do Serviço de Rede são usadas pelo IIS. Aqui estão minhas recomendações ...

  1. Para um site público disponível para todos:

O IUSR e o Serviço de Rede precisam ter acesso de Leitura a todos os arquivos do aplicativo (páginas .aspx etc.) e dlls do site. O IUSR precisaria ter acesso de gravação a qualquer pasta onde o site está gravando arquivos (isso pode ser perigoso em um site público). O banco de dados seria acessado por uma conta SQL ou Network especificada no arquivo web.config na seção de conexão com o banco de dados.

  1. Para um site com autenticação de formulários (login através de uma página de login usando nome de usuário e senha):

O mesmo que acima. O acesso de gravação a qualquer pasta agora está melhor protegido porque a pessoa que usa o site foi autenticada pelo seu aplicativo.

  1. Para um website usando a autenticação integrada:

As credenciais de usuário do usuário autenticado precisam ter acesso de leitura a todos os arquivos do aplicativo (páginas .aspx etc.) e dlls do site. As credenciais de usuário do usuário autenticado precisariam ter acesso de gravação a qualquer pasta em que o site estivesse gravando arquivos. O banco de dados seria acessado por uma conta SQL ou Network especificada no web.config na seção de conexão do banco de dados ou pelas credenciais do usuário autenticado.

Atualizar A conta do Serviço de Rede (ou qualquer conta que você esteja usando para o pool de aplicativos) e a IUSR trabalham juntas. Nem sempre é 100% claro para mim qual conta está controlando o acesso a quais recursos, mas sei por experiência que você precisa ter ambos. O IUSR é usado para acessar páginas .aspx, arquivos de imagem, conteúdo estático, etc. A conta Serviço de Rede acessa a metabase do IIS, suas dlls de aplicativo, os arquivos de estrutura .Net, etc. Espero que isso ajude.

    
por 02.09.2009 / 17:22
0

Pelo que consegui encontrar, esse comportamento mudou entre o IIS6 e o IIS7. No II6, parece que você não pode ter a conta do pool de aplicativos como a conta de usuário anônimo, pelo menos diretamente, como acontece no II7. Eu gosto de usar a conta do pool de aplicativos para acesso anônimo no IIS7, mas isso não funciona no IIS6, então preciso de uma configuração diferente.

Veja este artigo: link

Apart from the account changes, IIS 7.x also enables designating the Application pool identity as the anonymous user account. This main advantage of using the application pool identity as the anonymous user is that you do not have to manage security for another user account.
    
por 04.08.2012 / 01:51