Uprawnienia przyznane użytkownikowi 'są niewystarczające do wykonania tej operacji. (rsAccessDenied) "}

99

Utworzyłem model raportu za pomocą SSRS (2005) i opublikowałem na lokalnym serwerze. Ale kiedy próbowałem uruchomić raport dla modelu, który opublikowałem za pomocą narzędzia do tworzenia raportów, pojawia się następujący błąd.

Błąd wykonania raportu: uprawnienia przyznane użytkownikowi są niewystarczające do wykonania tej operacji. (rsAccessDenied)

jbcedge
źródło
Znalazłem to pomocne ... msdn.microsoft.com/en-GB/library/bb630430.aspx Windows zakłada, że ​​każdy jest zwykłym użytkownikiem ...
Trabumpaline

Odpowiedzi:

94

Dzieje się tak z powodu braku uprawnień użytkownika, dla którego uruchamiasz narzędzie do tworzenia raportów, po prostu nadaj temu użytkownikowi lub grupie uprawnienia do uruchamiania narzędzia do tworzenia raportów. Odwiedź ten artykuł

Lub na skróty:

  1. Uruchom przeglądarkę Internet Explorer za pomocą opcji „Uruchom jako administrator”
  2. Otwórz http: // localhost / reports
  3. Przejdź do zakładki właściwości (SSRS 2008)
  4. Bezpieczeństwo-> Przypisanie nowej roli
  5. Dodaj DOMAIN / USERNAME lub DOMAIN / USERGROUP
  6. Sprawdź narzędzie do tworzenia raportów
Emad Mokhtar
źródło
8
Nie jestem pewien, czy jest to specyficzne dla 2012 roku, ale musiałem również skonfigurować zabezpieczenia w „ustawieniach witryny”.
uli78
15
Na rok 2014 skonfiguruj role w „Ustawieniach folderów” i „Ustawieniach witryny”
Josh Noe
4
Jedna rzecz z artykułu, która może ci pomóc: skonfiguruj IE i "Uruchom jako administrator". Następnie przejdź do Ustawień folderów (ustaw siebie jako Menedżera treści) i Ustawień Witryny (rola: administrator). Następnie wróć do domyślnej przeglądarki i będzie działać. (Jestem na 2012).
Tomasz Gandor
4
Musiałem użyć DOMENY \ USERNAME zamiast ukośnika.
Paul
4
Niepowodzenie w kroku 2. Otrzymałem wiadomość: Użytkownik nie ma wymaganych uprawnień. Sprawdź, czy przyznano wystarczające uprawnienia i rozwiązano ograniczenia kontroli konta użytkownika systemu Windows (UAC).
RDeveloper
18

