設定報表伺服器服務帳戶 (報表伺服器組態管理員)

適用於:✅SQL Server 2016 (13.x) Reporting Services 和更新版本✅ Power BI 報表伺服器

Reporting Services 會實作成單一服務,包含報表伺服器 Web 服務、入口網站,以及用於排程報表處理和訂用帳戶傳遞的背景處理應用程式。 本文將說明如何在一開始設定服務帳戶,以及如何使用 Reporting Services 組態工具來修改此帳戶或密碼。

初始設定

報表伺服器服務帳戶是在安裝期間所定義。 您可以在網域使用者帳戶或內建帳戶 (例如 虛擬服務帳戶) 之下執行此服務。 沒有預設帳戶;您在 [安裝精靈] 的 [服務帳戶] 頁面中所指定任何帳戶都會成為報表伺服器服務的初始帳戶。

重要

雖然報表伺服器 Web 服務和入口網站為個別的 ASP.NET 應用程式,但是它們會在同一個報表伺服器處理序身分識別內的單一服務架構下執行。

注意

不支援使用內建 Windows 服務帳戶 (本機服務或網路服務) 做為屬於網域控制站之電腦上的報表伺服器服務帳戶。

變更服務帳戶

若要檢視及重新設定服務帳戶資訊,請務必使用 Reporting Services 組態管理員。 服務識別資訊會儲存在內部的多個位置。 使用此工具可確保每當您變更帳戶或密碼時,所有的參考也會隨著更新。 Reporting Services 組態管理員會執行下列額外步驟,以確保報表伺服器保持可用:

  • 自動將新帳戶加入本機電腦上所建立的報表伺服器群組中。 此群組是在保護 Reporting Services 檔案安全的存取控制清單 (ACL) 中指定。

  • 自動更新用來裝載報表伺服器資料庫的 SQL Server 資料庫引擎執行個體登入權限。 新的帳戶會新增至 RSExecRole

    舊帳戶的資料庫登入不會自動移除。 請務必移除不再使用的帳戶。 如需詳細資訊,請參閱管理報表伺服器資料庫 (SSRS 原生模式)

    只有在一開始設定報表伺服器資料庫連接使用新的服務帳戶,才能將資料庫權限授與這個服務帳戶。 如果您設定報表伺服器資料庫連接使用網域使用者帳戶或 SQL Server 資料庫登入,則服務帳戶更新不會影響連線資訊。

  • 自動更新加密金鑰,加入新帳戶的設定檔資訊。

    注意

    如果報表伺服器是向外延展部署的一部分,則只有您更新的報表伺服器會受到影響。 部署中其他報表伺服器的加密金鑰,不會受到服務帳戶變更的影響。

設定報表伺服器服務帳戶

  1. 啟動 Reporting Services 組態管理員,並連線到報表伺服器。

  2. 在 [服務帳戶] 頁面上,選取可描述您想要使用之帳戶類型的選項。

  3. 如果您選取了 Windows 使用者帳戶,請指定新的帳戶和密碼。 帳戶不能超過 20 個字元,而且不能包含每個 Windows 使用者帳戶命名規則的特殊字元 " / \ [ ] : ; | = , + * ? < > '

    如果在支援 Kerberos 驗證的網路中部署報表伺服器,您就必須使用您所指定網域使用者帳戶來註冊報表伺服器的「服務主體名稱」(SPN)。 如需詳細資訊,請參閱為報表伺服器註冊服務主體名稱 (SPN)

  4. 選取套用

  5. 如果出現提示要求備份對稱金鑰,請輸入對稱金鑰備份的檔案名稱和位置。 輸入用來鎖定和解除檔案鎖定的密碼,然後再選取 [確定]

  6. 如果報表伺服器使用此服務帳戶連線到報表伺服器資料庫,則會更新連線資訊來使用新的帳戶或密碼。 更新連接資訊時,將需要連接到資料庫。 如果 SQL Server [資料庫連接] 對話框出現,請輸入有權連線此資料庫的認證,然後選取 [確定]

  7. 當系統提示您還原對稱金鑰時,請輸入您在步驟 5 中指定的密碼,然後選取 [確定]

  8. 檢閱 [結果] 窗格中的狀態訊息,以確認所有工作都已順利完成。

選擇帳戶

為了取得最佳結果,請指定具有網路連接權限的帳戶,以存取網域控制站和企業的 SMTP 伺服器或閘道。 下表摘要列出這些帳戶並提供使用這些帳戶的建議。

注意

群組受管理的服務帳戶概觀無法作為報表伺服器服務帳戶受到支援。

帳戶 說明
網域使用者帳戶 如果您的 Windows 網域使用者帳戶具有報表伺服器作業所需的最低權限,您應該使用此帳戶。

建議使用網域使用者帳戶,因為它會將報表伺服器服務與其他應用程式隔離。 如果在共用帳戶 (如網路服務) 下執行多個應用程式增加了惡意使用者控管報表伺服器的風險,因為任何一個應用程式的安全性缺口都可輕易地延伸到在相同帳戶下執行的所有應用程式。

如果您使用網域使用者帳戶,則當您的組織實施密碼到期原則時,您必須定期變更密碼。 您也可能需要使用此使用者帳戶來註冊服務。 如需詳細資訊,請參閱為報表伺服器註冊服務主體名稱 (SPN)

