Estou executando um site do IIS 7 com um AppPool do modo de pipeline integrado . O AppPools NÃO é executado em NetworkService, etc. identidade (por objetivo), mas usa sua própria identidade do AppPool (IIS AppPool \ MyAppPool).
Essa é uma conta de serviço ou conta virtual. (uma conta de usuário, que não é uma conta completa ...)
Gostaria de conceder a esta conta de serviço (IIS AppPool \ MyAppPool) permissões para conectar-se ao meu SQL Server 2008 Express (executando no modo de autenticação misto).
Embora o SQL Server possa adicionar qualquer conta de usuário normal, a conta virtual IIS AppPool \ MyAppPool não pode ser adicionada aos logons válidos (o SQL Server diz que a conta não pode ser encontrada).
Existe algum truque, qualquer coisa que eu precise habilitar para fazer as contas virtuais funcionarem? (o processo w3wp.exe é executado sob essa identidade de acordo com taskmgr, mas também não posso usar a conta na segurança NTFS ...)
Obrigado pela ajuda!
fonte
SQL1
conhecimento sobre o local / virtualIIS AppPool\MyAppPool
onWEB1
?fonte
dbo
.Se você estiver passando por máquinas, precisará usar o NETWORK SERVICE, LOCAL SYSTEM, uma conta de domínio ou uma conta de serviço gerenciado do SQL 2008 R2 (se houver), que é a minha preferência se você tiver uma infraestrutura desse tipo . Você não pode usar uma conta que não esteja visível para o domínio do Active Directory.
fonte
Como observação, os processos que usam contas virtuais (NT Service \ MyService e IIS AppPool \ MyAppPool) ainda estão em execução na conta "NETWORK SERVICE", pois esta publicação sugere http://www.adopenstatic.com/cs/blogs/ken/ archive / 2008/01/29 / 15759.aspx . A única diferença é que esses processos são membros dos grupos "NT Service \ MyService" ou "IIS AppPool \ MyAppPool" (pois na verdade são grupos e não usuários). Essa também é a razão pela qual os processos são autenticados na rede como a máquina da mesma forma que a conta do NETWORK SERVICE.
A maneira de proteger o acesso é não depender de essas contas não terem privilégios de SERVIÇO DE REDE, mas conceder mais permissões especificamente para "NT Service \ MyService" ou "IIS AppPool \ MyAppPool" e remover permissões para "Usuários", se necessário.
Se alguém tiver informações mais precisas ou contraditórias, poste.
fonte
Veja: http://www.iis.net/learn/manage/configuring-security/application-pool-identities
fonte
Pode ser o que você está procurando ...
http://technet.microsoft.com/en-us/library/cc730708%28WS.10%29.aspx
Também aconselho a longo prazo que considere um usuário de domínio com direitos limitados; o que você está tentando funciona bem em um cenário de máquina de silos, mas precisará fazer alterações se mudar para outra máquina para o servidor DB.
fonte
Eu descobri isso por tentativa e erro ... a verdadeira fenda na armadura era uma configuração pouco conhecida no IIS no
Configuration Editor
site doSection: system.webServer/security/authentication/windowsAuthentication
From: ApplicationHost.config <locationpath='ServerName/SiteName' />
chamado
useAppPoolCredentials
(que está definido comoFalse
padrão. Defina isso comoTrue
e a vida se tornará ótima novamente !!! Espero que isso economize dor para o próximo cara ....fonte
No meu caso, o problema foi que comecei a criar um projeto de amostra MVC Alloy do zero usando a extensão Visual Studio / Episerver e funcionou bem quando executado usando o Visual Studio iis express local. No entanto, por padrão, ele aponta o banco de dados sql para o LocalDB e, quando implantei o site no IIS local, ele começou a apresentar alguns dos erros iniciais que resolvi: 1. adicionando a ligação do URL do site local a C: / Windows / System32 / drivers / etc / hosts 2. Em seguida, editando o application.config encontrou o local do arquivo clicando com o botão direito do mouse no IIS express no canto inferior direito da tela ao executar o site usando o Visual studio e adicionando a ligação para o URL iis local. 3. Finalmente, fiquei preso com "incapaz de acessar erros no banco de dados"
fonte