[問題] 有沒有改DB帳密而不需要修改程式的方法?

作者: don750421 (1+1≠2)   2014-04-09 22:48:51
請問一下,
有沒有修改DB帳密而不需要修改程式的方法?(先不討論修改DB帳號)
因為部門內有人離職或調動單位,為了稽核要求,必須修改DB連線的密碼。
稽核要求的條件是,如果上午有人離職,下午就要修改DB連線帳密。(最慢4小時內)
但是程式部屬到各地大約30~50台,該如何以最短的時間內更改程式內的DB連線密碼?
因為程式幾乎24小時都有人使用,部屬至各地的程式目前沒有中央控管。
曾經有考慮過將連線字串存在xml或ini檔中,透過讀檔案的方式來存取DB。
但是,如果30~50台電腦(可能更多),這樣的時間跟修改程式好像差不多= =
想請問一下,各位前輩有沒有遇過這類的Case?大都使用何種方式?
上面要求,為了達到稽核要求,可以提出各種方式,甚至另購一台Server管理亦可。
當然,是以最少花費為優先。
麻煩各位前輩了,謝謝
作者: MacPerson (Gary)   2014-04-09 23:09:00
其實可以對config做加密,PG可以不用知道帳密是什麼,只要連得上去就行了
作者: m339606 (mize)   2014-04-09 23:42:00
之前做App的做法是由程式直接向Server要連線字串App內沒有存任何連線字串,只有存Server的位置所以改連線字串直接在Server改就好了至於Server要如何核實Client就自己想像囉等於就Runtime才取得連線字串囉
作者: Litfal (Litfal)   2014-04-10 00:06:00
所以DB層和前端要分開,中間透過WebService提供服務。APP端使用帳號登入WebService來取得服務,而不是自己連。DB改連線帳密就只是WebService和DB之間的事而已。如果離職的人只接觸到前端,那關閉他的帳號,問題更小。
作者: m339606 (mize)   2014-04-10 14:00:00
要讓已經離職的員工無法存取DB最直接也是最簡單的方式就DB直接限制連線網域,將外網完全封死我App就是使用WebService與帳號密碼來存取連線字串但是這方法只是將問題點從DB帳號密碼改到WebService而已我推薦使用自製協定加上SSL與Client指紋碼來驗證說實在你要擋住開發人員就綁網域、限制Client最直接而已不然就只是無限的把帳號密碼的問題丟到另外一個帳號密碼上弄個硬體防火牆來設白名單吧!
作者: StupidGaGa (笨嘎嘎)   2014-04-15 14:29:00
你的需求跟情況可以再說明詳細點嗎?是員工離職=>修改DB帳密,還是員工離職,不能存取DB?根據你的需求跟情況,解法有很多種…

Links booklink

Contact Us: admin [ a t ] ucptt.com