避免使用本機 Windows 使用者帳戶。 本機帳戶通常沒有足夠權限可存取其他電腦上的資源。 如需使用本機帳戶如何限制報表伺服器功能的詳細資訊,請參閱本文中的 使用本機帳戶的考量
虛擬服務帳戶 虛擬服務帳戶代表 Windows 服務。 它是權限最低的內建帳戶,具有網路登入權限。 如果您沒有可用的網域使用者帳戶,或是您想要避免因密碼到期原則所可能產生的任何服務中斷,則建議您使用此帳戶。
網路服務 [網路服務] 是權限最低的內建帳戶,具有網路登入權限。

如果您選取 [網路服務] ,請嘗試將相同帳戶下執行的其他服務數目降到最低。 任何一個應用程式的安全性缺口都會危害相同帳戶下執行之所有其他應用程式的安全性。
本機服務 [本機服務] 是一個內建帳戶,類似於經過驗證的本機 Windows 使用者帳戶。 以 [本機服務] 帳戶身分執行的服務會以不含認證的 Null 工作階段來存取網路資源。 此帳戶不適合內部網路部署狀況,在此狀況下,報表伺服器必須連接到遠端報表伺服器資料庫或網域控制站,才能在開啟報表或處理訂閱之前先驗證使用者。
本機系統 [本機系統] 是具有高權限的帳戶,執行報表伺服器不需要使用它。 請避免使用此帳戶進行報表伺服器安裝。 請改為選擇網域帳戶或 [網路服務]

使用本機帳戶的考量

使用本機帳戶的主要考量為報表伺服器是否需要存取遠端資料庫伺服器、郵件伺服器和網域控制站。 如果您設定報表伺服器以本機 Windows 使用者帳戶、本機服務或本機系統的身分執行,您就必須考量您要如何設定其他組態設定,以及考量訂閱的建立和傳遞方式:

  • 如果使用本機帳戶執行服務,則您稍後在設定遠端報表伺服器資料庫的連線時,所能使用的選項將會受到限制。 更明確地說,如果您使用遠端報表伺服器資料庫,您就必須將連線設定為使用網域使用者帳戶或 SQL Server 資料庫使用者 (該使用者具有登入遠端 SQL Server 執行個體的權限)。

  • 如果使用本機帳戶執行服務,則會產生訂閱建立方面的新需求。 報表伺服器會儲存建立訂閱之使用者的相關資訊。 如果使用者在使用網域帳戶登入的期間建立訂閱,則報表伺服器服務會嘗試連線到網域控制站,以便在處理訂閱時驗證使用者。 如果此服務是使用本機帳戶執行,則當報表伺服器嘗試將要求傳送到遠端網域控制站時,驗證要求會失敗。 若要處理這項限制,可以使用自訂的表單架構驗證延伸模組,或讓所有使用者使用本機使用者帳戶連接到報表伺服器。

  • 如果使用本機帳戶執行服務,則會產生訂閱傳遞方面的新需求。 有些傳遞延伸模組會在訂閱定義中包含使用者帳戶資訊。 如果您要將報表傳送到以網域使用者帳戶為基礎的電子郵件位址,且您是使用本機帳戶來執行報表伺服器服務,則該服務就無法存取遠端網域控制站來解析目標電子郵件帳戶。

  • 不支援使用內建 Windows 服務帳戶 (本機服務或網路服務) 做為屬於網域控制站之電腦上的報表伺服器服務帳戶。

本節中的下列指導方針和連結可以協助您決定最適合用於您的部署的方法。

更新已過期的密碼

如果報表伺服器服務是以網域帳戶執行,且在可於報表伺服器組態管理員內更新密碼以前密碼就已經過期,則要先指定新的密碼才能啟動該服務。

如果資料庫引擎的服務帳戶密碼已過期,則當您嘗試連線至報表伺服器時便會發生 rsReportServerDatabaseUnavailable 錯誤。 重設密碼即可解決此錯誤。

排除服務識別更新錯誤

變更此服務識別會起始一連串的事件,其中包括重新啟動此服務、更新受密碼保護的加密金鑰、更新 URL 保留項目,以及更新報表伺服器資料庫連線資訊 (如果您使用此服務帳戶連線到報表伺服器資料庫)。 您可以檢視此頁面底部之 [結果] 窗格內的通知,以監視這些事件的狀態。 如果此程序進行期間發生錯誤,您可以使用以下方法嘗試加以解決:

  • 如果無法還原對稱金鑰,您可以使用 [加密金鑰] 頁面中的 [還原],嘗試手動將它還原。 如果這樣做無效,請考慮刪除加密的內容。 您必須重新建立資料來源連線資訊和訂閱,但仍然可以使用內容的其餘部分。 如需詳細資訊,請參閱備份與還原 Reporting Services 加密金鑰

  • 如果此服務無法啟動,請使用 [系統管理員工具] 內的服務主控台應用程式,手動將它重新啟動。

  • 當您更新此服務帳戶時,可能會發生 URL 保留項目錯誤。 每一個 URL 保留項目都包含一個內含「判別存取控制清單」(DACL) 的安全性描述項,該清單會授與服務帳戶接受 URL 要求的權限。 當您更新此帳戶時,必須重新建立此 URL,以便使用新的帳戶資訊來更新 DACL。 如果無法重新建立此 URL 保留項目,且您知道此帳戶確實有效,請嘗試重新啟動電腦。 如果錯誤持續存在,請嘗試使用不同的帳戶。