首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 權限管理完整體系:實例級權限 (SYSADM/SYSCTRL)、資料庫權限、角色與 LBAC 標籤存取控制

     編輯:DB2 教學

實例級管理權限 (Instance-level Authorities)

權限說明
SYSADM最高管理權限,通常由 DBA 持有,擁有所有實例/資料庫操作權
SYSCTRL最高系統控制權,包含 SYSMAINT + SYSMON 權限,可管理實例配置、啟停、備份還原
SYSMAINT次級系統控制權,可執行維護操作 (備份、還原、表空間管理),不可存取資料
SYSMON最小實例級權限,僅可監控 (快照、db2pd、事件監控)

查看目前群組設定

# Linux/UNIX
db2 get dbm cfg | grep -i SYSADM
db2 get dbm cfg | grep -i SYSCTRL
db2 get dbm cfg | grep -i SYSMAINT
db2 get dbm cfg | grep -i SYSMON

# Windows
db2 get dbm cfg | find /I "SYSADM"
db2 get dbm cfg | find /I "SYSCTRL"
db2 get dbm cfg | find /I "SYSMAINT"
db2 get dbm cfg | find /I "SYSMON"

授權實例級權限 (以 SYSCTRL 為例)

  1. 建立 OS 用戶/群組:
    groupadd db2ctlgrp
    useradd -g db2ctlgrp -m -d /home/db2ctlusr db2ctlusr
    # AIX: mkuser id=1005 pgrp=db2ctlgrp home=/home/db2ctlusr db2ctlusr
  2. 以 SYSADM 群組用戶 (如 db2inst1) 更新 DBM 設定:
    db2 update dbm cfg using SYSCTRL_GROUP db2ctlgrp
    db2stop; db2start
  3. 驗證:
    db2 get dbm cfg | grep SYSCTRL
    # SYSCTRL_GROUP = DB2CTLGRP

資料庫權限授予/撤銷

db2 connect to xcldb
db2 "grant dbadm on database to user db2ctlusr"
db2 connect reset

# 撤銷
db2 connect to xcldb
db2 "revoke dbadm on database from user db2ctlusr"
db2 connect reset

常見錯誤:SQL5001N

更新 DBM 設定需 SYSADM 權限。確認 SYSADM_GROUP 所屬群組 (如 DB2IADM1),以該群組用戶執行更新。

表/物件權限

# 授予群組 SELECT 權限
grant select on emp to group db2ctlgrp2

# 查詢所有權限相關系統表
db2 "select substr(tabname,1,20) from syscat.tables where tabschema='SYSCAT' and tabname like '%AUTH'"
db2 "select * from syscat.dbauth"

角色管理

create role myrole
grant select on table vacation to role myrole
grant role myrole to user myusr1, user myusr2
revoke role myrole from user myusr1

# 授予角色管理選項
grant role myrole to user myusr1 with admin option

標籤存取控制 (LBAC, Label-Based Access Control)

更細粒度的行級/欄位級安全:為資料列/欄位打上安全標籤,用戶需具備對應標籤才能存取。未實際部署過,僅作概念記錄。

聯絡資訊

MAIL: xcl_168@aliyun.com | Blog: https://blog.csdn.net/xcl168

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved