Les autorisations accordées à l'utilisateur sont insuffisantes pour effectuer cette opération. (rsAccessDenied) "}

100

J'ai créé un modèle de rapport à l'aide de SSRS (2005) et publié sur le serveur local. Mais lorsque j'ai essayé d'exécuter le rapport pour le modèle que j'ai publié à l'aide du générateur de rapports, j'obtiens l'erreur suivante.

Erreur d'exécution du rapport: les autorisations accordées à l'utilisateur sont insuffisantes pour effectuer cette opération. (rsAccessDenied)

jbcedge
la source
J'ai trouvé cela utile .... msdn.microsoft.com/en-GB/library/bb630430.aspx Windows suppose que tout le monde est un utilisateur standard ...
Trabumpaline

Réponses:

94

C'est en raison d'un manque de privilège pour l'utilisateur que vous exécutez le générateur de rapports, donnez simplement à cet utilisateur ou à un groupe un privilège pour exécuter le générateur de rapports. Veuillez visiter cet article

Ou pour raccourci:

  1. Démarrez Internet Explorer en utilisant "Exécuter en tant qu'administrateur"
  2. Ouvrez http: // localhost / reports
  3. Aller à l'onglet Propriétés (SSRS 2008)
  4. Sécurité-> Nouvelle attribution de rôle
  5. Ajouter DOMAIN / USERNAME ou DOMAIN / USERGROUP
  6. Vérifier le générateur de rapports
Emad Mokhtar
la source
8
Je ne sais pas si c'est spécifique à 2012, mais j'ai également dû configurer la sécurité dans les «paramètres du site».
uli78
15
Pour 2014, configurez les rôles dans «Paramètres des dossiers» et «Paramètres du site»
Josh Noe
4
Une chose de l'article, qui peut vous aider: pour configurer utiliser IE et "Exécuter en tant qu'administrateur". Ensuite, allez dans Paramètres des dossiers (définissez-vous comme Gestionnaire de contenu) et Paramètres du site (rôle: administrateur). Revenez ensuite à votre navigateur par défaut et cela fonctionnera. (Je suis en 2012).
Tomasz Gandor
4
J'ai dû utiliser DOMAIN \ USERNAME au lieu d'une barre oblique.
Paul
4
Échec à l'étape 2. J'ai reçu ce message: l'utilisateur ne dispose pas des autorisations requises. Vérifiez que des autorisations suffisantes ont été accordées et que les restrictions de contrôle de compte d'utilisateur Windows (UAC) ont été traitées.
RDeveloper
18

Je sais que c'est il y a longtemps, mais vous (ou tout autre nouveau venu) pouvez résoudre ce problème en

  1. Ajouter le [Domaine \ Utilisateur] aux groupes Administrateur , IISUser , SQLReportingUser
  2. Supprimer la clé de chiffrement dans les outils de configuration SSRS
  3. Réexécuter le changement de base de données dans les outils de configuration SSRS
  4. Ouvrez WebServiceUrl à partir des outils de configuration SSRS ( http: // localhost / reportserver )
  5. création manuelle du dossier de rapports
  6. allez dans Propriétés du dossier créé et ajoutez ces rôles à la sécurité ( intégré \ utilisateurs, intégré \ Administrateur, domaine \ utilisateur )
  7. Déployez vos rapports et votre problème résolu
Nasser Hadjloo
la source
2
Salut, Le problème avec moi est que tous les rapports fonctionnent à l'exception d'un seul.L'erreur est que les autorisations accordées à l'utilisateur 'NT AUTHORITY \ IUSR' sont insuffisantes pour effectuer cette opération. (rsAccessDenied). Quelle différence peut-il y avoir pour un rapport?
Richa
5
Je n'ai même pas ces groupes! Je Administrators, IIS_IUSRS, à la SQLServer2005SQLBrowserUser$Userplace! Que dois-je faire dans ce cas? Combien de fois ces choses changent-elles! : o
user2173353
18

Cliquez avec le bouton droit sur Microsoft BI -> Cliquez sur Exécuter en tant qu'administrateur -> ouvrez votre rapport SSRS existant ou créez votre nouveau rapport SSRS, puis déployez votre rapport après que vous soyez conforme, vous recevrez une URL Web pour afficher votre rapport. Copiez cette URL et collez-la dans le navigateur Web (Exécuter en tant qu'administrateur) et vous obtiendrez votre vue de rapport. Vous pouvez utiliser Internet Explorer, ce qui serait essentiel pour le service Web

