I've recently set up Always Encryption on an on-prem SQL Server db with the column master key in Azure Key Vault. If I SELECT from the table in SSMS with 'Column Encryption Setting=Enabled' I can read the column in plain text so _I'm pretty confident* the encryption is functioning as expected.
Now I want to throw and SSRS report over that table in Visual Studio 2017. My data source uses integrated security and I've added 'Column Encryption Setting=Enabled' to the connection string but SSRS can't decrypt the column. I get the following error:
[rsMissingFieldInDataSet] The dataset ‘DataSet1’ contains a definition for the Field ‘Number’. This field is missing from the returned result set from the data source.
[rsErrorReadingDataSetField] The dataset ‘DataSet1’ contains a definition for the Field ‘Number’. The data extension returned an error during reading the field. System.Data.SqlClient.SqlException (0x80131904): Failed to decrypt column 'Number'.
Failed to decrypt a column encryption key. Invalid key store provider name: 'AZURE_KEY_VAULT'. A key store provider name must denote either a system key store provider or a registered custom key store provider. Valid system key store provider names are: 'MSSQL_CERTIFICATE_STORE', 'MSSQL_CNG_STORE', 'MSSQL_CSP_PROVIDER'. Valid (currently registered) custom key store provider names are: . Please verify key store provider information in column master key definitions in the database, and verify all custom key store providers used in your application are registered properly. ---> System.ArgumentException: Failed to decrypt a column encryption key. Invalid key store provider name: 'AZURE_KEY_VAULT'. A key store provider name must denote either a system key store provider or a registered custom key store provider. Valid system key store provider names are: 'MSSQL_CERTIFICATE_STORE', 'MSSQL_CNG_STORE', 'MSSQL_CSP_PROVIDER'. Valid (currently registered) custom key store provider names are: . Please verify key store provider information in column master key definitions in the database, and verify all custom key store providers used in your application are registered properly.
It doesn't look like Nuget is supported in SSRS solutions and I've installed every Azure prereq and extension I can think of to Visual Studio. Is there a way to register AZURE_KEY_VAULT as a key store provider for SSRS?
User contributions licensed under CC BY-SA 3.0