在初始化Reporting Service時,SSRS會自動創(chuàng)建數(shù)據庫[ReportServer],用于存儲報表元數(shù)據,報表訂閱,以及憑證(Credential)和連接信息等身份驗證信息,身份驗證數(shù)據非常重要,為了保護敏感數(shù)據,Reporting Service支持對稱性密鑰(Symmetric keys)加密算法。對稱性密鑰在報表服務器初始化時生成,用于保護敏感數(shù)據,而公有(Public)和私有(Private)密鑰對是操作系統(tǒng)生成的,成對出現(xiàn),每個報表服務器實例都有一對,用于保護對稱性密鑰。

報表服務器的加密管理,主要是對稱性密鑰的管理,打開Reporting Service配置管理器(Reporting Service Configuration Manager,簡稱RSCM),切換到Encryption Keys選項卡,能夠看到對稱性密鑰管理的界面,主要是密鑰的備份,還原,更新和刪除。

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

很久之前,寫過一篇不成熟的文章《SSRS配置1:憑證和郵件》,分享的內容是如何配置報表服務器的憑證和郵件,現(xiàn)在很少在項目中用到SSRS,為了和遺忘做抗爭,遂有此續(xù)文。

一,報表服務器加密的流程

報表服務器首先通過System.Data.SqlClient 訪問ReportServer數(shù)據庫,以獲取跟報表服務有關的數(shù)據,此時,報表服務器需要對連接到ReportServer數(shù)據庫的信息進行加密;ReportServer數(shù)據庫和對稱性密鑰是一一對應的,

在連接到ReportServer數(shù)據庫之后,報表服務執(zhí)行報表文件,報表文件需要訪問外部數(shù)據源去獲取業(yè)務數(shù)據,所謂外部數(shù)據源,是指除了ReportServer數(shù)據庫之外的數(shù)據,此時,報表服務器需要連接到外部數(shù)據源,該連接信息是非常敏感的,必須加密;

然后,連接信息的加密需要使用對稱性密鑰,而這個密鑰是非常重要的,必須保護對稱性密鑰,此時,報表服務器需要加密對稱性密鑰;

最后,為了避免密鑰丟失,或密鑰恢復,必須對密鑰進行備份,報表服務器要求在讀取密鑰的備份文件時,必須輸入密碼才能訪問。WOW,保護的太多了吧。

二,加密的數(shù)據

報表服務把加密之后數(shù)據存儲到ReportServer數(shù)據庫和配置文件中,大部分的加密數(shù)據是憑證和連接信息,用于訪問報表服務器之外的數(shù)據。

1,連接到ReportServer數(shù)據庫

每個報表服務器實例都需要訪問ReportServer數(shù)據庫,獲取報表元數(shù)據,訂閱等數(shù)據,報表服務器連接到ReportServer數(shù)據庫需要連接信息和憑證,這些數(shù)據在報表服務的配置