SSRS Execution Account e o erro “Logon failed (rsLogonFailed) Logon failure: unknown user name or bad password”

O SQL Server Reporting Services possui uma configuração opcional chamada de “Execution Account“. Ela pode ser acessada dentro do Reporting Services Configuration Manager, como mostra a figura abaixo:

Reporting Services Execution Account

Essa é uma conta especial que é utilizada para relatórios nas seguintes situações:

Relatórios autônomos, que são aqueles disparados por um evento, como um relatório baseado em agendamento, ao invés de executados por um usuário.

Requisições através da rede que ocorrem quando há um data source que não exige/usa autenticação (você configura o data source dessa forma), mas que precisam de uma identificação para acessar os dados.

Ao acessar arquivos de imagens utilizados no relatório que não podem ser acessados de forma anônima.

Nesses casos é preciso uma conta especial que será utilizada para a autenticação devido ao fato de que o SSRS nunca usa a sua conta de serviço para acessar outros computadores. Esse é o papel da Execution Account.

Até ai tudo bem, mas há um pequeno “porém” que eu passei a conhecer ontem ao resolver o problema em um cliente e que apenas hoje encontrei uma fonte explicando os motivos.

O que ocorre é que se você especificar a Execution Account o SSRS irá SEMPRE personificar essa conta ao acessar um relatório, MESMO que você esteja realizando uma execução sob demanda (ou seja, mesmo que você clique no relatório para acessá-lo).

O processo é basicamente o seguinte, ao acessar um relatório, por exemplo, com uma conta definida no data source, o SSRS irá autenticar com essa conta, mas durante esse processo ele também irá autenticar a Execution Account. Boa parte do trabalho ocorre sob a conta do data source, mas em algum momento ele irá utilizar a conta da Execution Account.

Você deve estar se perguntando qual o problema nisso. Exatamente a situação que eu enfrentei. O que ocorre se a Execution Account expirar ou tiver sua senha alterada?! ERRO! Isso mesmo, não importa se a conta utilizada no data source acessa normalmente os dados, será apresentada uma mensagem de ERRO!

A mensagem exibida será a seguinte:

“Logon failed (rsLogonFailed) Logon failure: unknown user name or bad password.”

Então, caso veja essa mensagem, é bom verificar se há uma Execution Account configurada e se a senha está atualizada.

Para evitar esse problema, uma dica é configurar a conta do Execution Account para não expirar, pois ela de certa forma é uma conta de serviço.

Outra dica importante é que você nunca deve utilizar a mesma conta de serviço do SSRS como Execution Account, já que essa opção existe exatamente para evitar essa situação.

Para acessar a fonte da informação que repassei aqui, basta clicar nesse link.

Esse post foi publicado em Artigos, Segurança, Virtual PASS BR. Bookmark o link permanente.

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