刪除和重新建立加密金鑰是超出例行加密金鑰維護的活動。 您可以執行這些工作,以回應報表伺服器的特定威脅,或做為無法再存取報表伺服器資料庫的最後手段。
當您認為現有的對稱密鑰遭到入侵時,請重新建立對稱密鑰。 您也可以定期重新建立金鑰作為安全性最佳做法。
當您無法還原對稱金鑰時,請刪除現有的加密金鑰和無法使用的加密內容。
重新建立加密金鑰
如果您有未授權使用者知道對稱密鑰的證據,或報表伺服器遭到攻擊,而且您想要重設對稱密鑰作為預防措施,您可以重新建立對稱密鑰。 當您重新建立對稱金鑰時,所有加密的值都會使用新的值重新加密。 如果您在向外延展部署中執行多部報表伺服器,對稱密鑰的所有複本都會更新為新的值。 報表伺服器會使用可用的公鑰來更新部署中每部伺服器的對稱密鑰。
當報表伺服器處於工作狀態時,您只能重新建立對稱密鑰。 重新建立加密金鑰並重新加密內容會中斷伺服器作業。 重新加密進行時,您必須讓伺服器離線。 重新加密期間不應該對報表伺服器提出要求。
您可以使用 Reporting Services 組態工具或 rskeymgmt 公用程式來重設對稱密鑰和加密的數據。 如需如何建立對稱密鑰的詳細資訊,請參閱初始化報表伺服器(SSRS 組態管理員)。
如何重新建立加密金鑰 (Reporting Services 組態工具)
修改 rsreportserver.config 檔案中的
IsWebServiceEnabled屬性,停用報表伺服器 Web 服務和 HTTP 存取。 此步驟會暫時停止將驗證要求傳送至報表伺服器,而不會完全關閉伺服器。 您必須擁有基本服務,才能重新建立密鑰。如果您要重新建立報表伺服器向外延展部署的加密金鑰,請在部署中的所有實例上停用此屬性。
開啟 Windows 檔案總管並流覽至 磁碟驅動器:\Program Files\Microsoft SQL Server\report_server_instance\Reporting Services。 將 磁碟驅動器 取代為您的驅動器號,再將 report_server_instance 替換為對應至報表伺服器實例的資料夾名稱,以停用 Web 服務和 HTTP 存取。 例如,C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services。
開啟 rsreportserver.config 檔案。
對於
IsWebServiceEnabled屬性,指定False,然後儲存變更。
啟動 Reporting Services 組態工具,然後連線到您想要設定的報表伺服器實例。
在 [加密金鑰] 頁面上,按下 [變更]。 按一下 [確定]。
重新啟動報表伺服器 Windows 服務。 如果您要重新建立向外延展部署的加密金鑰,請在所有實例上重新啟動服務。
修改 rsreportserver.config 檔案中的
IsWebServiceEnabled屬性,以重新啟用 Web 服務和 HTTP 存取。 如果您要使用向外延展部署,請針對所有實例執行此動作。
如何重新建立加密金鑰 (rskeymgmt)
停用報表伺服器 Web 服務和 HTTP 存取。 使用上一個程式中的指示來停止 Web 服務作業。
在裝載報表伺服器的電腦上本機執行 rskeymgmt.exe 。
-s使用 自變數來重設對稱密鑰。 不需要其他參數。rskeymgmt -s重新啟動 Windows 服務並啟用 Web 服務作業。
刪除無法使用的加密內容
如果基於某些原因,您無法還原加密金鑰,報表伺服器將永遠無法解密並使用使用該金鑰加密的任何數據。 若要將報表伺服器傳回工作狀態,您必須刪除目前儲存在報表伺服器資料庫中的加密值,然後手動重新指定您需要的值。
刪除加密金鑰會從報表伺服器資料庫移除所有對稱金鑰資訊,並刪除任何加密的內容。 所有未加密的數據都會保持不變;只會移除加密的內容。 當您刪除加密金鑰時,報表伺服器會藉由新增對稱密鑰自動重新初始化本身。 當您刪除加密的內容時,會發生下列情況:
共用資料來源中的連接字串會被刪除。 執行報表的使用者會收到「ConnectionString 屬性尚未初始化」錯誤。
儲存的認證會遭到刪除。 報表和共享數據源會重新設定為使用提示的認證。
以模型為基礎(且需要以預存或無認證設定的共享數據源)的報表將不會執行。
訂閱已停用。
刪除加密的內容之後,就無法復原它。 您必須重新指定連接字串和預存認證,而且必須啟用訂用帳戶。
您可以使用 Reporting Services 組態工具或 rskeymgmt 公用程式來移除這些值。
如何刪除加密金鑰 (Reporting Services 組態工具)
啟動 Reporting Services 組態工具,然後連線到您想要設定的報表伺服器實例。
按兩下 [加密金鑰],然後按下 [ 刪除]。 按一下 [確定]。
重新啟動報表伺服器 Windows 服務。 針對向外延展部署,請在所有報表伺服器實例上執行此動作。
如何刪除加密金鑰 (rskeymmgt)
在裝載報表伺服器的電腦上本機執行 rskeymgmt.exe 。 您必須使用 -d 應用參數。 下列範例說明您必須指定的參數。
rskeymgmt -d重新啟動報表伺服器 Windows 服務。 針對向外延展部署,請在所有報表伺服器實例上執行此動作。
如何重新指定加密的值
針對每個共享資料源,您必須重新輸入連接字串。
針對使用預存認證的每個報表和共享數據源,您必須重新輸入使用者名稱和密碼,然後儲存。 如需詳細資訊,請參閱《SQL Server 在線叢書》中的 指定報表數據源的認證和連接資訊 。
針對每個數據驅動訂閱,開啟每個訂用帳戶,並將認證重新輸入至訂用帳戶資料庫。
對於使用加密數據的訂用帳戶(這包括檔案共用傳遞延伸模組和使用加密的任何第三方傳遞延伸模組),請開啟每個訂用帳戶並重新輸入認證。 使用報表伺服器電子郵件傳遞的訂閱不會使用加密的數據,而且不會受到密鑰變更影響。