共用方式為


安全性概觀 (Integration Services)

SQL Server Integration Services 中的安全性包含幾層,提供了豐富且具彈性的安全性環境。 這些層的安全性包括使用數位簽章、封裝屬性、SQL Server 資料庫角色,以及作業系統權限。這些安全性功能中有大部分落在識別與存取控制兩大類別目錄。

識別功能

您可以透過在封裝中實作識別功能,藉以達到下列目標:

確定您只會開啟和執行來自信任來源的封裝

為確保您只開啟和執行來自信任來源的封裝,您必須先識別封裝的來源。 您可以使用憑證簽署封裝,藉以識別來源。 接著,當您開啟或執行封裝時,可以讓 Integration Services 檢查數位簽章是否存在及其有效性。 如需詳細資訊,請參閱<使用數位簽章來識別封裝的來源>。

存取控制功能

您可以透過在封裝中實作識別功能,藉以達到下列目標:

確定只有授權的使用者會開啟和執行封裝

為確保只有授權的使用者會開啟和執行封裝,您必須控制下列資訊的存取:

  • 控制封裝內容的存取,特別是敏感性資料。

  • 控制儲存在 SQL Server 中之封裝和封裝組態的存取。

  • 控制封裝及相關檔案的存取,例如,儲存在檔案系統中的組態、記錄以及檢查點檔案。

  • 針對服務顯示在 SQL Server Management Studio 中的封裝,控制 Integration Services 服務與相關資訊的存取。

控制封裝內容的存取

為協助限制封裝內容的存取,您可以設定封裝的 ProtectionLevel 屬性來加密封裝。 您可以將此屬性設定為封裝所需的保護等級。 例如,在小組開發環境中,您可以使用僅處理封裝之小組成員知道的密碼來加密封裝。

當您設定封裝的 ProtectionLevel 屬性時,Integration Services 會自動偵測機密屬性,並根據指定的封裝保護等級處理這些屬性。 例如,將封裝的 ProtectionLevel 屬性設定為以密碼加密機密資訊的層級。 對於此封裝,Integration Services 會自動加密所有機密屬性的值,而且如果沒有提供正確的密碼,將不會顯示對應的資料。

如果屬性包含密碼或連接字串之類的資訊,或者如果屬性對應到變數或工作產生的 XML 節點,Integration Services 通常會將這些屬性視為機密。 對於 Integration Services 是否將屬性視為機密,取決於 Integration Services 元件 (例如,連接管理員或工作) 的開發人員是否將該屬性指定為機密。 使用者無法將屬性加入到視為機密之屬性的清單,也無法從其中移除屬性。如果撰寫自訂工作、連接管理員或資料流程元件,您可以指定 Integration Services 應該將哪些屬性視為機密。

如需詳細資訊,請參閱<封裝中的敏感性資料存取控制>。

控制封裝的存取

您可以將 Integration Services 封裝儲存到 SQL Server 執行個體中的 msdb 資料庫,或儲存到檔案系統,成為副檔名為 .dtsx 的 XML 檔案。 如需詳細資訊,請參閱<儲存封裝>。

將封裝儲存到 msdb 資料庫

將封裝儲存至 msdb 資料庫有助於提供伺服器、資料庫與資料表層級的安全性。 在 msdb 資料庫中,Integration Services 封裝會儲存在 sysssispackages 資料表中。 由於這些封裝會儲存到 msdb 資料庫中的 sysssispackages 及 sysdtspackages 資料表中,因此,當您備份 msdb 資料庫時,即會自動備份這些封裝。

儲存在 msdb 資料庫中的 SQL Server 封裝,也可以透過套用 Integration Services 資料庫層級角色進行保護。Integration Services 包含三個可以用於控制封裝存取的固定資料庫層級角色,分別是 db_ssisadmin、db_ssisltduser 及 db_ssisoperator。 讀取器和寫入器角色可以與每個封裝相關聯。 您也可以定義要在 Integration Services 封裝中使用的自訂資料庫層級角色。 這些角色只能在儲存至 SQL Server 執行個體中之 msdb 資料庫的封裝上實作。 如需詳細資訊,請參閱<Integration Services 角色 (SSIS 服務)>。

將封裝儲存至檔案系統

如果您將封裝儲存到檔案系統,而非 msdb 資料庫中,請務必保護封裝檔案及包含封裝檔案的資料夾。

控制封裝所使用之檔案的存取

已設定為使用組態、檢查點和記錄的封裝會產生儲存在封裝之外的資訊。 此資訊可能是機密資訊,應該對其進行保護。 檢查點檔案只能儲存至檔案系統,但組態和記錄檔可以儲存至檔案系統或 SQL Server 資料庫中的資料表。 儲存至 SQL Server 的組態和記錄檔受到 SQL Server 安全性保護,但寫入檔案系統的資訊需要額外的安全性。

如需詳細資訊,請參閱<對封裝使用之檔案的存取權>。

安全地儲存封裝組態

封裝組態可以儲存至 SQL Server 資料庫中的資料表或儲存至檔案系統。

組態可以儲存至任何 SQL Server 資料庫,而不光只能儲存至 msdb 資料庫。 因此,您可以指定哪些資料庫要當做封裝組態的儲存機制。 您還可以指定要包含組態的資料表名稱,Integration Services 會自動以正確的結構建立資料表。將組態儲存至資料表可以提供伺服器、資料庫與資料表層級的安全性。 另外,儲存至 SQL Server 的組態會在您備份資料庫時自動備份。

如果您將組態儲存在檔案系統,而非 SQL Server 中,請務必保護包含封裝組態檔的資料夾。

如需有關組態的詳細資訊,請參閱<封裝組態>。

控制 Integration Services 服務的存取

SQL Server Management Studio 會使用 SQL Server 服務列出已儲存的封裝。 為防止未經授權的使用者檢視本機與遠端電腦上儲存之封裝的資訊,並藉以得知私人資訊,請限制對執行 SQL Server 服務之電腦的存取。

如需詳細資訊,請參閱<對 Integration Services 服務的存取權>。

相關工作

下列清單所含的主題連結,將說明如何執行安全性相關特定工作。

相關內容

Integration Services 圖示 (小) 掌握 Integration Services 的最新狀態

若要取得 Microsoft 的最新下載、文件、範例和影片以及社群的精選解決方案,請瀏覽 MSDN 上的 Integration Services 頁面:


若要得到這些更新的自動通知,請訂閱該頁面上所提供的 RSS 摘要。

請參閱

概念

SQL Server Integration Services