保護多層式應用程式中數據的基本案例
本主題提供幾個基礎結構案例,說明 決定實施安全措施中討論的準則。
信任伺服器場景
- 資料庫完全信任 COM+ 應用程式,以驗證和授權終端使用者存取資料庫中的數據。
- 最好是,資料庫除了透過應用程式之外,應防範任何存取。
- COM+ 應用程式會使用角色型安全性來授權使用者。
- 聯機會在 COM+ 應用程式的身分識別下開啟,且可完全共用。
- 稽核和記錄可由 COM+ 應用程式完成,或此資訊可由應用程式傳遞至資料庫。
此案例最適合可供可預測類別的使用者存取的數據,這些類別可以封裝在角色中。 例如,只有 “Managers”、“Tellers” 和 “Accountants” 有權存取帳戶。 在中介層中會實施對每項授權操作的業務邏輯。
冒充場景
- 資料庫會自行對用戶進行驗證和授權,以協助限制資料庫中數據的存取。
- 每當用戶端存取資料庫時,COM+ 應用程式就會模擬用戶端。
- 連線是基於每次呼叫建立的,無法重複使用。
此案例最適合與非常小型使用者類別緊密系結的數據。 例如,每位員工只能存取自己的人事檔案,而每個經理只能存取其報表的人員檔案。
混合式案例
前述兩種情境的結合,其中偽裝只有在需要時才使用。
此情境最適合於您擁有混合式用戶數據關係的情況。 例如,您有「經理」、「出納者」、「會計」和數千個可存取自己帳戶的個別 Web 用戶端。 您可以在應用程式中分離邏輯路徑,可能使用個別元件來實現,以處理後者類型的使用者,特別是對這些用戶的效能假設不同之處。
使用 Microsoft SQL Server 角色的受信任案例
- Microsoft SQL Server 7.0 和更新版本可以使用角色來授權存取特定數據列,但信任 COM+ 應用程式來驗證和授權使用者,並將其對應至資料庫中的正確角色。
- COM+ 應用程式使用角色型安全性來授權使用者,而應用程式角色很好地對應至資料庫角色。
- 您可以開啟特定資料庫角色特定的連線。 如果這些連線是由 COM+ 應用程式中的集區物件所保存,則可以重複使用這些連線。 如需如何執行這項作的詳細資訊,請參閱 COM+ 物件共用。
- 稽核和記錄可由 COM+ 應用程式完成,或這項資訊可由應用程式傳入資料庫。
此案例最適合於一般與第一個受信任伺服器案例中相同的使用者和數據類型,因為 COM+ 應用程式仍然被廣泛信任可以正確地處理授權。 不過,它確實有助於保護資料庫免於未經授權的存取,同時允許從多個 COM+ 應用程式外部來源進行存取,而不會產生身份模擬場景中存在的擴展性和效能懲罰。
相關主題
-
決定強制執行安全性 的位置