Application Pool Identities


Quando o IIS 6.0 foi lançado, uma das principais mudanças que foi feita nela, foi a possibilidade de criar Application Pools, onde podemos isolar/agrupar aplicações que compartilham o mesmo worker process (w3wp.exe). Eu já falei por aqui sobre as características deles neste artigo.

Na configuração padrão, todo Application Pool criado sempre fazia uso de uma identidade chamada Network Service, que nada mais é do que uma conta com poucos privilégios, mas o suficiente para executar uma aplicação Web em um ambiente parcialmente confiável.

O maior problema é que o uso dessa identidade começou a ser largamente utilizada, entre as aplicações dentro do IIS e também em outros serviços espalhados pelo sistema operacional. Até então, se quisermos isolar um Application Pool para uma conta mais privilegiada, somos obrigados a criar uma nova conta no sistema operacional e definí-la nas propriedades do Application Pool (através da opção Custom Account) dentro do IIS, para que o runtime passe a utilizá-la. Dependendo da quantidade de aplicações que exigem esse refinamento, você poderá se deparar com uma explosão de contas sendo criadas dentro do sistema operacional, aumentando também a dificuldade no gerenciamento das mesmas.

Para melhorar um pouco isso, a Microsoft criou uma funcionalidade no IIS 7.5 (Windows 7 ou Windows Server 2008 R2) chamada de Application Pool Identity. A finalidade desta “identidade” é possibilitar ao sistema operacional criar uma espécie de conta virtual, nomeando-a com o mesmo nome do Application Pool, sem misturar com aquelas identidades efetivas que já estão criadas no sistema operacional. A imagem abaixo mostra esta nova opção, que está disponível a partir da propriedade Identity nas configurações avançadas do Application Pool

Quando você define ApplicationIdentity nas opções disponíveis, o sistema operacional criará uma conta virtual, e com ela você poderá conceder ou negar acesso à recursos do sistema operacional, como por exemplo, permitir que os sites que estejam debaixo deste Application Pool possam efetuar upload de arquivos para o diretório D:ConteudoUploads. Se for a aba Security de um diretório qualquer e tentar procurar diretamente pelo nome do Application Pool, você não encontrará; o que você precisa fazer é digitar o nome do Application Pool, mas prefixando-o com “IIS AppPool“, ficando da seguinte forma: IIS AppPoolTesteAppPool (onde TesteAppPool é o nome do Application Pool). Ao clicar no botão Check Names, você verá que a identidade já será encontrada.

A partir de agora, podemos refinar as permissões por Application Pool, sem a necessidade de criar “fisicamente” as contas no sistema operacional.

Anúncios

Um comentário sobre “Application Pool Identities

  1. It’s a shame you don’t have a donate button! I’d definitely donate to this outstanding blog! I guess for now i’ll settle for book-marking and adding your RSS feed to my Google account. I look forward to fresh updates and will share this site with my Facebook group. Talk soon!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s