如何:設定服務帳戶 (Reporting Services 組態)

新增: 2006 年 12 月 12 日

若要在 Reporting Services 安裝中指定服務帳戶,請使用 Reporting Services 組態工具,使其他相依於此服務識別的設定也可以同時更新。

根據預設,報表伺服器 Web 服務在 Internet Information Services (IIS) 6.0 中是使用 [網路服務],而在 IIS 5.0 中則是使用 ASP.NET 帳戶。您可以將 Web 服務修改為使用不同的帳戶執行。如果使用網域帳戶,則可能需要執行其他步驟,服務才能完全運作。

報表伺服器 Windows 服務是以您在安裝期間所指定的帳戶執行,但是您可以將其變更為使用不同的帳戶,或在舊密碼逾期時更新密碼。

Bb326419.note(zh-tw,SQL.90).gif重要事項:
當您修改報表伺服器 Windows 服務識別設定時,服務帳戶更新過程中的每個步驟都會記錄在頁面底端的工作面板中。在帳戶更新過程中,報表伺服器 Windows 服務將會停止及重新啟動。可能發生的錯誤包括登入失敗 (例如,帳戶或密碼輸入錯誤)。在極罕見的對稱金鑰未還原的情形下,您可以在 [加密金鑰] 頁面中按一下 [還原],自行執行此一步驟。若要確認帳戶已經正確重設,請開啟一個使用預存認證的報表。如果您無法還原金鑰的備份副本,則必須刪除加密的內容。如需詳細資訊,請參閱<刪除和重新建立加密金鑰>和<備份與還原加密金鑰>。

設定 Web 服務帳戶的某些步驟來自於 MSDN 網站上發行的其他文件。如需有關如何設定 Web 服務帳戶的詳細資訊,請參閱 MSDN 上的<如何建立 ASP 的服務帳戶>(英文)。

您必須是網域管理員才能建立網域帳戶。

若要設定報表伺服器 Windows 服務

  1. 啟動 Reporting Services 組態工具,並連接到報表伺服器。

  2. 在 [Windows 服務識別] 頁面上,指定新的帳戶和密碼。按一下 [套用]

  3. 如果出現提示要求備份對稱金鑰,請輸入對稱金鑰備份的密碼和檔案名稱,再按 [確定]

若要將報表伺服器 Web 服務設定為使用 IIS 6.0 中的網域帳戶

  1. 使用主控台中的 [Active Directory 使用者及電腦] 工具建立新的網域使用者帳戶。為帳戶提供描述性名稱。清除 [使用者必須在下次登入時變更密碼] 選項,然後選取 [密碼永遠不會到期]。為帳戶指派強式密碼。強式密碼應該至少包含七個字元,而且混合大小寫字母、數字和 *、? 或 $ 之類的其他字元。

  2. 從命令視窗執行下列命令,將 ASP.NET 權限指派給新帳戶:

    aspnet_regiis -gaDomainName\AccountName

  3. 啟動 IIS 管理員。

  4. 在 [應用程式集區] 中,以滑鼠右鍵按一下 [報表伺服器],然後再按一下 [屬性]

  5. 按一下 [識別]

  6. 輸入網域使用者帳戶。此帳戶不得超過 20 個字元。

  7. 啟動 Reporting Services 組態工具,並連接到報表伺服器。

  8. 開啟 [Web 服務識別] 頁面,選取剛才設定的應用程式集區。

  9. 按一下 [套用]

如果網域是設定為使用 Kerberos 驗證,則網域管理員可能需要建立服務主要名稱 (SPN) 以註冊網站的網域帳戶,否則就可能會發生 HTTP 401 拒絕存取錯誤。請確定您所註冊的網域帳戶與用於應用程式集區的帳戶相同。如需詳細資訊,請參閱 Microsoft TechNet 網站上的<設定 Kerberos 的受條件約束委派 (IIS 6.0)>(英文)。

