DB2 - 資料庫安全



本章描述資料庫安全。

介紹

DB2 資料庫和功能可以透過兩種不同的安全控制模式進行管理

  1. 身份驗證
  2. 授權

身份驗證

身份驗證是確認使用者登入的過程,僅符合其被授權執行的活動的許可權。使用者身份驗證可以在作業系統級別或資料庫級別本身執行。透過使用生物識別身份驗證工具(例如視網膜和指紋)來防止駭客或惡意使用者訪問資料庫。

資料庫安全可以從 DB2 資料庫系統外部進行管理。以下是一些安全身份驗證過程的型別

  • 基於作業系統身份驗證。
  • 輕量級目錄訪問協議 (LDAP)

對於 DB2,安全服務作為單獨的產品是作業系統的一部分。對於身份驗證,它需要兩個不同的憑據,即使用者 ID 或使用者名稱和密碼。

授權

您可以訪問 DB2 資料庫及其在 DB2 資料庫系統中的功能,該系統由 DB2 資料庫管理器管理。授權是由 DB2 資料庫管理器管理的過程。管理器獲取有關當前已驗證使用者的的資訊,該資訊指示使用者可以執行或訪問哪些資料庫操作。

以下是授權可用的不同許可權方式

主要許可權:直接授予授權 ID。

輔助許可權:如果使用者是成員,則授予組和角色。

公共許可權:公開授予所有使用者。

上下文相關許可權:授予受信任的上下文角色。

可以根據以下類別授予使用者授權

  • 系統級授權
  • 系統管理員 [SYSADM]
  • 系統控制 [SYSCTRL]
  • 系統維護 [SYSMAINT]
  • 系統監視器 [SYSMON]

許可權提供對例項級功能的控制。許可權提供給組特權,以控制維護和授權操作。例如,資料庫和資料庫物件。

  • 資料庫級授權
  • 安全管理員 [SECADM]
  • 資料庫管理員 [DBADM]
  • 訪問控制 [ACCESSCTRL]
  • 資料訪問 [DATAACCESS]
  • SQL 管理員。[SQLADM]
  • 工作負載管理管理員 [WLMADM]
  • 解釋 [EXPLAIN]

許可權提供資料庫內的控制。資料庫的其他許可權包括 LDAD 和 CONNECT。

  • 物件級授權:物件級授權涉及在對物件執行操作時驗證許可權。
  • 基於內容的授權:使用者可以使用基於標籤的訪問控制 [LBAC] 對特定表上的各個行和列具有讀寫訪問許可權。

DB2 表和配置檔案用於記錄與授權名稱關聯的許可權。當用戶嘗試訪問資料時,記錄的許可權會驗證以下許可權

  • 使用者的授權名稱
  • 使用者屬於哪個組
  • 直接或間接授予使用者或組的哪些角色
  • 透過受信任的上下文獲得的許可權。

在使用 SQL 語句時,DB2 授權模型會考慮以下許可權的組合

  • 授予與 SQL 語句關聯的主授權 ID 的許可權。
  • 與 SQL 語句關聯的輔助授權 ID。
  • 授予 PUBLIC
  • 授予受信任的上下文角色。

例項級許可權

讓我們討論一些與例項相關的許可權。

系統管理許可權 (SYSADM)

它是例項級別最高的管理許可權。具有 SYSADM 許可權的使用者可以在例項中執行某些資料庫和資料庫管理器命令。具有 SYSADM 許可權的使用者可以執行以下操作

  • 升級資料庫
  • 恢復資料庫
  • 更新資料庫管理器配置檔案。

系統控制權限 (SYSCTRL)

它是系統控制權限中的最高級別。它提供對資料庫管理器例項及其資料庫執行維護和實用程式操作的功能。這些操作可能會影響系統資源,但它們不允許直接訪問資料庫中的資料。

具有 SYSCTRL 許可權的使用者可以執行以下操作

  • 更新資料庫、節點或分散式連線服務 (DCS) 目錄
  • 強制使用者退出系統級
  • 建立或刪除資料庫級
  • 建立、更改或刪除表空間
  • 使用任何表空間
  • 恢復資料庫

系統維護許可權 (SYSMAINT)

它是系統控制權限的第二級。它提供對資料庫管理器例項及其資料庫執行維護和實用程式操作的功能。這些操作會影響系統資源,而無需允許直接訪問資料庫中的資料。此許可權專為使用者維護包含敏感資料的資料庫管理器例項中的資料庫而設計。

只有具有 SYSMAINT 或更高級別系統許可權的使用者才能執行以下任務

  • 備份
  • 恢復備份
  • 前滾恢復
  • 啟動或停止例項
  • 恢復表空間
  • 執行 db2trc 命令
  • 在例項級使用者或資料庫級使用者的情況下獲取系統監視器快照。

