As permissões concedidas ao usuário 'são insuficientes para realizar esta operação. (rsAccessDenied) "}

99

Criei um modelo de relatório usando SSRS (2005) e publiquei no servidor local. Mas quando tentei executar o relatório para o modelo que publiquei usando o construtor de relatório, recebo o seguinte erro.

Erro de execução de relatório: as permissões concedidas ao usuário são insuficientes para executar esta operação. (rsAccessDenied)

jbcedge
fonte
Achei isso útil .... msdn.microsoft.com/en-GB/library/bb630430.aspx O Windows presume que todos são usuários padrão ...
Trabumpalina de

Respostas:

94

É devido à falta de privilégio para o usuário que você está executando o criador de relatórios, apenas dê a esse usuário ou grupo o privilégio de executar o criador de relatórios. Visite este artigo

Ou para atalho:

  1. Inicie o Internet Explorer usando "Executar como Administrador"
  2. Abra http: // localhost / reports
  3. Vá para a guia de propriedades (SSRS 2008)
  4. Segurança-> Nova Atribuição de Função
  5. Adicionar DOMAIN / USERNAME ou DOMAIN / USERGROUP
  6. Verifique o construtor de relatórios
Emad Mokhtar
fonte
8
Não tenho certeza se é específico de 2012, mas eu tive que configurar a segurança em “configurações do site” também.
uli78
15
Para 2014, configure as funções em "Configurações de pasta" e "Configurações do site"
Josh Noe
4
Uma coisa do artigo, que pode te ajudar: para configurar use o IE e "Executar como Administrador". Em seguida, vá para Configurações de pasta (defina-se como Gerenciador de conteúdo) e para Configurações do site (função: administrador). Em seguida, volte para o navegador padrão e ele funcionará. (Estou em 2012).
Tomasz Gandor
4
Tive que usar DOMAIN \ USERNAME em vez de uma barra.
Paul de
4
Falha na etapa 2. Recebi esta mensagem: O usuário não tem as permissões necessárias. Verifique se as permissões suficientes foram concedidas e se as restrições do Controle de Conta de Usuário (UAC) do Windows foram resolvidas.
RDeveloper de
18