若要將報表伺服器 Web 服務設定為使用 IIS 5.0 中的網域帳戶

  1. 使用主控台中的 [Active Directory 使用者及電腦] 工具建立新的網域使用者帳戶。為帳戶提供描述性名稱。清除 [使用者必須在下次登入時變更密碼] 選項,然後選取 [密碼永遠不會到期]。為帳戶指派強式密碼。強式密碼應該至少包含七個字元,而且混合大小寫字母、數字和 *、? 或 $ 之類的其他字元。

  2. 將使用者帳戶和密碼的加密副本儲存在登錄中。在後續步驟中,您會在 Machine.config 檔案中參考此登錄項目。

    1. www.support.microsoft.com 上的<如何使用 ASP .NET 公用程式來加密認證和工作階段狀態連接字串>(英文) 下載 aspnet_setreg.exe 公用程式。

    2. 從命令列執行下列命令 (使用對步驟 1 所建立之帳戶有效的值來取代網域、使用者名稱和密碼)。

      aspnet_setreg -k:Software\MyASPNetApp\Identity -u:"domainname\username" -p:"password"
      
  3. 使用 Microsoft Visual Studio 或記事本開啟 Machine.config。Machine.config 位於下列的資料夾:C:\WINNT\Microsoft.NET\Framework\v1.1.4322\CONFIG。輸入下列命令,將組態檔修改為參考剛才建立的登錄機碼:

    1. 找到 <identity impersonate="false" userName="" password=""/> 元素。

    2. 使用下列項目來取代該元素:

      <identity impersonate="true" 
      userName="registry:HKLM\Software\MyASPNetApp\Identity\ASPNET_SETREG,userName" 
      password="registry:HKLM\Software\MyASPNetApp\Identity\ASPNET_SETREG,password"/>
      
  4. 執行登錄編輯器,將 [讀取] 權限授與帳戶:

    1. 瀏覽到 My Computer/HKEY_LOCAL_MACHINE/SOFTWARE/MyASPNetApp/Identity/ASPNET_SETREG
    2. 以滑鼠右鍵按一下 ASPNET_SETREG,然後再按一下 [使用權限]
    3. 按一下 [加入]
    4. 輸入在步驟 1 中建立的使用者帳戶,然後按一下 [確定]
    5. 選取帳戶,按一下 [完整控制權],再按 [確定]
  5. 將檔案權限指派給 ASP.NET 暫存檔資料夾:

    1. 瀏覽到 'C:\WINNT\Microsoft.NET\Framework\V1.0.4322\Temporary ASP.NET Files'。
    2. 以滑鼠右鍵按一下 [Temporary ASP.NET Files],再按一下 [屬性]
    3. 按一下 [安全性]、按一下 [加入]、輸入帳戶,然後選取帳戶,以便在該帳戶上指定權限。
    4. 按一下 [寫入],然後按一下 [確定]
  6. 將帳戶加入至報表伺服器 Windows 安全性群組:

    1. 依序指向 [開始][系統管理工具],然後按一下 [電腦管理]
    2. 開啟 [本機使用者和群組] 並選取 [群組]
    3. 以滑鼠右鍵按一下 [SQLServer2005ReportingServicesWebServiceUser$<computer_name>$<instance_name>]。
    4. 按一下 [加入群組]
    5. 按一下 [加入]
    6. 輸入帳戶並按一下 [確定]
    Bb326419.note(zh-tw,SQL.90).gif附註:
    此程序中的許多步驟都是來自 MSDN 上的<建置安全的 ASP.NET 應用程式:驗證、授權和安全通訊>。如需有關步驟的詳細資訊,請在 MSDN 上搜尋該文件。如需有關如何使用 aspnet_setreg.exe 公用程式的詳細資訊,請參閱 www.support.microsoft.com 上的<如何使用 ASP .NET 公用程式來加密認證和工作階段狀態連接字串>(英文)。

請參閱

工作

如何:啟動 Reporting Services 組態

概念

在 Reporting Services 中設定服務帳戶和密碼
管理報表伺服器 Web 服務與 Windows 服務

其他資源

Windows 服務識別 (Reporting Services 組態)
Web 服務識別 - Windows Server 2003 (Reporting Services 組態)
Web 服務識別 (Reporting Services 組態)

說明及資訊

取得 SQL Server 2005 協助