Si c'est faux signifie, veuillez me pardonner car j'ai fait comme ça pour que je viens d'écrire.

Robert Bosco
la source
2
Démarrer Visual Studio (BI) en tant qu'administrateur (clic droit) a fait l'affaire pour moi.
maets
10

Assurez-vous que vous avez configuré l'accès à l'URL http: // localhost / reports à l'aide de la configuration de SQL Reporting Services. Pour faire ça:

  1. Ouvrez le Gestionnaire de configuration de Reporting Services -> puis connectez-vous à l'instance du serveur de rapports -> puis cliquez sur URL du gestionnaire de rapports.
  2. Dans la page URL du Gestionnaire de rapports, cliquez sur le bouton Avancé -> puis dans Identités multiples pour le Gestionnaire de rapports, cliquez sur Ajouter.
  3. Dans la boîte de dialogue Ajouter une URL HTTP du gestionnaire de rapports, sélectionnez En-tête d'hôte et tapez: localhost
  4. Cliquez sur OK pour enregistrer vos modifications.
  5. Maintenant, démarrez / exécutez Internet Explorer en utilisant Exécuter en tant qu'administrateur ... (REMARQUE: si vous ne voyez pas le lien `` Paramètres du site '' dans le coin supérieur gauche lorsque vous êtes sur http: // localhost / reports, c'est probablement parce que vous n'êtes pas exécutez IE en tant qu'administrateur ou vous n'avez pas attribué le domaine \ nom d'utilisateur de votre ordinateur aux rôles des services de rapports, voyez comment procéder dans les étapes suivantes.)
  6. Ensuite, allez sur: http: // localhost / reports (vous devrez peut-être vous connecter avec le nom d'utilisateur et le mot de passe de votre ordinateur)
  7. Vous devriez maintenant être dirigé vers la page d'accueil de SQL Server Reporting Services ici: http: //localhost/Reports/Pages/Folder.aspx
  8. Sur la page d'accueil, cliquez sur l'onglet Propriétés, puis sur Nouvelle attribution de rôle
  9. Dans la zone de texte Nom de groupe ou d'utilisateur, ajoutez le 'domaine \ nom d'utilisateur' qui était dans le message d'erreur (dans mon cas, j'ai ajouté: DOUGDELL3-PC \ DOUGDELL3 pour le 'domaine \ nom d'utilisateur', dans votre cas, vous pouvez trouver le domaine \ nom d'utilisateur de votre ordinateur dans le message d'erreur rsAccessDenied).
  10. Cochez maintenant toutes les cases; Navigateur, Gestionnaire de contenu, Mes rapports, Éditeur, Générateur de rapports, puis cliquez sur OK.
  11. Votre domaine \ nom d'utilisateur doit maintenant être affecté aux rôles qui vous donneront accès pour déployer vos rapports sur le serveur de rapports. Si vous utilisez Visual Studio ou SQL Server Business Intelligence Development Studio pour déployer vos rapports sur votre serveur de rapports local, vous devriez maintenant pouvoir le faire.
  12. J'espère que cela vous aidera à résoudre le message d'erreur rsAccessDenied de votre serveur de rapports ...

Juste pour vous informer que ce didacticiel a été réalisé sur un ordinateur Windows 7 avec SQL Server Reporting Services 2008.

Article de référence: http://techasp.blogspot.co.uk/2013/06/how-to-fix-reporting-services.html

Soheila Hg
la source
2
Notez que les réponses par lien uniquement sont déconseillées, les réponses SO devraient être le point final d'une recherche de solution (par rapport à une autre étape de références, qui ont tendance à devenir obsolètes avec le temps). Veuillez envisager d'ajouter un synopsis autonome ici, en gardant le lien comme référence.
kleopatra
6