Eu sei que já faz muito tempo, mas você (ou qualquer outro novato) pode resolver esse problema ao

  1. Adicione o [Domínio \ Usuário] aos grupos Administrador , IISUser , SQLReportingUser
  2. Excluir a chave de criptografia nas ferramentas de configuração do SSRS
  3. Execute novamente a alteração do banco de dados nas ferramentas de configuração do SSRS
  4. Abra WebServiceUrl nas ferramentas de configuração do SSRS ( http: // localhost / reportserver )
  5. criando pasta de relatórios manualmente
  6. vá para Propriedades da pasta criada e adicione essas funções à segurança ( builtin \ usuários, builtin \ Administrador, domínio \ usuário )
  7. Implemente seus relatórios e seu problema resolvido
Nasser Hadjloo
fonte
2
Oi, O problema comigo é que todos os relatórios estão funcionando, exceto apenas um. O erro é - as permissões concedidas ao usuário 'NT AUTHORITY \ IUSR' são insuficientes para executar esta operação. (rsAccessDenied). Que diferença pode haver para um relatório?
Richa
5
Eu nem tenho esses grupos! Eu tenho Administrators, IIS_IUSRS, SQLServer2005SQLBrowserUser$Userem vez! O que eu faço neste caso? Quantas vezes essas coisas mudam! : o
user2173353
18

Clique com o botão direito em Microsoft BI -> Clique em Executar como Administrador -> abra seu relatório SSRS existente ou crie seu novo relatório SSRS e, em seguida, implante seu relatório depois de concluído, você receberá um URL da web para visualizar seu relatório. Copie esse URL e cole no navegador da web (Executar como Administrador) e você obterá a visualização do seu relatório. Você poderia usar o Internet Explorer, que seria essencial para o serviço da web

Se for errado significa, Por favor, me perdoe, pois eu fiz assim e acabei de escrever.

Robert Bosco
fonte
2
Iniciar o Visual Studio (BI) como administrador (clique com o botão direito) funcionou para mim.
maets de
10

Certifique-se de ter acesso configurado ao URL http: // localhost / reports usando a configuração do SQL Reporting Services. Para fazer isso:

  1. Abra o Reporting Services Configuration Manager -> conecte-se à instância do servidor de relatório -> e clique no URL do Report Manager.
  2. Na página URL do Gerenciador de relatórios, clique no botão Avançado -> e, em Múltiplas identidades para o gerenciador de relatórios, clique em Adicionar.
  3. Na caixa pop-up Adicionar URL HTTP do Gerenciador de Relatórios, selecione Cabeçalho do Host e digite: localhost
  4. Clique em OK para salvar suas alterações.
  5. Agora inicie / execute o Internet Explorer usando Executar como administrador ... (NOTA: Se você não vir o link 'Configurações do site' no canto superior esquerdo enquanto estiver em http: // localhost / reports , provavelmente você não está executando o IE como administrador ou se você não atribuiu o 'domínio \ nome de usuário' dos seus computadores às funções do Reporting Services, veja como fazer isso nas próximas etapas.)
  6. Em seguida, vá para: http: // localhost / reports (pode ser necessário fazer o login com o nome de usuário e a senha do seu computador)
  7. Agora você deve ser direcionado para a página inicial do SQL Server Reporting Services aqui: http: //localhost/Reports/Pages/Folder.aspx
  8. Na página inicial, clique na guia Propriedades e em Nova Atribuição de Função
  9. Na caixa de texto Nome do grupo ou usuário, adicione o 'domínio \ nome de usuário' que estava na mensagem de erro (no meu caso, adicionei: DOUGDELL3-PC \ DOUGDELL3 para o 'domínio \ nome de usuário', no seu caso você pode encontrar o domínio \ nome de usuário para o seu computador na mensagem de erro rsAccessDenied).
  10. Agora marque todas as caixas de seleção; Navegador, Gerenciador de conteúdo, Meus relatórios, Editor, Construtor de relatórios e clique em OK.
  11. Seu domínio \ nome de usuário agora deve ser atribuído às funções que lhe darão acesso para implantar seus relatórios no Report Server. Se você estiver usando o Visual Studio ou o SQL Server Business Intelligence Development Studio para implantar seus relatórios em seu servidor de relatórios local, agora você deve conseguir.
  12. Esperançosamente, isso o ajudará a resolver a mensagem de erro rsAccessDenied do Reports Server ...

Apenas para informá-lo que este tutorial foi feito em um computador Windows 7 com SQL Server Reporting Services 2008.

Artigo de referência: http://techasp.blogspot.co.uk/2013/06/how-to-fix-reporting-services.html

Soheila Hg
fonte
2
Observe que as respostas somente com link são desencorajadas, as respostas do SO devem ser o ponto final de uma busca por uma solução (em vez de outra parada de referências, que tendem a ficar obsoletas com o tempo). Considere adicionar uma sinopse independente aqui, mantendo o link como uma referência.
kleopatra de
6

Você também pode ter certeza de que a identidade em seu pool de aplicativos tem as permissões corretas.

  1. Vá para o Gerenciador de IIS

  2. Clique em pools de aplicativos

  3. Identifique o pool de aplicativos do site em que você está implantando relatórios

  4. Verifique se a identidade está definida para alguma conta de serviço ou conta de usuário com permissões de administrador

  5. Você pode alterar a identidade parando o pool, clicando com o botão direito e selecionando Configurações avançadas ...

Em Modelo de Processo está o campo Identidade

Kasey Mohsen
fonte
1
Eu também tive que fazer o seguinte em um servidor Windows 2008 R2. Para mim, o que funcionou foi Abrir o IE no modo Admin, que é Right Clikc IE -> Executar como Administartor. Em seguida, navegue para http: // {sua baseurl}: {sua porta base} / Relatórios / Para mim, é devsql2008r2: 80 / Relatórios Isso resolveu meu erro. Ainda não é possível abrir o Chrome ou Firefox.
Vishnoo Rath
Em outras palavras: esta resposta consertaria um cenário em que seu aplicativo personalizado que está tentando chamar o SSRS está sendo executado como UserAna identidade do AppPool. Mas isso UserANÃO está configurado no servidor SSRS para ter acesso (por exemplo, não no BUILTIN\Administratorsgrupo). Portanto, a correção é alterar a identidade do AppPool para algum usuário administrador no domínio. Ou atualize as configurações do SSRS para incluir o usuário AppPool Identity atual.
Don Cheadle
5

em Configuração do site no gerenciador de relatórios> Configurar definições de função no nível do sistema> marque a opção ExecuteReport Defination e, em seguida, crie um grupo de usuários do sistema, dê acesso a esse grupo em Conectar-se ao seu banco de dados de serviços de relatórios nas propriedades do servidor e adicione um grupo e permita o acesso como Usuário do sistema ... Deve funcionar

kamal
fonte
5

Tenho SQL2008 / Windows 2008 Enterprise e isso é o que tive que fazer para corrigir os rs.accessdeniederros, 404, 401 e 503:

  • Adicionados usuários do NT a usuários do SQL Report Server e grupo IIS_USR
  • Mudei SQL Reporting Service para conta local (era domínio com administrador local)
  • Excluí a chave de criptografia na configuração do Reporting Services (última guia da lista)
  • e ENTÃO funcionou.
Grant Thomas
fonte
5

Eu usei os seguintes passos e está funcionando para mim.

Abra o Reporting Services Configuration Manager -> conecte-se à instância do servidor de relatório -> e clique no URL do Report Manager.

Na página URL do Gerenciador de relatórios, clique no botão Avançado -> e, em Múltiplas identidades para o gerenciador de relatórios, clique em Adicionar.

Na caixa pop-up Adicionar URL HTTP do Gerenciador de Relatórios, selecione Cabeçalho do Host e digite: localhost Clique em OK para salvar suas alterações.

Então:

  1. copiou o URL do servidor de relatório
  2. Execute o Google chrome / Internet Explorer como administrador
  3. Cole o URL na barra de endereço e pressione Enter.

está funcionando bem para mim no Internet Explorer e no Google Chrome, mas não para o Mozilla Firefox.

No caso do Firefox pedir nome de usuário e senha, estou fornecendo, mas não está funcionando. Eu sou administrador e tenho todo o direito.

Eu fiz mais 1 alteração, defina "Configurações de controle de conta de usuário" para nunca notificar.

Se você estiver recebendo esse tipo de exceção ao implantar este relatório do Visual Studio, faça o seguinte:

  1. Abra o Google Chrome / Internet Explorer com direitos de administrador.
  2. abra a URL do servidor de relatório nele.

3.Clique em "Nova Atribuição de Função" e, em seguida, insira o nome do usuário e selecione as Funções.insira a descrição da imagem aqui

  1. Clique OK.
  2. Agora implante o relatório do Visual Studio, ele funcionará e implantará os relatórios no servidor especificado.
Banketeshvar Narayan
fonte
4

Abra o Internet Explorer como administrador.

Abra o url dos relatórios http://machinename/reportservername

em seguida, em 'configurações de pasta', dê permissão aos grupos de usuários necessários.

Atur
fonte
4

Problema antigo, mas relevante. Resolvi 2012 fazendo login no servidor de relatórios e:

  • navegue para http: // localhost / reports /
  • Clique em 'Configurações do site' no canto superior direito (disponível apenas ao fazer login no servidor de relatório)
  • Vá para a guia 'Segurança' e clique em 'Nova Atribuição de Função'
  • Adicionado meu DOMÍNIO \ NOME DE USUÁRIO como Administrador do sistema

Não posso dizer que estou confortável com essa solução, mas precisava de algo que funcionasse e funcionasse. Espero que isso ajude mais alguém.

user2051770
fonte
4

Após configurar o SSRS 2016, fiz RDP no servidor (Windows Server 2012 R2), naveguei até a URL de relatórios ( https://reports.fakeserver.net/Reports/browse/ ) e criei uma pasta com o título FakeFolder; tudo parecia estar funcionando bem. Em seguida, desconectei-me do servidor, naveguei até o mesmo URL, fiz login como o mesmo usuário e encontrei o erro abaixo.

As permissões concedidas ao usuário 'fakeserver \ mitchs' são insuficientes para realizar esta operação.

Confuso, tentei praticamente todas as soluções sugeridas nesta página e ainda não consegui criar o mesmo comportamento local e externamente ao navegar para a URL e autenticar. Em seguida, cliquei nas reticências de FakeFolder, cliquei em Gerenciar, cliquei em Segurança (no lado esquerdo da tela) e me adicionei como um usuário com permissões totais. Depois de desconectar do servidor, naveguei até https://reports.fakeserver.net/Reports/browse/FakeFolder e consegui visualizar o conteúdo da pasta sem encontrar o erro de permissão. No entanto, quando cliquei em página inicial, recebi o erro de permissões.

Para meus propósitos, isso foi bom o suficiente, já que ninguém mais precisará navegar até o URL raiz, então eu apenas fiz uma observação mental sempre que preciso fazer alterações no SSRS para conectar primeiro ao servidor e depois navegar até o URL de relatórios .

Mitch Stewart
fonte
3

Problema:

Erro rsAccessDenied: as permissões concedidas ao usuário 'Usuário \ Usuário' são insuficientes para executar esta operação.

Solução:

Clique em "Configuração de pasta"> "Nova atribuição de função" Em seguida, digite "Usuário \ Usuário" na caixa de texto 'Grupo ou nome de usuário'. Marque as caixas de seleção Funções que você deseja que o usuário tenha.

Vicky
fonte
2

O que funcionou para mim foi:

Open localhost/reports
Go to properties tab (SSRS 2008)
Security->New Role Assignment
Add DOMAIN/USERNAME or DOMAIN/USERGROUP
Check Report builder
Ajay
fonte
1
Isso também funcionou para mim no caso em que importei o banco de dados de um colega.
Malckier
2

Isso funcionou para mim - vá para o gerenciador de relatórios, verifique as configurações do site-> Segurança -> Nova Atribuição de Função-> adicione o usuário

-Além disso, vá para Conjuntos de dados no gerenciador de relatórios -> seu conjunto de dados de relatório -> Segurança -> Atribuição de nova função -> adicione o usuário com a função necessária.

Obrigado!

Geetanjali Sachdeva
fonte
2

Eu sei que é há muito tempo, mas pode ser útil para qualquer outro recém-chegado,

Decidi passar o nome de usuário, senha e domínio ao solicitar relatórios SSRS, então criei uma classe que implementa IReportServerCredentials.

 public class ReportServerCredentials : IReportServerCredentials   
{
    #region  Class Members
        private string username;
        private string password;
        private string domain;
    #endregion

    #region Constructor
        public ReportServerCredentials()
        {}
        public ReportServerCredentials(string username)
        {
            this.Username = username;
        }
        public ReportServerCredentials(string username, string password)
        {
            this.Username = username;
            this.Password = password;
        }
        public ReportServerCredentials(string username, string password, string domain)
        {
            this.Username = username;
            this.Password = password;
            this.Domain = domain;
        }
    #endregion

    #region Properties
        public string Username
        {
            get { return this.username; }
            set { this.username = value; }
        }
        public string Password
        {
            get { return this.password; }
            set { this.password = value; }
        }
        public string Domain
        {
            get { return this.domain; }
            set { this.domain = value; }
        }
        public WindowsIdentity ImpersonationUser
        {
            get { return null; }
        }
        public ICredentials NetworkCredentials
        {
            get
            {
                return new NetworkCredential(Username, Password, Domain);
            }
        }
    #endregion

    bool IReportServerCredentials.GetFormsCredentials(out System.Net.Cookie authCookie, out string userName, out string password, out string authority)
    {
        authCookie = null;
        userName = password = authority = null;
        return false;
    }
}

ao chamar Reprots SSRS, coloque o seguinte trecho de código

 ReportViewer rptViewer = new ReportViewer();
 string RptUserName = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUser"]);
        string RptUserPassword = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUserPassword"]);
        string RptUserDomain = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUserDomain"]);
        string SSRSReportURL = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportURL"]);
        string SSRSReportFolder = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportFolder"]);

        IReportServerCredentials reportCredentials = new ReportServerCredentials(RptUserName, RptUserPassword, RptUserDomain);
        rptViewer.ServerReport.ReportServerCredentials = reportCredentials;
        rptViewer.ServerReport.ReportServerUrl = new Uri(SSRSReportURL);

SSRSReportUser, SSRSReportUserPassword, SSRSReportUserDomain, SSRSReportFolder são definidos em arquivos web.config.

Dhruv Patel
fonte
1

Assim como o Nasser, sei que isso foi há um tempo, mas gostaria de postar minha solução para quem tiver esse problema no futuro.

Eu tinha meu relatório configurado para que ele usasse uma conexão de dados em uma biblioteca de conexão de dados hospedada no SharePoint. Meu problema era que eu não tinha a conexão de dados 'aprovada' para que pudesse ser usada por outros usuários.

Outra coisa a se observar seria ter certeza de que as permissões nessa biblioteca de conexão de dados também permitem a leitura para os usuários selecionados.

Espero que isso ajude alguém, mais cedo ou mais tarde!

T0t3sMcG0t3s
fonte
1

Para SQL Reporting Services 2012 - SP1 e SharePoint 2013.

Eu tive o mesmo problema: as permissões concedidas ao usuário '[AppPoolAccount]' são insuficientes para realizar esta operação.

Entrei nas configurações do aplicativo de serviço, cliquei em Gerenciamento de chave e, em seguida, em Alterar chave e fiz com que ele gerasse a chave novamente.

Kevin Cole -MCM-
fonte
1

Obrigado por compartilhar. Depois de lutar por 1,5 dias, notei que o Report Server foi configurado com o IP de domínio errado. Ele foi configurado com IP de domínio de backup que está offline. Eu identifiquei isso na configuração do grupo de usuários, onde o nome de domínio não estava listado. IP alterado e reinicie o servidor de relatório. Problema resolvido.

Vijay
fonte
1

O relatório pode querer acessar um DataSource ou DataView onde o usuário AD (ou grupo AD) possui direitos de acesso insuficientes.

Certifique-se de verificar os seguintes URLs:

  • http://REPORTSERVERNAME/Reports/Pages/Folder.aspx?ItemPath=%2fDataSources
  • http://REPORTSERVERNAME/Reports/Pages/Folder.aspx?ItemPath=%2fDataSets

Então escolha Folder Settings

Configurações de pasta

(ou o indivíduo apropriado DataSourceou DataSet) e selecione Security. O grupo de usuários precisa ter Browserpermissão.

insira a descrição da imagem aqui

MovGP0
fonte
0

O que funcionou para mim foi:

  • Vá para a configuração do site
  • Clique em "Configurar segurança em todo o site"
  • Clique no botão "Nova Atribuição de Função" na barra superior
  • Dê à nova função o seguinte nome "Todos"
  • Das funções disponíveis, conceda a ele apenas "Usuário do sistema"
  • Clique em "Aplicar"

Isso deve resolver,

Boa sorte!

Éter
fonte
0

Execute o BIDS como administrador, apesar de ser membro do grupo Administradores.

Alexander Kashtalyan
fonte
1
Não há necessidade de executar como administrador, a outra resposta aponta para uma solução melhor, dando ao usuário que precisa gerar o relatório os privilégios corretos. Executar como administrador nunca é uma boa idéia se puder ser evitado.
Paul Hiemstra