分享方式:


事件收集安全性

使用「事件收集」服務時,必須考量下列安全性問題。

事件收集服務權限摘要

確定新的「事件收集」服務執行個體身分識別具有下列權限:

  • 建立 ETW 工作階段、註冊提供者,以及從 ETW 工作階段讀取事件的權限。

  • 讀取儲存在根 Web.config 檔案之「事件收集」服務組態的權限。

  • 讀取位於 <磁碟機>\Windows\System32\inetserv\config 之 IIS 組態檔的權限。

  • 讀取正被監控之應用程式的適用應用程式組態檔 (Web.config) 的權限。

  • 讀取及寫入監控資料庫的權限。

  • 「以服務方式登入」原則

以特定使用者身分執行

若要隔離正由 Microsoft AppFabric 1.1 for Windows Server 監控之特定應用程式的事件,請以特定使用者身分執行包含 Windows Communication Foundation (WCF) 和/或 Windows Workflow Foundation (WF) 服務的應用程式。確保使用者有權限寫入「事件收集」服務正在接聽的「Windows 事件追蹤」工作階段。此外,您也必須以特定使用者身分執行實際的「事件收集」服務。此使用者身分不一定要與用來執行應用程式的使用者身分相同。下列步驟允許您以特定使用者身分執行「事件收集」服務:

  1. 將「事件收集」服務執行個體的身分識別新增到 Performance Log Users Windows 群組。這樣可提供適當的 ACL,讓「事件收集」服務建立 ETW 工作階段、註冊提供者,以及從 ETW 工作階段讀取事件。

  2. 「事件收集」服務身分識別需要監控資料儲存區的寫入與讀取權限。因此您必須將「事件收集」服務身分識別新增到 ASMonitoringDbReaderASMonitoringDbWriter 資料庫角色。您可以明確地將身分識別新增到這些資料庫角色。或者您可以將「事件收集」服務身分識別新增到 AppFabric 所建立的 AS_Administrators Windows 群組。

  3. 將要監控之應用程式的 Web.config 檔案的讀取權限授與「事件收集」服務的身分識別。將「事件收集」服務執行個體的身分識別新增到 AS_Administrators Windows 群組,可將 IIS 應用程式組態檔 (位於 <磁碟機>\Windows\system32\inetserv\config 目錄) 的讀取權限授與「事件收集」服務服務。

若要讓包含 Windows Communication Foundation (WCF) 和/或 Windows Workflow Foundation (WF) 服務的應用程式可以使用 Microsoft AppFabric 1.1 for Windows Server 監控功能,必須產生事件到「事件收集」服務正在收集事件的 ETW 工作階段。若要讓應用程式有權限可寫入到 ETW 工作階段,請確定應用程式執行所在之應用程式集區的身分識別具有 ETW 工作階段的寫入權限。若要執行此動作,您可以將身分識別新增到可透過 Windows [可靠性和效能監視器] 工具存取 ETW 工作階段的使用者清單。或者,您可以使用 EventAccessControl Win32 API (https://go.microsoft.com/fwlink/?LinkId=179742) (可能為英文網頁),變更權限讓使用者可寫入到 ETW 工作階段。

如果「事件收集」服務身分識別沒有其所監控之應用程式的 Web.config 檔案的讀取權限,它將會產生事件識別碼 130。此事件將被寫入事件記錄檔的 Microsoft-Windows-Application Server-System Services/Admin 節點下。

您可以下列其中一種方式,將讀取應用程式 Web.config 檔案的權限指派給「事件收集」服務身分識別。

  • 使用 Windows 檔案總管,在應用程式的 Web.config 檔案上按一下滑鼠右鍵,選取 [內容],然後按一下 [安全性] 索引標籤。將「讀取」權限指派給「事件收集」服務使用的身分識別。

    注意

    由於有時候會快取安全性設定,因此授與「讀取」權限後可能需要一段時間才會套用權限。此外,您可能需要重新啟動「事件收集」服務,它才能使用更新的權限讀取應用程式的 Web.config 檔案。

  • 另一個明確設定 Web.config 檔案「讀取」權限的替代方法,是將應用程式移到根 Web 資料夾。例如,對於預設網站,此位置會是 <系統磁碟機>\inetpub\wwwroot。在開發期間,您也可以從 Visual Studio 執行此動作。在您的專案上按一下滑鼠右鍵,選取 [發佈] 以利用 MSDeploy 將 Web 服務發佈到本機 IIS 伺服器 (使用 Localhost)。

「以服務方式登入」原則

在 Web 伺服陣列中的各部伺服器上執行「事件收集」服務與「工作流程管理」服務所用的服務身分識別,必須是網域 AppFabric 系統管理員群組的成員。因為此群組是網域系統管理員手動建立的,因此可任意指定群組名稱。此群組通常包含 AppFabric 網域系統管理員帳戶。您必須將「以服務方式登入」權限授與此群組中的使用者,並在網域中強制執行。此權限可讓安全性主體以服務方式登入。以個別的使用者帳戶執行的任何服務都必須被指派此權限。如需如何將「以服務方式登入」權限新增到帳戶的相關資訊,請參閱 https://go.microsoft.com/fwlink/?LinkId=192517 (可能為英文網頁)。

  2012-03-05