Wiem, że to było dawno temu, ale Ty (lub wszyscy nowi przybysze) możecie rozwiązać ten problem przez

  1. Dodać [domena \ użytkownik] do administratora , IISUser , SQLReportingUser grup
  2. Usuń klucz szyfrowania w narzędziach konfiguracyjnych SSRS
  3. Uruchom ponownie zmianę bazy danych w narzędziach konfiguracyjnych usług SSRS
  4. Otwórz WebServiceUrl z narzędzi konfiguracyjnych SSRS ( http: // localhost / reportserver )
  5. ręczne tworzenie folderu raportów
  6. przejdź do Właściwości utworzonego folderu i dodaj te role do zabezpieczeń ( wbudowane \ użytkownicy, wbudowane \ Administrator, domena \ użytkownik )
  7. Wdróż swoje raporty i problem zostanie rozwiązany
Nasser Hadjloo
źródło
2
Cześć, Problem ze mną polega na tym, że działają wszystkie raporty z wyjątkiem jednego. Błąd: Uprawnienia przyznane użytkownikowi „ZARZĄDZANIE NT \ IUSR” są niewystarczające do wykonania tej operacji. (rsAccessDenied). Jaka może być różnica w przypadku jednego raportu?
Richa
5
Nie mam nawet tych grup! Mam Administrators, IIS_IUSRS, SQLServer2005SQLBrowserUser$Userzamiast! Co mam zrobić w takim przypadku? Jak często te rzeczy się zmieniają! : o
user2173353
18

Kliknij prawym przyciskiem myszy Microsoft BI -> Kliknij Uruchom jako administrator -> otwórz istniejący raport SSRS lub utwórz nowy raport SSRS, a następnie wdróż raport, po wykonaniu tych czynności otrzymasz jeden internetowy adres URL, aby wyświetlić raport. Skopiuj ten adres URL i wklej do przeglądarki internetowej (Uruchom jako administrator), a otrzymasz widok raportu. Możesz użyć Internet Explorera, który byłby niezbędny dla usługi internetowej

Jeśli to źle oznacza, proszę wybacz mi, ponieważ tak zrobiłem, więc właśnie napisałem.

Robert Bosco
źródło
2
Uruchomienie programu Visual Studio (BI) jako administrator (kliknięcie prawym przyciskiem) załatwiło sprawę.
maets
10

Upewnij się, że masz skonfigurowany dostęp do adresu URL http: // localhost / reports przy użyciu konfiguracji usług SQL Reporting Services. Aby to zrobić:

  1. Otwórz Menedżera konfiguracji usług Reporting Services -> następnie połącz się z wystąpieniem serwera raportów -> kliknij opcję Adres URL menedżera raportów.
  2. Na stronie adresu URL menedżera raportów kliknij przycisk Zaawansowane -> następnie w obszarze Wiele tożsamości dla Menedżera raportów kliknij przycisk Dodaj.
  3. W oknie podręcznym Dodaj adres URL HTTP Menedżera raportów wybierz nagłówek hosta i wpisz: localhost
  4. Kliknij OK, aby zapisać zmiany.
  5. Teraz uruchom / uruchom program Internet Explorer, używając Uruchom jako administrator ... (UWAGA: jeśli nie widzisz łącza „Ustawienia witryny” w lewym górnym rogu pod adresem http: // localhost / reports , prawdopodobnie nie działając IE jako administrator lub nie przypisałeś domeny \ nazwa użytkownika komputera do ról usług raportowania, zobacz, jak to zrobić w kilku następnych krokach).
  6. Następnie przejdź do: http: // localhost / reports (może być konieczne zalogowanie się przy użyciu nazwy użytkownika i hasła do komputera)
  7. Powinieneś teraz przejść do strony głównej usług SQL Server Reporting Services tutaj: http: //localhost/Reports/Pages/Folder.aspx
  8. Na stronie głównej kliknij kartę Właściwości, a następnie kliknij opcję Nowe przypisanie roli
  9. W polu tekstowym Nazwa grupy lub użytkownika dodaj `` domena \ nazwa użytkownika '', która była w komunikacie o błędzie (w moim przypadku dodałem: DOUGDELL3-PC \ DOUGDELL3 dla `` domeny \ nazwa użytkownika '', w twoim przypadku możesz znaleźć domenę \ nazwa użytkownika komputera w komunikacie o błędzie rsAccessDenied).
  10. Teraz zaznacz wszystkie pola wyboru; Browser, Content Manager, My Reports, Publisher, Report Builder, a następnie kliknij OK.
  11. Twoja domena \ nazwa użytkownika powinna być teraz przypisana do ról, które zapewnią dostęp do wdrażania raportów na serwerze raportów. Jeśli używasz programu Visual Studio lub SQL Server Business Intelligence Development Studio do wdrażania raportów na lokalnym serwerze raportów, teraz powinno to być.
  12. Mamy nadzieję, że pomoże ci to rozwiązać komunikat o błędzie rsAccessDenied serwera raportów ...

Chcemy tylko poinformować, że ten samouczek został wykonany na komputerze z systemem Windows 7 z usługami SQL Server Reporting Services 2008.

Artykuł referencyjny: http://techasp.blogspot.co.uk/2013/06/how-to-fix-reporting-services.html

Soheila Hg
źródło
2
Zwróć uwagę, że odradza się udzielanie odpowiedzi zawierających tylko łącze , a odpowiedzi SO powinny być końcowym punktem poszukiwania rozwiązania (w porównaniu z kolejną przerwą w dostępie do odniesień, które z czasem stają się nieaktualne). Proszę rozważyć dodanie tutaj samodzielnego streszczenia, zachowując link jako odniesienie.
kleopatra
6

Możesz również upewnić się, że tożsamość w puli aplikacji ma odpowiednie uprawnienia.

  1. Przejdź do Menedżera usług IIS

  2. Kliknij Pule aplikacji

  3. Zidentyfikuj pulę aplikacji w witrynie, w której wdrażasz raporty

  4. Sprawdź, czy tożsamość jest ustawiona na konto usługi lub konto użytkownika, które ma uprawnienia administratora

  5. Możesz zmienić tożsamość, zatrzymując pulę, klikając ją prawym przyciskiem myszy i wybierając Ustawienia zaawansowane ...

W obszarze Model procesu znajduje się pole Tożsamość

Kasey Mohsen
źródło
1
Musiałem również wykonać następujące czynności na serwerze Windows 2008 R2. Dla mnie to, co zadziałało, to Otwórz IE w trybie administratora, czyli Right Clikc IE -> Run as Administartor. Następnie przejdź do http: // {your baseurl}: {your base port} / Reports / Dla mnie to devsql2008r2: 80 / Reports To rozwiązało mój błąd. Chrome lub Firefox nadal nie mogą się otworzyć.
Vishnoo Rath
Innymi słowy: ta odpowiedź rozwiązałaby scenariusz, w którym niestandardowa aplikacja, która próbuje wywołać SSRS, działa tak jak UserAw AppPool Identity. Ale UserAto NIE jest skonfigurowane na serwerze SSRS, aby mieć dostęp (np. Nie w BUILTIN\Administratorsgrupie). Tak więc rozwiązaniem jest zmiana tożsamości AppPool na jakiegoś administratora w domenie. Lub zaktualizuj ustawienia usług SSRS, aby uwzględnić bieżącego użytkownika AppPool Identity.
Don Cheadle
5

w obszarze Ustawienie witryny w Menedżerze raportów> Konfiguruj definicje ról na poziomie systemu> zaznacz opcję Wykonaj definicję raportu, a następnie Utwórz grupę użytkowników systemu, Przyznaj dostęp do tej grupy w Połącz się z bazą danych usług raportowania we właściwościach serwera i dodaj grupę i zezwól na dostęp jako Użytkownik systemu ... Powinno działać

kamal
źródło
5

Mam SQL2008 / Windows 2008 Enterprise i tak musiałem zrobić, aby poprawić rs.accessdeniedbłędy 404, 401 i 503:

  • Dodano użytkowników NT do użytkowników serwera raportów SQL i grupy IIS_USR
  • Zmieniłem usługę raportowania SQL na konto lokalne (była to domena z lokalnym administratorem)
  • Usunąłem klucz szyfrowania w konfiguracji usług Reporting Services (ostatnia zakładka na liście)
  • i WTEDY zadziałało.
Grant Thomas
źródło
5

Wykonałem następujące kroki i to działa dla mnie.

Otwórz Menedżera konfiguracji usług Reporting Services -> następnie połącz się z wystąpieniem serwera raportów -> kliknij opcję Adres URL menedżera raportów.

Na stronie adresu URL menedżera raportów kliknij przycisk Zaawansowane -> następnie w obszarze Wiele tożsamości dla Menedżera raportów kliknij przycisk Dodaj.

W oknie podręcznym Add a Report Manager HTTP URL wybierz Host Header i wpisz: localhost Kliknij OK, aby zapisać zmiany.

Następnie:

  1. skopiowano adres URL serwera raportów
  2. Uruchom Google chrome / Internet Explorer jako administrator
  3. Wklej adres URL w pasku adresu i naciśnij Enter.

to działa dobrze dla mnie w Internet Explorer i Google Chrome, ale nie dla Mozilla Firefox.

W przypadku, gdy Firefox pyta o nazwę użytkownika i hasło, podaję je, ale nie działa. Jestem administratorem i mam pełne prawo.

Zrobiłem jeszcze jedną zmianę w „Ustawieniach kontroli konta użytkownika”, aby nigdy nie powiadamiać.

Jeśli otrzymujesz taki typ wyjątku podczas wdrażania tego raportu z programu Visual Studio, wykonaj następujące czynności:

  1. Otwórz Google chrome / Internet Explorer z uprawnieniami administratora.
  2. otwórz w nim adres URL serwera raportów.

3. Kliknij „New Role Assignment”, dodaj, a następnie wprowadź nazwę użytkownika i wybierz role.wprowadź opis obrazu tutaj

  1. Kliknij OK.
  2. Teraz wdróż raport z programu Visual Studio, który będzie działał i wdrażał raporty na określonym serwerze.
Banketeshvar Narayan
źródło
4

Otwórz program Internet Explorer jako administrator.

Otwórz adres URL raportów http://machinename/reportservername

następnie w „ustawieniach folderu” nadaj uprawnienia wymaganym grupom użytkowników.

Atur
źródło
4

Problem stary, ale istotny. Rozwiązałem na rok 2012 logując się do serwera raportującego i:

  • przejdź do http: // localhost / reports /
  • Kliknij „Ustawienia witryny” w prawym górnym rogu (było dostępne tylko podczas logowania do serwera raportów)
  • Przejdź do zakładki „Zabezpieczenia” i kliknij „Przypisanie nowej roli”
  • Dodano moją DOMENĘ \ NAZWA UŻYTKOWNIKA jako administratora systemu

Nie mogę powiedzieć, że czuję się komfortowo z tym rozwiązaniem, ale potrzebowałem czegoś, co zadziałało i zadziałało. Mam nadzieję, że to pomoże komuś innemu.

user2051770
źródło
4

Po skonfigurowaniu SSRS 2016, RDP wszedłem na serwer (Windows Server 2012 R2), przeszedłem do adresu URL raportów ( https://reports.fakeserver.net/Reports/browse/ ) i utworzyłem folder o nazwie FakeFolder; wszystko wyglądało na dobrze. Następnie rozłączyłem się z serwerem, przeszedłem pod ten sam adres URL, zalogowałem się jako ten sam użytkownik i napotkałem poniższy błąd.

Uprawnienia przyznane użytkownikowi „fakeserver \ mitchs” są niewystarczające do wykonania tej operacji.

Zdezorientowany, wypróbowałem prawie wszystkie rozwiązania sugerowane na tej stronie i nadal nie mogłem stworzyć tego samego zachowania zarówno lokalnie, jak i zewnętrznie podczas przechodzenia do adresu URL i uwierzytelniania. Następnie kliknąłem wielokropek FakeFolder, kliknąłem Zarządzaj, kliknąłem Bezpieczeństwo (po lewej stronie ekranu) i dodałem siebie jako użytkownika z pełnymi uprawnieniami. Po odłączeniu się od serwera przeszedłem do https://reports.fakeserver.net/Reports/browse/FakeFolder i mogłem przeglądać zawartość folderu bez napotkania błędu uprawnień. Jednak kiedy kliknąłem stronę główną, otrzymałem błąd uprawnień.

Dla moich celów było to wystarczająco dobre, ponieważ nikt inny nigdy nie będzie musiał przeglądać głównego adresu URL, więc po prostu zanotowałem sobie w pamięci, gdy muszę wprowadzić zmiany w SSRS, aby najpierw połączyć się z serwerem, a następnie przejść do adresu URL raportów .

Mitch Stewart
źródło
3

Problem:

Błąd rsAccessDenied: Uprawnienia przyznane użytkownikowi „Użytkownik \ Użytkownik” są niewystarczające do wykonania tej operacji.

Rozwiązanie:

Kliknij „Ustawienie folderu”> „Przypisanie nowej roli” Następnie wpisz „Użytkownik \ Użytkownik” w polu „Nazwa grupy lub użytkownika”. Zaznacz pola wyboru Role, które chcesz mieć dla użytkownika.

Vicky
źródło
2

Udało mi się:

Open localhost/reports
Go to properties tab (SSRS 2008)
Security->New Role Assignment
Add DOMAIN/USERNAME or DOMAIN/USERGROUP
Check Report builder
Ajay
źródło
1
U mnie to też zadziałało w przypadku, gdy zaimportowałem bazę danych kolegi.
malckier 14.07.15
2

To zadziałało dla mnie - przejdź do menedżera raportów, sprawdź ustawienia witryny -> Bezpieczeństwo -> Nowe przypisanie roli -> dodaj użytkownika

-Także, przejdź do Zestawy danych w menedżerze raportów -> zestaw danych raportu -> Bezpieczeństwo -> Przypisanie nowej roli -> dodaj użytkownika z wymaganą rolą.

Dzięki!

Geetanjali Sachdeva
źródło
2

Wiem, że to było dawno temu, ale może być pomocne dla każdego nowego przybysza,

Zdecydowałem się przekazać nazwę użytkownika, hasło i domenę podczas żądania raportów SSRS, więc stworzyłem jedną klasę, która implementuje 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;
    }
}

podczas wywoływania SSRS Reprots, umieść następujący fragment kodu

 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ą zdefiniowane w plikach web.config.

Dhruv Patel
źródło
1

Podobnie jak Nasser, wiem, że to było jakiś czas temu, ale chciałem opublikować moje rozwiązanie dla każdego, kto ma ten problem w przyszłości.

Mój raport został skonfigurowany tak, aby korzystał z połączenia danych w bibliotece połączeń danych hostowanej w programie SharePoint. Mój problem polegał na tym, że połączenie danych nie zostało „zatwierdzone”, aby mogli z niego korzystać inni użytkownicy.

Inną rzeczą, na którą należy zwrócić uwagę, jest upewnienie się, że uprawnienia w tej bibliotece połączeń danych umożliwiają również odczyt wybranym użytkownikom.

Mam nadzieję, że to pomoże komuś wcześniej czy później!

T0t3sMcG0t3s
źródło
1

W przypadku usług SQL Reporting Services 2012 - SP1 i SharePoint 2013.

Mam ten sam problem: uprawnienia przyznane użytkownikowi „[AppPoolAccount]” są niewystarczające do wykonania tej operacji.

Wszedłem do ustawień aplikacji serwisowej, kliknąłem Zarządzanie kluczami, a następnie Zmień klucz i kazałem mu ponownie wygenerować klucz.

Kevin Cole -MCM-
źródło
1

Dzięki za udostępnienie. Po walce przez 1,5 dnia zauważyłem, że serwer raportów został skonfigurowany z niewłaściwym adresem IP domeny. Został skonfigurowany z zapasowym adresem IP domeny, która jest offline. Zidentyfikowałem to w konfiguracji grupy użytkowników, gdzie nazwa domeny nie została wymieniona. Zmieniono adres IP i ponownie uruchom serwer raportów. Problem rozwiązany.

Vijay
źródło
1

Raport może chcieć uzyskać dostęp do źródła danych lub widoku danych, w którym użytkownik usługi AD (lub grupa usługi AD) ma niewystarczające prawa dostępu.

Upewnij się, że sprawdzasz następujące adresy URL:

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

Następnie wybierz Folder Settings

Ustawienia folderów

(lub odpowiednią osobę DataSourcelub DataSet) i wybierz Security. Grupa użytkowników musi mieć Browseruprawnienia.

wprowadź opis obrazu tutaj

MovGP0
źródło
0

Dla mnie zadziałało:

  • Przejdź do ustawienia witryny
  • Kliknij opcję „Konfiguruj zabezpieczenia całej witryny”
  • Kliknij przycisk „Nowe przypisanie roli” na górnym pasku
  • Nadaj nowej roli następującą nazwę „Wszyscy”
  • Spośród dostępnych ról nadaj mu tylko „Użytkownik systemu”
  • Kliknij „Zastosuj”

Że należy to zrobić,

Powodzenia!

Eter
źródło
0

Uruchom BIDS jako administrator pomimo istniejącego członkostwa w grupie Administratorzy.

Alexander Kashtalyan
źródło
1
Nie ma potrzeby uruchamiania jako administrator, druga odpowiedź wskazuje na lepsze rozwiązanie, dając użytkownikowi, który musi wygenerować raport, odpowiednie uprawnienia. Uruchomienie jako administrator nigdy nie jest dobrym pomysłem, jeśli można go uniknąć.
Paul Hiemstra