Vous pouvez également vous assurer que l'identité de votre pool d'applications dispose des autorisations appropriées.

  1. Accédez au Gestionnaire IIS

  2. Cliquez sur Pools d'applications

  3. Identifiez le pool d'applications du site sur lequel vous déployez des rapports

  4. Vérifiez que l'identité est définie sur un compte de service ou un compte d'utilisateur disposant des autorisations d'administrateur

  5. Vous pouvez modifier l'identité en arrêtant le pool, en cliquant dessus avec le bouton droit de la souris et en sélectionnant Paramètres avancés ...

Sous Modèle de processus se trouve le champ Identité

Kasey Mohsen
la source
1
J'ai également dû faire ce qui suit sur un serveur Windows 2008 R2. Pour moi, ce qui a fonctionné était Open IE en mode administrateur, c'est-à-dire Right Clikc IE -> Run as Administartor. Ensuite, accédez à http: // {votre baseurl}: {votre port de base} / Reports / Pour moi, c'est devsql2008r2: 80 / Reports Cela a résolu mon erreur. Chrome ou Firefox ne peuvent toujours pas s'ouvrir.
Vishnoo Rath
En d'autres termes: cette réponse corrigerait un scénario dans lequel votre application personnalisée qui tente d'appeler SSRS s'exécute comme UserAdans l'identité AppPool. Mais ce UserAn'est PAS configuré sur le serveur SSRS pour avoir accès (par exemple pas dans le BUILTIN\Administratorsgroupe). Le correctif consiste donc à modifier l'identité AppPool en un utilisateur administrateur du domaine. Ou mettez à jour les paramètres SSRS pour inclure l'utilisateur AppPool Identity actuel.
Don Cheadle
5

sous Paramètre du site dans le gestionnaire de rapports> Configurer les définitions de rôle au niveau du système> cochez l'option de définition ExecuteReport, puis Créer un groupe d'utilisateurs système, Donner l'accès à ce groupe à Se connecter à votre base de données de services de rapports dans les propriétés du serveur et ajouter un groupe et autoriser l'accès en tant que Utilisateur système ... cela devrait fonctionner

kamal
la source
5

J'ai SQL2008 / Windows 2008 Enterprise et voici ce que je devais faire pour corriger les rs.accessdeniederreurs 404, 401 et 503:

  • Ajout d'utilisateurs NT aux utilisateurs SQL Report Server et au groupe IIS_USR
  • J'ai changé le service de rapports SQL en compte local (c'était un domaine avec un administrateur local)
  • J'ai supprimé la clé de chiffrement dans la configuration de Reporting Services (dernier onglet de la liste)
  • et ALORS cela a fonctionné.
Grant Thomas
la source
5

J'ai utilisé les étapes suivantes et cela fonctionne pour moi.

Ouvrez le Gestionnaire de configuration de Reporting Services -> puis connectez-vous à l'instance du serveur de rapports -> puis cliquez sur URL du gestionnaire de rapports.

Dans la page URL du Gestionnaire de rapports, cliquez sur le bouton Avancé -> puis dans Identités multiples pour le Gestionnaire de rapports, cliquez sur Ajouter.

Dans la boîte de dialogue Ajouter une URL HTTP du gestionnaire de rapports, sélectionnez En-tête d'hôte et saisissez: localhost Cliquez sur OK pour enregistrer vos modifications.

Ensuite:

  1. copié l'URL du serveur de rapports
  2. Exécutez Google Chrome / Internet Explorer en tant qu'administrateur
  3. Collez l'URL dans la barre d'adresse et appuyez sur Entrée.

cela fonctionne bien pour moi sur Internet Explorer et Google Chrome mais pas pour Mozilla Firefox.

Dans le cas où Firefox demande un nom d'utilisateur et un mot de passe, je le fournis mais cela ne fonctionne pas. Je suis administrateur et ai plein droit.

J'ai fait 1 autre jeu de modifications "Paramètres de contrôle de compte d'utilisateur" pour ne jamais notifier.

