2009-07-31 82 views
3

當我在SSIS包(ProtectionLevel)&上設置權限時,我輸入一個PackagePassword,然後當我打開我的計算機上的包時,它不會提示我輸入密碼。SSIS包的權限

我做錯了什麼?

+0

你爲此分配了什麼ProtectionLevel? – 2009-07-31 15:58:59

回答

7

你可能沒有做錯任何事情。以下是我瞭解到的有關SSIS包安全性的一些信息:

如果將Package ProtectionLevel屬性設置爲EncryptSensitiveWithPassword並提供密碼,則該包的行爲將與您描述的一樣 - 當且僅當沒有被視爲「敏感」的包裹。本質上,該設置被忽略(儘管屬性設置被保留),直到SSIS認爲「敏感」出現爲止。

SSIS決定什麼是和不敏感。例如,密碼很敏感。如果連接到數據源並使用Windows身份驗證,則這些連接不敏感。如果您將連接管理器更改爲使用需要密碼的SQL登錄,則EncryptSensitiveWithPassword設置將突然開始按預期運行(因爲它現在具有對保護敏感的內容)。 (我推薦使用Windows身份驗證,因爲我很懶,並且希望將登錄/密碼維護推送到服務器和網絡管理員......我也聽說這是最佳實踐...)

如果要限制訪問您的SSIS包使用EncryptAllWithPassword ProtectionLevel屬性設置。這將要求任何訪問密碼的人(用於編輯或執行)提供密碼。

希望這會有所幫助。

:{>安迪

1

@Andy豹的回答是非常徹底的,我已經經歷了同樣的事情。還有一件事要檢查 - 確保您單擊PackagePassword屬性字段旁邊的省略號按鈕並輸入密碼和密碼驗證。我忘記了偶爾會這樣做,只是將密碼直接輸入到屬性字段中,導致密碼不能被保存。