安全部署 (Integration Services)
在 Integration Services 封裝生命週期的每個階段中,當您將封裝從開發電腦部署至其他電腦時,可以透過實作下列措施,強化安全性:
確定您只會開啟和執行來自信任來源的封裝。
就封裝部署而言,這表示使用數位憑證來簽署封裝,藉以識別這些封裝的來源。
確定只有授權的使用者會開啟和執行封裝。
就封裝部署而言,這表示您應該使用 Integration Services、SQL Server 和檔案系統所提供的安全性功能來達成下列目標:
透過設定封裝的保護等級,保護封裝的內容。
使用檔案系統安全性來控制封裝以及與這些封裝相關聯之其他檔案的存取權。
使用數位簽章來識別封裝的來源
在簽署封裝時,可以使用可識別建立或上次修改封裝之個人或組織單位的數位憑證。然後,管理員可以在登錄中或在 dtexec 命令列中指定選擇性設定,以便將 Integration Services 設定成執行下列工作:
需要封裝的有效且信任簽章。
在開啟封裝時檢查簽章。
警告或拒絕未簽署的封裝。
如需有關數位簽章的詳細資訊,請參閱下列主題:
透過設定保護等級,保護封裝的內容
您可以透過設定封裝的 ProtectionLevel 屬性,加密封裝所包含的任何敏感性資料 (例如密碼) 或封裝的所有內容。例如,您可以設定下列保護等級:
您可以透過選取 DontSaveSensitive 選項,完全移除敏感性資料。
您可以透過選取 EncryptSensitiveWithPassword 選項,確保只有提供密碼的使用者可以查看敏感性資料。
您可以透過選取 EncryptAllWithPassword 選項,確保只有提供密碼的使用者可以載入和執行封裝。
當您將封裝部署至其他電腦時,請務必移除 EncryptSensitiveWithUserKey 和 EncryptAllWithUserKey 選項。在開發期間,開發人員可能會設定 EncryptSensitiveWithUserKey 選項,以便確保只有自己能夠查看敏感性資料。同樣地,開發人員可能會設定 EncryptAllWithUserKey 選項,以便確保只有自己能夠載入和執行封裝。不過,當您將封裝部署至其他電腦時,這些選項會讓封裝建立者以外的任何使用者無法載入和執行封裝。此外,這兩個選項會讓您無法使用 SQL Server Agent 來排程封裝。
在開發期間,開發人員可能會針對保護等級使用較低的設定。不過,當您部署封裝時,建議您將保護等級變更為較高的設定。
當您將封裝匯入或部署至 SQL Server 時,ServerStorage 保護等級會變成可搭配 Integration Services 角色一起使用。如需有關這些角色的詳細資訊,請參閱<使用 Integration Services 角色>。
如需詳細資訊,請參閱<設定封裝的保護等級>。
控制已部署封裝以及封裝所建立或使用之檔案的存取權
當您部署封裝時,可以決定要將它們儲存在 SQL Server 的 msdb 資料庫中,還是儲存在檔案系統中。
當您將封裝儲存在 SQL Server 中。您可以使用 SQL Server 所提供的安全性功能,以及固定資料庫層級 Integration Services 角色來控制已儲存封裝的存取權。如需有關這些角色的詳細資訊,請參閱<使用 Integration Services 角色>。
當您將封裝儲存在檔案系統中。您可以使用 Microsoft Windows 所提供的安全性功能,以及檔案系統所提供的存取控制清單 (ACL) 來控制已儲存封裝的存取權。
當您部署封裝時,部署可能會包括其他檔案,例如組態檔。這些檔案可能也會包含敏感性資料。如需有關如何控制這些額外檔案之存取權的詳細資訊,請參閱<控制封裝所使用之檔案的存取>。
|