Windows Integrated Security and subscriptions
Hello everyone, In the context of a reporting platform for one of my customer, I would like to find a way to implement the 2 following requirements: Users, identified by their Windows account, are allowed to access the Report Manager web interface and run some reports. Each report has to be triggered with the users' credentials for some tracability reasons. So, at this step, it is not an option to use a generic Windows account and store it in each report/datasource ; Windows Integrated Security (with Kerberos) works like a charm.Subscriptions have to be enabled for any report, meaning that a user should be able to configure himself a new e-mail subscription. There is no requirement, at this stage, regarding the user ; it could be the user that creates the subscription or a generic user stored in a XML file or somewhere else. By design, I didn't find any way to met these 2 requirements. Indeed, as far as I know, I would need to store a specific Windows in each report/datasource if I want to enable subscriptions, meaning that I will have no more tracability when users trigger a report manually within the Report Manager. Is there any way to achieve this? Creating a dedicated reporting service extension (data processing for instance) would possibly make it possible? Thanks in advance! J&B
July 17th, 2012 3:34am

Hello Jerome Boudart, Thank you to post your question on TechNet forum. I consider that we cannot create a subscription on the reporting service without being stored the credentials in the report. By design of the subscription feature, it will create a SQL Agent job when you generate a subscription. SQL agent will schedule the report and run it with the stored credential. If we did not provide the stored credential, it would try to use service account of the SQL Agent to access the database. If it did so, the service account of SQL agent need be added to all target data source server. Obviously, we could not predict this scenario and add the credential of the service running account to all possible database, which the data source of the report will access. Therefore, we can only stored the credentials into the report - actually it stored in the report server database. If you want to find out the owner of the subscription, you can use the following query on ReportServer database. SELECT [SubscriptionID] ,u.UserName ,c.Name ,c.Path ,[Locale] ,[InactiveFlags] ,[ExtensionSettings] ,s.[ModifiedByID] ,s.[ModifiedDate] ,s.[Description] ,[LastStatus] ,[EventType] ,[MatchData] ,[LastRunTime] ,[Parameters] ,[DataSettings] ,[DeliveryExtension] ,[Version] ,[ReportZone] FROM [ReportServer].[dbo].[Subscriptions] s LEFT JOIN [ReportServer].[dbo].[Users] u ON s.OwnerID = u.UserID LEFT JOIN [ReportServer].[dbo].[Catalog] c ON s.Report_OID = c.ItemID I hope it is helpful to you. If you have any further questions about this issue, please let us know. Regards, EdwardEdward Zhu TechNet Community Support
Free Windows Admin Tool Kit Click here and download it now
July 18th, 2012 4:12am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics