資料倉庫 - 安全性



資料倉庫的目標是使大量資料易於使用者訪問,從而允許使用者提取關於整個業務的資訊。但是我們知道,可能會對資料應用一些安全限制,這可能會成為訪問資訊的障礙。如果分析師對資料的檢視受到限制,那麼就不可能捕捉到業務內部趨勢的完整畫面。

可以對每個分析師的資料進行彙總,然後傳遞給管理層,在那裡可以對不同的彙總進行彙總。由於彙總的彙總可能與整體彙總不同,因此除非有人對整個資料進行分析,否則可能會錯過資料中的一些資訊趨勢。

安全需求

新增安全功能會影響資料倉庫的效能,因此儘早確定安全需求非常重要。資料倉庫上線後很難新增安全功能。

在資料倉庫的設計階段,我們應該記住以後可能會新增哪些資料來源,以及新增這些資料來源的影響。在設計階段,我們應該考慮以下可能性。

  • 新的資料來源是否需要實施新的安全和/或審計限制?

  • 是否添加了對已普遍可用資料訪問受限的新使用者?

當未來的使用者和資料來源未知時,就會出現這種情況。在這種情況下,我們需要利用業務知識和資料倉庫的目標來了解可能的需求。

以下活動會受到安全措施的影響:

  • 使用者訪問
  • 資料載入
  • 資料移動
  • 查詢生成

使用者訪問

我們首先需要對資料進行分類,然後根據使用者可以訪問的資料對使用者進行分類。換句話說,使用者根據他們可以訪問的資料進行分類。

資料分類

可以使用以下兩種方法對資料進行分類:

  • 可以根據資料的敏感性對其進行分類。高度敏感的資料被分類為高度限制,而不太敏感的資料被分類為限制較少。

  • 也可以根據職能對資料進行分類。此限制僅允許特定使用者檢視特定資料。在這裡,我們限制使用者只檢視他們感興趣且負責的那部分資料。

第二種方法存在一些問題。為了理解,讓我們舉個例子。假設您正在為銀行構建資料倉庫。假設儲存在資料倉庫中的資料是所有賬戶的交易資料。這裡的問題是,誰被允許檢視交易資料?解決方案在於根據職能對資料進行分類。

使用者分類

可以使用以下方法對使用者進行分類:

  • 可以根據組織中使用者的層次結構對使用者進行分類,即根據部門、科室、組等對使用者進行分類。

  • 也可以根據使用者的角色對使用者進行分類,根據其角色將跨部門的人員分組。

基於部門的分類

讓我們舉一個數據倉庫的例子,其中使用者來自銷售和營銷部門。我們可以透過自上而下的公司檢視進行安全控制,訪問許可權集中在不同的部門。但是,不同級別的使用者可能存在一些限制。該結構如下圖所示。

User Access Hierarchy

但是,如果每個部門訪問不同的資料,那麼我們應該分別為每個部門設計安全訪問許可權。這可以透過部門資料集市來實現。由於這些資料集市與資料倉庫分開,因此我們可以對每個資料集市強制執行單獨的安全限制。這種方法如下圖所示。

using data mart enforce restrictions on access to data

基於角色的分類

如果資料通常對所有部門可用,那麼遵循角色訪問層次結構非常有用。換句話說,如果資料通常被所有部門訪問,那麼請根據使用者的角色應用安全限制。角色訪問層次結構如下圖所示。

Role Access Hierarchy

審計需求

審計是安全的一個子集,是一項代價高昂的活動。審計可能會給系統帶來沉重的開銷。為了及時完成審計,我們需要更多的硬體,因此建議儘可能關閉審計。審計需求可分為以下幾類:

  • 連線
  • 斷開連線
  • 資料訪問
  • 資料更改

注意 - 對於上述每一類,都需要審計成功、失敗或兩者兼而有之。從安全原因的角度來看,失敗的審計非常重要。失敗審計很重要,因為它們可以突出未經授權或欺詐性的訪問。

網路需求

網路安全與其他安全一樣重要。我們不能忽視網路安全需求。我們需要考慮以下問題:

  • 在將資料傳輸到資料倉庫之前,是否需要對其進行加密?

  • 資料可以採取哪些網路路由的限制?

需要仔細考慮這些限制。以下是需要記住的幾點:

  • 加密和解密過程會增加開銷。這需要更多的處理能力和處理時間。

  • 如果系統已經是載入系統,則加密的成本可能很高,因為加密由源系統承擔。

資料移動

移動資料時存在潛在的安全隱患。假設我們需要將一些受限資料作為平面檔案進行傳輸以進行載入。當資料載入到資料倉庫時,會提出以下問題:

  • 平面檔案儲存在哪裡?
  • 誰有權訪問該磁碟空間?

如果我們談論這些平面檔案的備份,則會提出以下問題:

  • 您是備份加密版本還是解密版本?
  • 這些備份是否需要製作到單獨儲存的專用磁帶上?
  • 誰有權訪問這些磁帶?

還需要考慮其他一些形式的資料移動,例如查詢結果集。建立臨時表時提出的問題如下:

  • 臨時表將儲存在哪裡?
  • 如何使這樣的表可見?

我們應該避免意外違反安全限制。如果具有訪問受限資料的使用者可以生成可訪問的臨時表,則未經授權的使用者可以檢視資料。我們可以透過為具有訪問受限資料的使用者提供單獨的臨時區域來克服這個問題。

文件

需要對審計和安全需求進行適當的記錄。這將被視為證明的一部分。本檔案可以包含從以下方面收集的所有資訊:

  • 資料分類
  • 使用者分類
  • 網路需求
  • 資料移動和儲存需求
  • 所有可審計的操作

安全性對設計的影響

安全性會影響應用程式程式碼和開發時間表。安全性會影響以下領域:

  • 應用程式開發
  • 資料庫設計
  • 測試

應用程式開發

安全性會影響整體應用程式開發,還會影響資料倉庫重要元件(如載入管理器、倉庫管理器和查詢管理器)的設計。載入管理器可能需要檢查程式碼以過濾記錄並將其放置在不同的位置。也可能需要更多轉換規則來隱藏某些資料。此外,可能需要額外的元資料來處理任何額外的物件。

為了建立和維護額外的檢視,倉庫管理器可能需要額外的程式碼來強制執行安全性。可能必須在資料倉庫中編寫額外的檢查程式碼,以防止其被欺騙地將資料移動到不應該可用的位置。查詢管理器需要更改以處理任何訪問限制。查詢管理器需要了解所有額外的檢視和聚合。

資料庫設計

資料庫佈局也會受到影響,因為當實施安全措施時,檢視和表的數量會增加。新增安全性會增加資料庫的大小,從而增加資料庫設計和管理的複雜性。它還會增加備份管理和恢復計劃的複雜性。

測試

測試資料倉庫是一個複雜而漫長的過程。向資料倉庫新增安全性也會影響測試時間複雜性。它透過以下兩種方式影響測試:

  • 它會增加整合和系統測試所需的時間。

  • 需要測試的功能增加了,這將增加測試套件的大小。

廣告
© . All rights reserved.