Si vous obtenez ce type d'exception lors du déploiement de ce rapport à partir de Visual Studio, procédez comme suit:

  1. Ouvrez Google Chrome / Internet Explorer avec le droit d'administrateur.
  2. ouvrez l'URL du serveur de rapports.

3.Cliquez sur "Nouvelle attribution de rôle", ajoutez puis entrez le nom d'utilisateur et sélectionnez les rôles.entrez la description de l'image ici

  1. cliquez sur OK.
  2. Maintenant, déployez le rapport à partir de Visual Studio, il fonctionnera et déploiera les rapports sur le serveur spécifié.
Banketeshvar Narayan
la source
4

Ouvrez Internet Explorer en tant qu'administrateur.

Ouvrez l'URL des rapports http://machinename/reportservername

puis dans «Paramètres du dossier», donnez l'autorisation aux groupes d'utilisateurs requis.

Atur
la source
4

Problème ancien mais pertinent. J'ai résolu pour 2012 en me connectant au serveur de rapports et:

  • accédez à http: // localhost / reports /
  • Cliquez sur «Paramètres du site» en haut à droite (n'était disponible que lors de la connexion au serveur de rapports)
  • Allez dans l'onglet «Sécurité» et cliquez sur «Nouvelle attribution de rôle»
  • J'ai ajouté mon DOMAIN \ USERNAME en tant qu'administrateur système

Je ne peux pas dire que je suis à l'aise avec cette solution, mais j'avais besoin de quelque chose qui fonctionnait et qui fonctionnait. J'espère que ceci aide quelqu'un d'autre.

user2051770
la source
4

Après avoir configuré SSRS 2016, j'ai RDP dans le serveur (Windows Server 2012 R2), navigué vers l'URL des rapports ( https://reports.fakeserver.net/Reports/browse/ ) et créé un titre de dossier FakeFolder; tout semblait bien fonctionner. Je me suis ensuite déconnecté du serveur, j'ai parcouru la même URL, je me suis connecté en tant que même utilisateur et j'ai rencontré l'erreur ci-dessous.

Les autorisations accordées à l'utilisateur 'fakeserver \ mitchs' sont insuffisantes pour effectuer cette opération.

Confus, j'ai essayé à peu près toutes les solutions suggérées sur cette page et je ne pouvais toujours pas créer le même comportement à la fois localement et extérieurement lors de la navigation vers l'URL et de l'authentification. J'ai ensuite cliqué sur les points de suspension de FakeFolder, cliqué sur Gérer, cliqué sur Sécurité (sur le côté gauche de l'écran) et me suis ajouté en tant qu'utilisateur avec toutes les autorisations. Après m'être déconnecté du serveur, j'ai accédé à https://reports.fakeserver.net/Reports/browse/FakeFolder et j'ai pu afficher le contenu du dossier sans rencontrer l'erreur d'autorisation. Cependant, lorsque j'ai cliqué sur Accueil, j'ai reçu l'erreur d'autorisation.

Pour mes besoins, c'était assez bon car personne d'autre n'aura jamais besoin de naviguer vers l'URL racine, donc je viens de faire une note mentale chaque fois que je dois apporter des modifications dans SSRS pour me connecter d'abord au serveur, puis accéder à l'URL des rapports. .

Mitch Stewart
la source
3

Problème:

Erreur rsAccessDenied: les autorisations accordées à l'utilisateur «Utilisateur \ Utilisateur» sont insuffisantes pour effectuer cette opération.

Solution:

Cliquez sur "Paramètres du dossier"> "Nouvelle attribution de rôle". Tapez ensuite "Utilisateur \ Utilisateur" dans la zone de texte "Nom de groupe ou d'utilisateur". Cochez les cases Rôles que vous souhaitez que l'utilisateur ait.

Vicky
la source
2

Ce qui a fonctionné pour moi était:

Open localhost/reports
Go to properties tab (SSRS 2008)
Security->New Role Assignment
Add DOMAIN/USERNAME or DOMAIN/USERGROUP
Check Report builder
Ajay
la source
1
Cela a également fonctionné pour moi dans le cas où j'ai importé la base de données d'un collègue.
malckier le
2

Cela a fonctionné pour moi - allez au gestionnaire de rapports, vérifiez les paramètres du site -> Sécurité -> Nouvelle attribution de rôle -> ajoutez l'utilisateur

-Aussi, allez dans Datasets dans le gestionnaire de rapports -> votre jeu de données de rapport -> Sécurité -> Nouvelle attribution de rôle -> ajoutez l'utilisateur avec le rôle requis.

Merci!

Geetanjali Sachdeva
la source
2

Je sais que c'est il y a longtemps mais cela peut être utile à tout autre nouveau venu,

J'ai décidé de transmettre le nom d'utilisateur, le mot de passe et le domaine lors de la demande de rapports SSRS, j'ai donc créé une classe qui implémente 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;
    }
}

en appelant les reprots SSRS, mettez le morceau de code suivant

 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 sont définis dans les fichiers web.config.

Dhruv Patel
la source
1

Tout comme Nasser, je sais que c'était il y a quelque temps, mais je voulais publier ma solution pour quiconque aura ce problème à l'avenir.

J'ai configuré mon rapport pour qu'il utilise une connexion de données dans une bibliothèque de connexion de données hébergée sur SharePoint. Mon problème était que je n'avais pas la connexion de données «approuvée» afin qu'elle soit utilisable par d'autres utilisateurs.

Une autre chose à rechercher serait de s'assurer que les autorisations sur cette bibliothèque de connexion de données permettent également la lecture aux utilisateurs sélectionnés.

J'espère que cela aidera quelqu'un tôt ou tard!

T0t3sMcG0t3s
la source
1

Pour SQL Reporting Services 2012 - SP1 et SharePoint 2013.

J'ai eu le même problème: les autorisations accordées à l'utilisateur '[AppPoolAccount]' sont insuffisantes pour effectuer cette opération.

Je suis entré dans les paramètres de l'application de service, j'ai cliqué sur Gestion des clés, puis sur Modifier la clé et j'ai fait régénérer la clé.

Kevin Cole -MCM-
la source
1

Merci d'avoir partagé. Après avoir lutté pendant 1,5 jour, j'ai remarqué que Report Server était configuré avec une adresse IP de domaine incorrecte. Il a été configuré avec une adresse IP de domaine de sauvegarde qui est hors ligne. J'ai identifié cela dans la configuration du groupe d'utilisateurs où le nom de domaine n'était pas répertorié. Changement d'adresse IP et redémarrage du serveur de rapports. Problème résolu.

Vijay
la source
1

Le rapport peut souhaiter accéder à un DataSource ou DataView où l'utilisateur AD (ou le groupe AD) ne dispose pas de droits d'accès suffisants.

Assurez-vous de vérifier les URL suivantes:

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

Alors choisi Folder Settings

Paramètres du dossier

(ou la personne appropriée DataSourceou DataSet) et sélectionnez Security. Le groupe d'utilisateurs doit avoir l' Browserautorisation.

entrez la description de l'image ici

MovGP0
la source
0

Ce qui a fonctionné pour moi était:

  • Aller aux paramètres du site
  • Cliquez sur "Configurer la sécurité à l'échelle du site"
  • Cliquez sur le bouton "Nouvelle attribution de rôle" dans la barre supérieure
  • Donnez au nouveau rôle le nom suivant "Tout le monde"
  • Parmi les rôles disponibles, accordez-lui uniquement "Utilisateur système"
  • Cliquez sur "Appliquer"

Ça devrait le faire,

Bonne chance!

Éther
la source
0

Exécutez BIDS en tant qu'administrateur malgré l'appartenance existante au groupe Administrateurs.

Alexander Kashtalyan
la source
1
Il n'est pas nécessaire de s'exécuter en tant qu'administrateur, l'autre point de réponse vers une meilleure solution en donnant à l'utilisateur qui a besoin de générer le rapport les privilèges corrects. Exécuter en tant qu'administrateur n'est jamais une bonne idée si cela peut être évité.
Paul Hiemstra