共用方式為


SQL Server 安全性

SQL Server 帳戶與角色在 Microsoft AppFabric 1.1 for Windows Server 安全性中扮演重要角色。AppFabric 使用這些 SQL Server 實體來控制包含來自監控作業之資料的儲存區與資料表,以及與工作流程持續性相關的狀態控制資料。AppFabric 未提供可協助您管理資料庫安全性的工具。若要建立帳戶與角色以及檢視、操控與指派適當的權限至這些資料庫物件,請使用資料庫安裝隨附的支援工具。對於 SQL Server,請使用 SQL Server Management Studio。

AppFabric 使用 SQL Server 登入與角色來管理對於此類資產 (例如,持續性與監控儲存區與預存程序) 的存取權。安全性原則是透過資料表與預存程序上的權限來套用,這些權限決定誰可以讀取/寫入持續性與監控結構描述以及在這些結構描述上執行系統管理作業。每個結構描述都受自己的安全性原則組保護。

SQL Server 驗證模式與 AppFabric

SQL Server 提供兩種可用來驗證對其 AppFabric 資料庫伺服器之存取的方式。

  • **Windows 驗證。**這是由預設的「Windows 驗證模式」提供。它是適用於 SQL Server 的最安全驗證模式。設定「Windows 驗證」模式時,SQL Server 會使用 Windows 安全性向 Windows 作業系統驗證要求存取之使用者帳戶的帳戶與密碼。

  • **SQL Server 驗證。**這是由「SQL Server 驗證」模式提供。此驗證模式是為了回溯相容性提供,適用於需要使用純文字使用者帳戶與密碼來存取 SQL Server 的應用程式與使用者。這是最不安全的模式。

雖然 AppFabric 可搭配 SQL Server 驗證使用,但基於安全性最佳作法,建議您不要從組態檔傳遞內嵌在連接字串中的純文字帳戶名稱與密碼。強烈建議您將 SQL Server 設定為使用「Windows 驗證」模式,避免使用「SQL Server 驗證」模式。

若必須使用「SQL Server 驗證」模式,或您使用需要在連接字串中儲存密碼的非 SQL Server 提供者,建議您使用加密的連接字串。AppFabric 無法處理組態檔的加密區段,因此您無法使用 AppFabric 工具來檢視或新增加密的連接字串。

