windows環境下的密碼檔?

windows環境下的密碼檔?

我正在尋找一種在工作電腦上儲存資料庫密碼的方法,以便我自己的應用程式可以讀取它(以便連接到資料庫),但沒有管理權限的使用者無法讀取它。管理員必須能夠更改密碼,最好是自動更改。

我的想法是這樣的PostgreSQL 的 .pgpass 文件在Linux環境中。在Windows環境下也可以這樣嗎?

我認為密碼檔案只能由管理員存取。但是用戶可執行的程式也可以存取該檔案嗎?此外,是否可以藉助群組原則透過網路分發此類文件?


我正在考慮的其他解決方案(可能需要付出更多努力):

  1. 加密密碼檔。只有應用程式和管理員擁有有效密鑰來解密和更改/讀取檔案。
  2. 從網路資源檢索密碼,也可能是加密的。

答案1

在回答您有關僅管理員存取權限的問題時 -

Windows 使用使用者的權限執行服務(除非您專門以管理員或其他使用者身分執行),因此如果使用者無權存取文件,則程式也無權存取。

在回答群組原則問題時 -

是的,您可以透過群組原則首選項使用群組原則來分發檔案。 (看:https://www.adamfowlerit.com/2016/07/group-policy-preferences-replace-existing-file/

答案2

如果有人有興趣:我想出了以下解決方案。

密碼以加密方式儲存在 XML 檔案(「密碼容器」)中。可以使用管理者密碼開啟和編輯容器。加密是對稱的。該容器被放置在網路資源上,只是在網路目錄中。

應用程式被賦予密碼容器的位置,並且能夠打開密碼容器,因為管理員密碼儲存在程式碼中。

我知道這個解決方案不是 100% 安全,因為密碼不應該儲存在程式碼中。然而,對於這些需求(資料庫密碼應對使用者隱藏,資料庫密碼必須是可管理的),解決方案已經足夠好了。

相關內容