SecretManagement 的安全性取決於其裝載的延伸保存庫。 這些保管庫執行儲存和擷取秘密的實際功能。 SecretManagement 預設不會以純文字形式傳回秘密。 根據預設,除非使用者使用 AsPlaintext 參數明確要求密碼為純文字,否則任何文字密碼都會以 SecureString 物件的形式傳回。
請務必只使用已知且受信任來源發佈的延伸儲存庫模組,且具有有效的套件簽章。
SecretStore 延伸模組保存庫會使用 .NET 加密 API 來加密秘密資料,並將其儲存在本機檔案系統上。 儲存配置資訊和秘密元資料也以加密形式存儲,以防止無意洩漏或隨意閱讀。
秘密儲存檔案會透過加密雜湊進行驗證,以偵測檔案損毀或竄改。 所有這些資訊都受到單一加密金鑰和可選密碼的保護。
SecretStore 的預設設定需要密碼。 不過,密碼更難管理,因為必須在第一次設定 SecretStore 保存庫時提供密碼,並在存取存放區時再次提供密碼。
為了獲得最佳安全性,請使用未儲存在本機電腦上的密碼,以便在電腦遭到入侵時無法發現該密碼。
SecretStore 組態包括 PasswordTimeout,可限制保存庫在工作階段期間保持解除鎖定的時間量。
逾時值表示 -1 保存庫在整個工作階段生命週期內保持解鎖狀態。
這可能不太安全,但在單一會話中執行自動指令碼時很有用。 儲存庫會使用 Unlock-SecretStore解除鎖定,並在整個工作階段中保持解除鎖定狀態。 指令碼完成時,會話會關閉。
密碼驗證需求也可以完全關閉。 在這種情況下,從登錄帳戶訪問秘密不需要密碼,而且更方便。 密碼仍會加密,但解密密碼的金鑰會儲存在目前使用者帳戶的檔案系統上。 金鑰僅受作業系統檔案系統安全性保護。 金鑰可能會由具有該使用者帳戶所擁有檔案讀取許可權的其他帳戶探索到。 因此,對於需要對儲存密碼進行強安全性保護的任何系統,不建議使用無密碼配置。