Hello, my name is Richard McIver and I'm a Premier Field Engineer with Microsoft specializing in System Center Configuration Manager.
I was recently working with a customer who suddenly started receiving a strange KDC error when attempting to run Configuration Manager reports from either within the Administration Console or the Reporting Services web portal. It took quite a bit of troubleshooting to isolate the root cause, so I'd just like to share our findings and resolution steps.
When running Configuration Manager reports that rely on Role Based Access Control (RBAC), SQL Server Reporting Services (SSRS) will attempt to communicate with Active Directory via Kerberos authentication to resolve the Security Identifier (SID) of the user.
However, when this customer attempted to run reports with RBAC embedded, the following error was displayed and the report failed to load.
The DefaultValue expression for the report parameter 'UserTokenSIDs' contains an error: The encryption type requested is not supported by the KDC. (rsRuntimeErrorInExpression)
The customer environment was SQL Server 2016 Reporting Services running on Windows Server 2012 R2, however I've since been able to replicate this issue on Windows Server 2016 as well.
Root Cause Analysis
We eventually traced the root cause down to a security policy settings on the reporting point server that was recently configured via domain Group Policy Object (GPO).
As configured, this setting has the effect of limiting the encryption types allowed for Kerberos authentication from the reporting point server to only AES128, AES256, and Future encryption types.
However, the service account used by the SQL Reporting Services service was not properly configured to support these algorithms. Instead, SSRS was attempting to authenticate using the RC4 encryption type, which is no longer allowed on the server, resulting in the KDC error.
In this case, the error can be resolved in one of two ways.
Enable AES 128-bit and/or AES 256-bit encryption for the SQL Reporting Services service account
Configure the Network security: Configure encryption types allowed for Kerberos policy setting on the reporting point server to include the RC4_HMAC_MD5 encryption type
Steps to enable AES encryption for the SQL Reporting Services service account
Open Active Directory Users and Computers
Browse to the user account used by SQL Reporting Services on the affected server
Right-click the user account and select Properties
Click on the Account tab
Under Account options , check the box next to one or both of the following:
This account supports Kerberos AES 128 bit encryption
This account supports Kerberos AES 256 bit encryption
Steps to configure the policy setting Network security: Configure encryption types allowed for Kerberos
Method 1 - Local Security Policy
On the affected server, open an elevated command prompt
Type SECPOL and hit Enter
In the Local Security Policy management console, expand Local Policies and click on Security Options
Scroll down in the left-hand pane until you find the setting Network security: Configure encryption types allowed for Kerberos
Right-click this setting and select Properties
In the Local Security Settings tab, check the box next to RC4_HMAC_MD5 , AES128_HMAC_SHA1 , AES256_HMAC_SHA1 , and Future encryption types
Method 2 - Group Policy Object (GPO)
Open the Group Policy Management console and edit a new or existing GPO
In the Group Policy Management Editor , expand Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options
Right-click on Network security: Configure encryption types allowed for Kerberos and click Properties
On the Security Policy Setting tab, check the box to Define these policy settings
Check the box next to RC4_HMAC_MD5 , AES128_HMAC_SHA1 , AES256_HMAC_SHA1 , and Future encryption types
And that's about for now… Hopefully this helps you out, and thanks for reading!