若需要透過將組態檔的某部分加密來保護 AppFabric 電腦上的組態檔,請使用「ASP.NET IIS 註冊工具」(Aspnet_regiis.exe)。您可以在 AppFabric 使用者介面之外,使用此工具來加密 (-pe 選項) 組態檔的任何安全性相關區段。稍後若需要檢視或修改這些區段,您可以使用 –pd 選項來解密。將區段解密可讓您在 AppFabric 工具中檢視、變更與儲存變更到組態檔,然後再於 AppFabric 之外重新加密區段。如需有關如何使用「ASP.NET IIS 註冊工具」的詳細資訊,請參閱 ASP.NET IIS 註冊工具 (Aspnet_regiis.exe) (https://go.microsoft.com/fwlink/?LinkId=169163) (可能為英文網頁)。

SQL Server 登入

SQL Server 登入需要使用者帳戶與密碼,才能登入 SQL Server 電腦。您可以將它視為存取權限或驗證 (Windows 安全性詞彙)。SQL Server 使用「Windows 整合式驗證」來識別嘗試存取或管理 AppFabric 資料庫資源的安全性主體。若要使用「Windows 整合式驗證」連線到 SQL Server,您必須提供用於執行應用程式的 Windows 身分識別。您也必須確定該身分識別已被授與可存取 SQL Server 資料庫的適當權限。

若要在資料庫結構描述或資料上執行任何設定或操作動作,您必須將該登入帳戶對應到具有適當權限的 SQL Server 角色。SQL Server 角色的運作方式與 Windows 群組類似。SQL Server 角色中的登入帳戶成員資格決定該登入帳戶對於系統管理活動與資料庫作業的控制程度。登入帳戶可以是一或多個資料庫角色的成員。

安裝 AppFabric 時會建立這些 SQL Server 登入。

登入名稱 Windows 帳戶 資料庫角色成員資格

AS_Administrators

LOCALHOST\AS_Administrators

  • ASMonitoringDbAdmin

  • ASMonitoringDbReader

  • ASMonitoringDbWriter

  • 公用

  • Microsoft.ApplicationServer.DurableInstancing.WorkflowAdministrators

  • Microsoft.ApplicationServer.DurableInstancing.WorkflowManagementServiceUsers

  • System.Activities.DurableInstancing.InstanceStoreObservers

  • System.Activities.DurableInstancing.WorkflowActivationUsers

AS_Observers

LOCALHOST\AS_Observers

  • ASMonitoringDbReader

  • 公用

  • System.Activities.DurableInstancing.InstanceStoreObservers

IIS_IUSRS

BUILTIN\IIS_IUSRS

  • 公用

  • System.Activities.DurableInstancing.InstanceStoreUsers

SQL Server 資料庫角色

SQL Server 有三種類型的資料庫角色:伺服器、應用程式與資料庫。為了完整性,我們將在此簡單地討論這些角色。AppFabric 會針對其大部分的 SQL Server 安全性單獨使用資料庫角色模型。

  • **SQL Server「伺服器」角色。**SQL Server「伺服器」角色是在伺服器等級的任何儲存區之外所定義。SQL Server 角色是預先定義的,因此您無法修改其數目或內容。sysadmin 角色是常見伺服器角色的其中一個範例。此角色中的成員資格可讓登入帳戶執行所有資料庫作業,以及在所有儲存區中的 SQL Server 資料上執行任何作業。AppFabric 不會明確地在其資訊安全模型中使用任何伺服器角色。

  • **SQL Server「應用程式」角色。**應用程式角色支援更複雜、可自訂的安全性機制,可滿足特定應用程式需求。儲存區可供具有相同需求的多個應用程式使用,以在任一應用程式嘗試存取儲存區資料時強制套用安全性機制。AppFabric 不會明確地在其資訊安全模型中使用任何應用程式角色。

  • SQL Server「資料庫」角色。 AppFabric 廣泛地使用資料庫角色。資料庫角色有三種:公用、使用者定義與固定。為了完整性,我們將在此討論這些角色。AppFabric 會針對其大部分的 SQL Server 安全性單獨使用使用者定義的資料庫角色模型。

    SQL Server 資料庫角色有三種:

    • **公用。**公用資料庫角色包含所有資料庫使用者的預設存取權限。因此,AppFabric 所建立的每個登入帳戶都是此角色的成員。

    • **固定。**就像 SQL Server「伺服器」角色 (例如,sysadmin),您無法修改固定資料庫角色。不像伺服器角色 (存在於伺服器等級),資料庫角色存在於每個儲存區的資料庫等級。db_owner 是固定資料庫角色的其中一個範例。您可以在固定資料庫角色中新增或移除 SQL Server 登入使用者帳戶。

    • 使用者定義。 AppFabric 會在安裝期間建立空白的特定使用者定義資料庫角色。AppFabric 安裝程式不會明確地將任何 Windows 帳戶或 SQL Server 登入帳戶插入那些使用者定義的資料庫角色中。您必須使用 SQL Server 管理工具明確地新增帳戶。

AppFabric 使用 SQL Server 資料庫角色來控制對於其監控與持續性資料儲存區的存取。當您在安裝期間初始化新的 AppFabric 監控或持續性資料儲存區時,會建立數個使用者定義的資料庫安全性角色。下表顯示這些角色如何對應至上一節說明的 SQL Server 登入。

SQL Server 使用者定義角色 結構描述 對應的登入 權限

ASMonitoringDbAdmin

監控

AS_Administrators

寫入臨時資料表、讀取事件檢視,以及叫用清除與封存預存程序

ASMonitoringDbReader

監控

AS_Administrators 與 AS_Observers

從事件檢視讀取

ASMonitoringDbWriter

監控

AS_Administrators

寫入臨時資料表及叫用匯入程序

Microsoft.ApplicationServer.DurableInstancing.WorkflowAdministrators

持續性

AS_Administrators

將控制命令放入儲存區的命令佇列

System.Activities.DurableInstancing.InstanceStoreObservers

持續性

AS_Administrators 與 AS_Observers

從執行個體儲存區檢視讀取

System.Activities.DurableInstancing.InstanceStoreUsers

持續性

BUILTIN\IIS_IUSRS

叫用與持續性相關的預存程序

Microsoft.ApplicationServer.DurableInstancing.WorkflowManagementServiceUsers

持續性

AS_Administrators

將控制命令從儲存區的命令佇列移出

System.Activities.DurableInstancing.WorkflowActivationUsers

持續性

AS_Administrators

查詢執行個體儲存區以尋找可啟用的工作流程執行個體

若使用 Active Directory,強烈建議您使用網域帳戶來設計 AppFabric 安全性角色,以簡化管理多部電腦之安全性的程序。AppFabric 系統管理員可以明確地透過 Active Directory 為系統管理員與觀察者角色建立兩個自訂群組帳戶。例如,您可以將它們命名為 “DOMAIN\MyAppFabricAdmins” 與 “DOMAIN\MyAppFabricObservers”。接著您可以手動將 “DOMAIN\MyAppFabricAdmins” 群組新增至 LOCALHOST\AS_Administrators 群組,並將 “DOMAIN\MyAppFabricObservers” 群組新增至 LOCALHOST\AS_Observers 群組,以在每部電腦上為兩個群組授與適當的權限。「事件收集」服務與「「工作流程管理」服務」必須以屬於 “DOMAIN\MyAppFabricAdmins” 群組的網域帳戶執行。

security安全性 注意
使用 SQL Server 的 AppFabric Cmdlet 依賴這些 SQL Server 資料庫角色來驗證執行期間的身分識別。

非 SQL Server 資料庫儲存區

SQL Server 資料庫角色專屬於 SQL Server。但是,若您不使用預設的 SQL Server 提供者,而是自行開發自訂提供者,您可以將這些角色的功能對應至非 SQL Server 儲存區中的對等角色。

對於非 SQL Server 儲存區,您需要在連接字串中包含使用者識別碼與密碼,以保護對於儲存區的存取。雖然您可以在儲存區的連接字串中傳遞使用者使別碼與密碼 (例如,使用 SQL Server 驗證時),但不建議這樣做。若在連接字串中傳遞使用者識別碼與密碼是唯一選擇,請務必採用適當的 .NET Framework 安全性實作來確保連接字串已加密。

注意

當您使用加密的連接字串時,關聯的 IIS 應用程式可正確運作。但是,相關的「IIS 管理員」工具在連接字串已加密的情況下將無法運作。若要使用那些工具,您必須將連接字串解密、使用 IIS 工具來變更組態,然後重新將連接字串加密。

  2012-03-05