具有 SYSMAINT 許可權的使用者可以執行以下任務

  • 查詢表空間的狀態
  • 更新日誌歷史檔案
  • 表的重新組織
  • 使用 RUNSTATS(收集目錄統計資訊)

系統監視器許可權 (SYSMON)

使用此許可權,使用者可以監視或獲取資料庫管理器例項或其資料庫的快照。SYSMON 許可權使使用者能夠執行以下任務

  • 獲取資料庫管理器監視器開關
  • 獲取監視器開關
  • 獲取快照
  • 列表
    • 列出活動資料庫
    • 列出應用程式
    • 列出資料庫分割槽組
    • 列出 DCS 應用程式
    • 列出包
    • 列出表
    • 列出表空間容器
    • 列出表空間
    • 列出實用程式
  • 重置監視器
  • 更新監視器開關

資料庫許可權

每個資料庫許可權都持有授權 ID 以對資料庫執行某些操作。這些資料庫許可權與特權不同。以下是某些資料庫許可權的列表

ACCESSCTRL:允許授予和撤銷所有物件特權和資料庫許可權。

BINDADD:允許在資料庫中建立新的包。

CONNECT:允許連線到資料庫。

CREATETAB:允許在資料庫中建立新表。

CREATE_EXTERNAL_ROUTINE:允許建立應用程式和資料庫使用者可使用的過程。

DATAACCESS:允許訪問儲存在資料庫表中的資料。

DBADM:充當資料庫管理員。它授予除 ACCESSCTRL、DATAACCESS 和 SECADM 之外的所有其他資料庫許可權。

EXPLAIN:允許解釋查詢計劃,而無需他們擁有訪問表中資料的許可權。

IMPLICIT_SCHEMA:允許使用者透過使用 CREATE 語句建立物件隱式地建立模式。

LOAD:允許將資料載入到表中。

QUIESCE_CONNECT:允許在資料庫處於靜止狀態(暫時停用)時訪問資料庫。

SECADM:允許充當資料庫的安全管理員。

SQLADM:允許監視和調整 SQL 語句。

WLMADM:允許充當工作負載管理員

特權

SETSESSIONUSER

授權 ID 特權涉及對授權 ID 的操作。只有一個特權,稱為 SETSESSIONUSER 特權。它可以授予使用者或組,並且允許會話使用者將身份切換到授予特權的任何授權 ID。此特權由使用者 SECADM 許可權授予。

模式特權

此特權涉及資料庫中模式的操作。模式的所有者擁有所有操作模式物件(如表、檢視、索引、包、資料型別、函式、觸發器、過程和別名)的許可權。可以向用戶、組、角色或 PUBLIC 授予以下任何特權

  • CREATEIN:允許在模式中建立物件
  • ALTERIN:允許修改模式中的物件。

DROPIN

這允許刪除模式中的物件。

表空間特權

這些特權涉及資料庫中表空間的操作。可以向用戶授予表空間的 USE 特權。然後,這些特權允許他們在表空間中建立表。當建立表空間時,特權所有者可以使用 WITH GRANT OPTION 命令在表空間上授予 USE 特權。並且 SECADM 或 ACCESSCTRL 許可權有權在表空間上使用 USE 特權。

表和檢視特權

使用者必須對資料庫具有 CONNECT 許可權才能使用表和檢視特權。表和檢視的特權如下所示

CONTROL

它提供表或檢視的所有特權,包括刪除和授予,撤銷對使用者的各個表特權。

ALTER

它允許使用者修改表。

DELETE

它允許使用者從表或檢視中刪除行。

INDEX

它允許使用者將行插入表或檢視。它還可以執行匯入實用程式。

REFERENCES

它允許使用者建立和刪除外部索引鍵。

SELECT

它允許使用者從表或檢視中檢索行。

UPDATE

它允許使用者更改表、檢視中的條目。

包特權

使用者必須對資料庫具有 CONNECT 許可權。包是一個數據庫物件,其中包含資料庫管理器的資訊,以便以最有效的方式為特定應用程式訪問資料。

CONTROL

它為使用者提供重新繫結、刪除或執行包的特權。具有此特權的使用者會被授予 BIND 和 EXECUTE 特權。

BIND

它允許使用者繫結或重新繫結該包。

EXECUTE

允許執行包。

索引特權

此特權會自動接收索引上的 CONTROL 特權。

序列特權

序列會自動接收序列上的 USAGE 和 ALTER 特權。

例程特權

它涉及資料庫中例程(如函式、過程和方法)的操作。

廣告

© . All rights reserved.