Home Dashboard Directory Help
Search

Smart card login breaking SQL Reporting Service by Robert L Davis


Status: 

Closed
 as Fixed Help for as Fixed


2
0
Sign in
to vote
Type: Bug
ID: 462979
Opened: 6/1/2009 4:32:38 PM
Access Restriction: Public
1
Workaround(s)
view
1
User(s) can reproduce this bug

Description

Domain-wide group policy requires that users log on to the server via a smart card.

We are getting the following error in reports server for SSRS 2008 on Windows 2008.

•    An error has occurred during report processing. (rsProcessingAborted)
o    Cannot impersonate user for data source '<data source name removed from email>'. (rsErrorImpersonatingUser)
    Log on failed. (rsLogonFailed)
    For more information about this error navigate to the report server on the local server machine, or enable remote errors

If we disable enforce smart card login, everything works perfectly.
                HKLM\software\microsoft\windows\currentversion\policies\system\ /v scforceoption /t REG_DWORD /d 0 /f


The data source is configured to use a domain account (valid account with correct password entered) stored as Windows credentials. It is occurring on multiple machines in the domain where smart card login is required by group policy. We have not been able to reproduce this problem with SQL Server 2005. The issue seems to affect only SQL Server 2008.


We’re not using certificate or smart card based authentication with SSRS. The server itself requires smart card but not SSRS. It is a domain policy in the domain. In fact, I even tried logging in to the SSRS site with my smart card and still received the same error.

We are using Windows authentication to authenticate SSRS users and then using stored credentials as Windows credentials to authenticate SSRS to SQL Server.

I can look up the error in the morning when I get into the office. I’m not currently connected to the network.

The following error can be seen in the RS log:

Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Cannot impersonate user for data source 'DB'. ---> Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException: Log on failed. ---> System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x800F033E
processing!ReportServer_0-6!e08!05/08/2009-16:11:14:: e ERROR: An exception has occurred in data source 'DB'. Details: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Cannot impersonate user for data source 'DB'. ---> Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException: Log on failed. ---> System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x800F033E
processing!ReportServer_0-6!e08!05/08/2009-16:11:14:: i INFO: DataPrefetch abort handler called for Report with ID=. Aborting data sources ...
processing!ReportServer_0-6!e08!05/08/2009-16:11:14:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException: An error has occurred during report processing., ;
Info: Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException: An error has occurred during report processing. ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Cannot impersonate user for data source 'DB'. --->
Details
Sign in to post a comment.
Posted by Microsoft on 4/14/2010 at 11:37 PM
This issue is fixed in the upcoming SSRS 2008 SP2.
Posted by Microsoft on 9/9/2009 at 8:58 AM
Thank you for filing this issue. We will assess it and consider what options we have for addressing it.

Thanks,
-Lukasz
Sign in to post a workaround.
Posted by singhguru2001 on 2/18/2010 at 1:46 PM
Hi All,

I have a work around for this issue. Since we are using stored credentials for the data source, We can create a SQL Server account. This SQL Server account can then be mentioned in the data source and we can use SQL Server authentication( uncheck "Use as Windows credentials when connecting to the data source" in the data source). I have tried this and has worked for me.

Thanks
singhguru