Le autorizzazioni concesse all'utente "non sono sufficienti per eseguire questa operazione. (rsAccessDenied) "}


99

Ho creato un modello di report utilizzando SSRS (2005) e l'ho pubblicato sul server locale. Ma quando ho provato a eseguire il report per il modello pubblicato utilizzando il generatore di report, viene visualizzato il seguente errore.

Segnala errore di esecuzione: le autorizzazioni concesse all'utente non sono sufficienti per eseguire questa operazione. (rsAccessDenied)


L'ho trovato utile .... msdn.microsoft.com/en-GB/library/bb630430.aspx Windows presume che tutti siano un utente standard ...
Trabumpaline

Risposte:


94

È a causa della mancanza di privilegi per l'utente che stai eseguendo il Generatore di rapporti, assegna semplicemente a quell'utente oa un gruppo il privilegio di eseguire Generatore di rapporti. Si prega di visitare questo articolo

O per scorciatoia:

  1. Avvia Internet Explorer utilizzando "Esegui come amministratore"
  2. Apri http: // localhost / reports
  3. Vai alla scheda delle proprietà (SSRS 2008)
  4. Sicurezza-> Nuova assegnazione ruolo
  5. Aggiungi DOMAIN / USERNAME o DOMAIN / USERGROUP
  6. Controlla il Generatore di rapporti

8
Non sono sicuro che sia specifico per il 2012, ma ho dovuto impostare anche la sicurezza nelle "impostazioni del sito".
uli78

15
Per il 2014, imposta i ruoli sia in "Impostazioni cartella" che in "Impostazioni sito"
Josh Noe

4
Una cosa dall'articolo, che può aiutarti: per configurare utilizzare IE e "Esegui come amministratore". Quindi vai su Impostazioni cartella (imposta te stesso come Content Manager) e su Impostazioni sito (ruolo: amministratore). Quindi torna al browser predefinito e funzionerà. (Sono nel 2012).
Tomasz Gandor

4
Ho dovuto utilizzare DOMAIN \ USERNAME invece di una barra.
Paul

4
Operazione non riuscita al passaggio 2. Ho ricevuto questo messaggio: l'utente non dispone delle autorizzazioni necessarie. Verificare che siano state concesse autorizzazioni sufficienti e che le limitazioni del controllo dell'account utente di Windows (UAC) siano state risolte.
RDeveloper

18

