Integration Services 的安全性考量
SQL Server 2005 Integration Services (SSIS) 中的安全性包含幾層,提供了豐富且具彈性的安全性環境。Integration Services 安全性結合使用封裝層級屬性、SQL Server 資料庫角色、作業系統權限和數位簽章。
SQL Server 2005 Integration Services (SSIS) 會使用下列安全性功能,在用戶端和伺服器上實作安全性:
- 設定封裝的 ProtectionLevel 屬性,可以指定是應該透過加密保護機密資料,還是應該在儲存封裝之前移除該資料。
- 設定封裝的 ProtectionLevel 和 PackagePassword 屬性,可以使用密碼或使用者金鑰加密全部或部份封裝,以保護封裝。
- 使用 SQL Server 資料庫層級角色控制對封裝的存取。
- 在 SQL Server Management Studio 中保護檔案位置,並限制對封裝的存取,以保護作業環境。
- 使用憑證簽署封裝,以保證封裝的完整性。
機密資料
Integration Services 支援對封裝中機密資料的保護。通常,識別為機密的屬性包含密碼或連接字串等資訊。Integration Services 會設定這些屬性 (Property) 的機密屬性 (Attribute),而機密屬性 (Attribute) 無法變更。如果您撰寫自訂工作、連接管理員或資料流元件,則可以指定 Integration Services 應將哪些屬性視為機密屬性。
Integration Services 會自動偵測機密屬性,並根據指定的封裝保護等級處理這些屬性。例如,在使用利用密碼加密機密資訊之保護等級的封裝中,會對識別為機密的所有屬性值進行加密。
封裝保護等級
藉由設定封裝的保護等級,可協助加密封裝,以保密其屬性值。封裝包含 ProtectionLevel 屬性,您可以根據封裝需要的保護等級設定此屬性。例如,在小組開發環境中,可以使用處理封裝之小組成員都知道的密碼加密封裝。如需詳細資訊,請參閱<設定封裝的保護等級>。
如需詳細資訊,請參閱<Integration Services 封裝>和<設定封裝屬性>。
資料庫層級角色
Integration Services 包括三個固定的資料庫層級角色:db_dtsadmin、db_dtsltduser 和 db_dtsoperator,用於控制對封裝的存取。讀取器和寫入器角色可以與每個封裝相關聯。您還可以定義要在 Integration Services 封裝中使用的自訂資料庫層級角色。角色只能在儲存至 SQL Server 執行個體中 msdb 資料庫的封裝上實作。
如需詳細資訊,請參閱<Integration Services 角色>。
封裝儲存體
Integration Services 封裝可以作為 XML 檔案儲存至檔案系統 (使用 .dtsx 副檔名),或儲存至 SQL Server 2005 執行個體中的 msdb 資料庫。
將封裝儲存至 msdb 會提供伺服器、資料庫和資料表層級的安全性。SQL Server 2005 封裝儲存在 sysdtspackages90 資料表中,而 SQL Server 2000 封裝儲存在 sysdtspackages 資料表中。另外,儲存至 sysdtspackages90 和 sysdtspackages 的封裝會在您備份 msdb 時自動備份。儲存在 sysdtspackages90 資料表中的 SQL Server 2005 封裝也由資料庫層級角色保護。
如果您不將封裝儲存在 msdb 中,請務必保護檔案系統中包含封裝檔案的資料夾。
如需詳細資訊,請參閱<儲存封裝>。
封裝組態儲存體
封裝組態可以儲存至檔案系統或 SQL Server 2005 資料庫中的資料表。組態可以儲存至任何 SQL Server 2005 資料庫 (而不僅是 msdb 資料庫),這可讓您指定作為封裝組態儲存機制的資料庫。您還可以指定要包含組態的資料表名稱,而 Integration Services 會自動使用正確的結構建立資料表。
將組態儲存至資料表會提供伺服器、資料庫和資料表層級的安全性。另外,儲存至 SQL Server 的組態會在您備份資料庫時自動備份。
如果您不將組態儲存在 SQL Server 中,請務必保護檔案系統中包含封裝組態檔的資料夾。
如需詳細資訊,請參閱<封裝組態>。
Integration Services 資料夾
SQL Server Management Studio 會使用 SQL Server 服務列出正在執行封裝。限制對執行 SQL Server 服務之電腦的存取,以防止未經授權的使用者列舉本機和遠端儲存的封裝,並防止他們取得私人資訊,這一點十分重要。如需詳細資訊,請參閱<保護對執行中封裝的存取>。
封裝使用的檔案
已設定為使用組態、檢查點和記錄的封裝會產生儲存在封裝之外的資訊。此資訊可能是機密資訊,應該對其進行保護。檢查點檔案只能儲存至檔案系統,但組態和記錄檔可以儲存至檔案系統或 SQL Server 資料庫資料表。儲存至 SQL Server 的組態和記錄檔由 SQL Server 安全性保護,但寫入檔案的資訊需要額外的安全性。如需詳細資訊,請參閱<保護封裝所使用的檔案>。
數位簽章
您可以使用憑證簽署封裝。您可以設定封裝在載入時檢查簽章,並在封裝已變更時發出警告。封裝包含 CheckSignatureOnLoad 屬性,將此屬性設為 True 可以要求在每次載入封裝時,檢查封裝上的數位簽章。如需詳細資訊,請參閱<使用憑證簽署封裝>。
請參閱
工作
設定用於 Integration Services 存取的 Windows 防火牆
概念
SQL Server Integration Services