So che è passato molto tempo, ma tu (o qualsiasi altro nuovo arrivato) puoi risolvere questo problema

  1. Aggiungere il [Domain \ User] per amministratore , IISUser , SQLReportingUser gruppi
  2. Elimina la chiave di crittografia negli strumenti di configurazione SSRS
  3. Eseguire nuovamente la modifica del database negli strumenti di configurazione di SSRS
  4. Apri WebServiceUrl dagli strumenti di configurazione SSRS ( http: // localhost / reportserver )
  5. creazione manuale della cartella dei rapporti
  6. vai su Proprietà della cartella creata e aggiungi questi ruoli alla sicurezza ( builtin \ users, builtin \ Administrator, domain \ user )
  7. Distribuisci i tuoi rapporti e il tuo problema è risolto

2
Ciao, Il problema con me è che tutti i rapporti funzionano tranne uno. L'errore è: le autorizzazioni concesse all'utente "NT AUTHORITY \ IUSR" non sono sufficienti per eseguire questa operazione. (rsAccessDenied). Che differenza può esserci per un rapporto?
Richa

5
Non ho nemmeno questi gruppi! Ho Administrators, IIS_IUSRS, SQLServer2005SQLBrowserUser$Userinvece! Cosa devo fare in questo caso? Quante volte cambiano queste cose! : o
user2173353

18

Fare clic con il pulsante destro del mouse su Microsoft BI -> Fare clic su Esegui come amministratore -> aprire il report SSRS esistente o creare il nuovo report SSRS e quindi distribuire il report dopo che è stato eseguito, verrà ricevuto un URL Web per visualizzare il report. Copia quell'URL e incollalo nel browser web (Esegui come amministratore) e otterrai la visualizzazione del rapporto. Potresti usare Internet Explorer, che sarebbe essenziale per il servizio web

Se è sbagliato significa, per favore perdonami perché mi è piaciuto così che ho appena scritto.


2
L'avvio di Visual Studio (BI) come amministratore (clic con il tasto destro) ha funzionato per me.
arriva il

10

Assicurati di avere accesso configurato all'URL http: // localhost / reports utilizzando la configurazione di SQL Reporting Services. Per fare questo:

  1. Aprire Gestione configurazione Reporting Services -> quindi connettersi all'istanza del server di report -> quindi fare clic su URL Gestione report.
  2. Nella pagina URL di Report Manager, fare clic sul pulsante Avanzate -> quindi in Multiple Identities for Report Manager, fare clic su Aggiungi.
  3. Nella casella popup Aggiungi un URL HTTP di Gestione report, selezionare Intestazione host e digitare: localhost
  4. Fare clic su OK per salvare le modifiche.
  5. Ora avvia / esegui Internet Explorer utilizzando Esegui come amministratore ... (NOTA: se non vedi il link "Impostazioni sito" nell'angolo in alto a sinistra mentre sei su http: // localhost / reports , probabilmente è perché non lo sei esegue IE come amministratore o non ha assegnato il "dominio \ nome utente" dei computer ai ruoli dei servizi di report, vedere come eseguire questa operazione nei passaggi successivi.)
  6. Quindi vai su: http: // localhost / reports (potresti dover accedere con il nome utente e la password del tuo computer)
  7. Ora dovresti essere indirizzato alla home page di SQL Server Reporting Services qui: http: //localhost/Reports/Pages/Folder.aspx
  8. Dalla home page, fare clic sulla scheda Proprietà, quindi su Nuova assegnazione ruolo
  9. Nella casella di testo Gruppo o nome utente, aggiungi il 'dominio \ nome utente' che era nel messaggio di errore (nel mio caso, ho aggiunto: DOUGDELL3-PC \ DOUGDELL3 per il 'dominio \ nome utente', nel tuo caso puoi trovare il dominio \ username per il tuo computer nel messaggio di errore rsAccessDenied).
  10. Ora seleziona tutte le caselle di controllo; Browser, Content Manager, I miei report, Publisher, Report Builder e quindi fare clic su OK.
  11. Il tuo dominio \ nome utente dovrebbe ora essere assegnato ai ruoli che ti daranno accesso per distribuire i tuoi rapporti al server di rapporto. Se utilizzi Visual Studio o SQL Server Business Intelligence Development Studio per distribuire i report al server di report locale, ora dovresti essere in grado di farlo.
  12. Si spera che questo ti aiuti a risolvere il messaggio di errore rsAccessDenied di Reports Server ...

Solo per farti sapere che questo tutorial è stato eseguito su un computer Windows 7 con SQL Server Reporting Services 2008.

Articolo di riferimento: http://techasp.blogspot.co.uk/2013/06/how-to-fix-reporting-services.html


2
Si noti che le risposte di solo collegamento sono scoraggiate, quindi le risposte dovrebbero essere il punto finale di una ricerca di una soluzione (rispetto a un'altra sosta di riferimenti, che tendono a diventare obsoleti nel tempo). Si prega di considerare l'aggiunta di una sinossi indipendente qui, mantenendo il collegamento come riferimento.
kleopatra

6

Puoi anche assicurarti che l'identità nel tuo pool di applicazioni abbia le autorizzazioni corrette.

  1. Vai a IIS Manager

  2. Fare clic su Pool di applicazioni

  3. Identifica il pool di applicazioni del sito su cui stai distribuendo i rapporti

  4. Verifica che l'identità sia impostata su un account di servizio o un account utente con autorizzazioni di amministratore

  5. È possibile modificare l'identità arrestando il pool, facendo clic con il pulsante destro del mouse e selezionando Impostazioni avanzate ...

In Process Model c'è il campo Identity


1
Ho anche dovuto fare quanto segue su un server Windows 2008 R2.Per me quello che ha funzionato è stato Open IE in modalità amministratore, ovvero Right Clikc IE -> Run as Administartor. Quindi vai a http: // {your baseurl}: {your base port} / Reports / Per me è devsql2008r2: 80 / Reports Questo ha risolto il mio errore. Chrome o Firefox non possono ancora essere aperti.
Vishnoo Rath

In altre parole: questa risposta risolverebbe uno scenario in cui la tua app personalizzata che sta tentando di chiamare SSRS è in esecuzione come UserAin AppPool Identity. Ma questo UserANON è configurato sul server SSRS per avere accesso (ad esempio, non nel BUILTIN\Administratorsgruppo). Quindi la soluzione consiste nel modificare l'identità di AppPool con un utente amministratore nel dominio. Oppure aggiorna le impostazioni SSRS per includere l'utente corrente di AppPool Identity.
Don Cheadle

5

in Impostazioni sito in Gestione report> Configura definizioni di ruolo a livello di sistema> seleziona l'opzione ExecuteReport Defination quindi Crea un gruppo utenti di sistema, concedi l'accesso a quel gruppo in Connetti al database dei servizi di reporting nelle proprietà del server e aggiungi un gruppo e consenti l'accesso come Utente di sistema ... Dovrebbe funzionare


5

Ho SQL2008 / Windows 2008 Enterprise e questo è quello che dovevo fare per correggere gli rs.accessdeniederrori, 404, 401 e 503:

  • Aggiunti utenti NT agli utenti di SQL Report Server e al gruppo IIS_USR
  • Ho cambiato SQL Reporting Service in account locale (era Domain with Local Admin)
  • Ho eliminato la chiave di crittografia nella configurazione di Reporting Services (ultima scheda dell'elenco)
  • e POI ha funzionato.

5

Ho utilizzato i seguenti passaggi e sta funzionando per me.

Aprire Gestione configurazione Reporting Services -> quindi connettersi all'istanza del server di report -> quindi fare clic su URL Gestione report.

Nella pagina URL di Report Manager, fare clic sul pulsante Avanzate -> quindi in Multiple Identities for Report Manager, fare clic su Aggiungi.

Nella casella popup Aggiungi un URL HTTP di Report Manager, selezionare Intestazione host e digitare: localhost Fare clic su OK per salvare le modifiche.

Poi:

  1. ha copiato l'URL del server di report
  2. Esegui Google Chrome / Internet Explorer come amministratore
  3. Incolla l'URL nella barra degli indirizzi e premi invio.

funziona bene per me su Internet Explorer e Google Chrome ma non per Mozilla Firefox.

Nel caso in cui Firefox richieda nome utente e password, lo sto fornendo ma non funziona. Sono un amministratore e ne ho tutti i diritti.

Ho fatto 1 altra modifica imposta "Impostazioni di controllo dell'account utente" per non notificare mai.

Se si ottiene questo tipo di eccezione durante la distribuzione di questo report da Visual Studio, eseguire le operazioni seguenti:

  1. Apri Google Chrome / Internet Explorer con diritti di amministratore.
  2. aprire l'URL del server di report in esso.

3.Fare clic su "Nuova assegnazione ruolo", aggiungere quindi immettere il nome utente e selezionare i ruoli.inserisci qui la descrizione dell'immagine

  1. fare clic su ok.
  2. Ora distribuire il report da Visual Studio funzionerà e distribuire i report sul server specificato.

4

Apri Internet Explorer come amministratore.

Apri l'URL dei rapporti http://machinename/reportservername

quindi in "Impostazioni cartella" dai il permesso ai gruppi di utenti richiesti.


4

Problema vecchio ma rilevante. Ho risolto per il 2012 accedendo al server di report e:

  • vai a http: // localhost / reports /
  • Fare clic su "Impostazioni sito" in alto a destra (era disponibile solo quando si accede al server di report)
  • Vai alla scheda "Sicurezza" e fai clic su "Nuova assegnazione ruolo"
  • Aggiunto il mio DOMINIO \ NOMEUTENTE come amministratore di sistema

Non posso dire di essere a mio agio con questa soluzione, ma avevo bisogno di qualcosa che funzionasse e funzionasse. Spero che questo aiuti qualcun altro.


4

Dopo aver configurato SSRS 2016, ho eseguito l'RDP nel server (Windows Server 2012 R2), sono andato all'URL dei report ( https://reports.fakeserver.net/Reports/browse/ ) e ho creato una cartella dal titolo FakeFolder; tutto sembrava funzionare bene. Quindi mi sono disconnesso dal server, ho navigato allo stesso URL, ho effettuato l'accesso con lo stesso utente e ho riscontrato l'errore seguente.

Le autorizzazioni concesse all'utente "fakeserver \ mitchs" non sono sufficienti per eseguire questa operazione.

Confuso, ho provato praticamente tutte le soluzioni suggerite in questa pagina e ancora non sono riuscito a creare lo stesso comportamento sia localmente che esternamente durante la navigazione all'URL e l'autenticazione. Ho quindi fatto clic sui puntini di sospensione di FakeFolder, ho fatto clic su Gestisci, ho fatto clic su Sicurezza (sul lato sinistro dello schermo) e mi sono aggiunto come utente con autorizzazioni complete. Dopo la disconnessione dal server, sono andato su https://reports.fakeserver.net/Reports/browse/FakeFolder e sono riuscito a visualizzare il contenuto della cartella senza riscontrare l'errore di autorizzazione. Tuttavia, quando ho cliccato su home ho ricevuto l'errore di autorizzazione.

Per i miei scopi, questo era abbastanza buono in quanto nessun altro avrà mai bisogno di navigare all'URL di root, quindi ho appena preso una nota mentale ogni volta che ho bisogno di apportare modifiche in SSRS per connettermi prima al server e quindi navigare all'URL dei rapporti .


3

Problema:

Errore rsAccessDenied: le autorizzazioni concesse all'utente "Utente \ Utente" non sono sufficienti per eseguire questa operazione.

Soluzione:

Fare clic su "Impostazioni cartella"> "Nuova assegnazione ruolo", quindi digitare "Utente \ Utente" nella "casella di testo del nome del gruppo o dell'utente". Seleziona le caselle di controllo Ruoli che desideri che l'utente abbia.


2

Quello che ha funzionato per me è stato:

Open localhost/reports
Go to properties tab (SSRS 2008)
Security->New Role Assignment
Add DOMAIN/USERNAME or DOMAIN/USERGROUP
Check Report builder

1
Questo ha funzionato anche nel caso in cui avessi importato il database di un collega.
malckier

2

Questo ha funzionato per me- -Vai al report manager, controlla le impostazioni del sito-> Sicurezza -> Nuova assegnazione del ruolo-> aggiungi l'utente

-Inoltre, vai a Set di dati in Gestione rapporti -> set di dati del rapporto -> Sicurezza -> Nuova assegnazione ruolo -> aggiungi l'utente con il ruolo richiesto.

Grazie!


2

So che è passato molto tempo, ma potrebbe essere utile a qualsiasi altro nuovo arrivato,

Ho deciso di passare nome utente, password e dominio durante la richiesta dei rapporti SSRS, quindi ho creato una classe che 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;
    }
}

durante la chiamata a SSRS Reprots, inserisci il seguente pezzo di codice

 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 sono definiti nei file web.config.


1

Proprio come Nasser, so che è successo tempo fa, ma volevo pubblicare la mia soluzione per chiunque avesse questo problema in futuro.

Ho impostato il mio report in modo che utilizzasse una connessione dati in una raccolta di connessioni dati ospitata su SharePoint. Il mio problema era che non avevo la connessione dati "approvata" in modo che fosse utilizzabile da altri utenti.

Un'altra cosa da cercare sarebbe assicurarsi che le autorizzazioni su quella libreria di connessione dati consentano la lettura anche agli utenti selezionati.

Spero che questo aiuti qualcuno prima o poi!


1

Per SQL Reporting Services 2012 - SP1 e SharePoint 2013.

Ho lo stesso problema: le autorizzazioni concesse all'utente "[AppPoolAccount]" non sono sufficienti per eseguire questa operazione.

Sono entrato nelle impostazioni dell'applicazione di servizio, ho fatto clic su Gestione chiavi, quindi Cambia chiave e ho rigenerato la chiave.


1

Grazie per la condivisione. Dopo aver lottato per 1,5 giorni, ho notato che Report Server era configurato con un IP di dominio errato. È stato configurato con l'IP del dominio di backup che è offline. L'ho identificato nella configurazione del gruppo di utenti in cui il nome di dominio non era elencato. IP modificato e riavviare il server di report. Problema risolto.


1

Il report potrebbe voler accedere a DataSource o DataView in cui l'utente AD (o il gruppo AD) dispone di diritti di accesso insufficienti.

Assicurati di controllare i seguenti URL:

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

Quindi scegli Folder Settings

Impostazioni cartella

(o l'individuo appropriato DataSourceo DataSet) e selezionare Security. Il gruppo di utenti deve disporre Browserdell'autorizzazione.

inserisci qui la descrizione dell'immagine


0

Quello che ha funzionato per me è stato:

  • Vai a Impostazioni sito
  • Fare clic su "Configura protezione a livello di sito"
  • Fai clic sul pulsante "Nuova assegnazione ruolo" nella barra superiore
  • Assegna al nuovo ruolo il seguente nome "Tutti"
  • Tra i ruoli disponibili, concedilo solo "Utente di sistema"
  • Fare clic su "Applica"

Dovrebbe bastare

In bocca al lupo!


0

Esegui BIDS come amministratore nonostante l'appartenenza esistente al gruppo Administrators.


1
Non è necessario eseguire come amministratore, l'altra risposta punta a una soluzione migliore fornendo all'utente che deve generare il report i privilegi corretti. L'esecuzione come amministratore non è mai una buona idea se può essere evitata.
Paul Hiemstra
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.