成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

DB2 9數據庫服務器管理之DB2安全性

安全 數據安全
DB2安全性是通過組合外部安全性服務與內部 DB2 授權機制來處理的。外部安全性服務對希望訪問 DB2 服務器的用戶進行身份驗證,DB2 外部的安全性軟件負責處理身份驗證。該軟件可以是操作系統的安全性設施,也可是 Kerberos 等獨立產品。

DB2安全性概述

DB2安全性是通過組合外部安全性服務與內部 DB2 授權機制來處理的。外部安全性服務對希望訪問 DB2 服務器的用戶進行身份驗證,DB2 外部的安全性軟件負責處理身份驗證。該軟件可以是操作系統的安全性設施,也可是 Kerberos 等獨立產品。成功校驗了用戶 ID 和口令后,內部 DB2 進程將接管控制,并確保用戶有權執行所請求的操作。

圖1

身份驗證類型

身份驗證類型確定在何處驗證用戶 ID/口令對。所支持的身份驗證類型有:

SERVER(默認) 
SERVER_ENCRYPT 
KERBEROS 
KRB_SERVER_ENCRYPT 
CLIENT

身份驗證類型是在服務器和客戶機處同時設置的。

服務器

每個實例僅允許一種類型的身份驗證,也就是說,設置適用于該實例下定義的所有數據庫。在數據庫管理器配置文件中使用 AUTHENTICATION 參數指定該設置。DB2 update database manager configuration authentication auth_type

manager configuration authentication auth_type

客戶機

在客戶機處編目的各數據庫擁有自己的身份驗證類型,使用 catalog database 命令指定。#p#

使用 SERVER 選項進行身份驗證

DB2 catalog database db_name at node node_nameauthentication auth_type

使用 SERVER 選項時,用戶 ID 和口令將發送到服務器進行校驗。考慮以下示例。

圖2

1、用戶使用用戶名 peter 和口令 peterpwd 登錄到工作站。

2、peter 隨后使用用戶 ID db2user 和口令 db2pwd 連接到 SAMPLE 數據庫,這是在遠程 DB2 服務器上定義的。

3、db2user 和 db2pwd 通過網絡發送到服務器。

4、db2user 和 db2pwd 在 DB2 服務器上校驗。

若您想保護用戶 ID 和口令免于被竊聽,可使用身份驗證類型 SERVER_ENCRYPT,這樣用戶 ID 和口令就都會被加密。

使用 Kerberos 進行身份驗證

Kerberos 是一種外部安全性設施,它使用通用密碼術創建共享的加密密鑰。Kerberos 提供了安全的身份驗證機制,這是因為用戶 ID 和口令不再需要以明文形式通過網絡傳輸。通過使用加密密鑰,它使單點登錄到遠程 DB2 服務器成為可能。以下示意圖展示了 Kerberos 身份驗證在 DB2 中的工作原理。

圖3

DB2 客戶機和服務器均支持 Kerberos 安全協議時,即可使用 KERBEROS 身份驗證類型。某些客戶機可能并不支持 Kerberos,但依然需要訪問 DB2 服務器。為確保所有類型的客戶機均能安全地連接,將 DB2 服務器的身份驗證類型設置為 KRB_SERVER_ENCRYPT。這將允許所有啟用了 Kerberos 的客戶機使用 Kerberos 進行身份驗證,而其他客戶機則使用 SERVER_ENCRYPT 身份驗證。下面給出了與 Kerberos 相關的不同的客戶機與服務器身份驗證設置摘要。

圖4

在客戶機上進行身份驗證

這一選項允許在客戶機上進行身份驗證。用戶成功登錄到客戶機后,即可輕松連接到數據庫,而無需再次提供口令。

圖5

這里有一個重要問題需要理解:存在不具有可靠的安全性設施的客戶機系統,例如 Windows 9x 和 Classic Mac OS。它們叫做不受信任的客戶機。任何人只要可以訪問這些系統,就可以不經過身份驗證直接連接到 DB2 服務器。誰知道他們會執行怎樣的破壞性操作(例如,刪除一個數據庫)?為提供允許受信任的客戶機自行執行身份驗證、同時強制不受信任的客戶機在服務器處進行身份驗證的靈活性,引入了另外兩種數據庫管理器配置參數:

TRUST_ALLCLNTS
TRUST_CLNTAUTH

這兩個參數僅在身份驗證設置為 CLIENT 時被評估。DB2

信任客戶機

TRUST_ALLCLNTS 確定信任哪種類型的客戶機。參數有以下可能值:

◆YES

信任所有客戶機。這是默認設置。身份驗證將在客戶機處執行。但有一個例外,我們將在介紹 TRUST_CLNTAUTH 時更詳細地予以討論。

◆NO

僅信任具備可靠的安全性設施的客戶機(受信任的客戶機)。若不受信任的客戶機連接,則必須提供用戶 ID 和口令,以便在服務器進行身份驗證。

◆DRDAONLY

僅信任在 iSeries 或 zSeries 平臺上運行的客戶機(例如,DRDA 客戶機)。其他任何客戶機都必須提供用戶 ID 和口令。

設想一個場景,DB2 服務器將身份驗證設置為 CLIENT、TRUST_ALLCLNTS 設置為 YES。您作為 localuser 登錄到一臺 Windows 2000 計算機,并在未指定用戶 ID 和口令的情況下連接到遠程數據庫。那么 localuser 將成為數據庫處的連接授權 ID。而如果您想使用其他用戶 ID 連接到數據庫(例如,有執行數據庫備份權限的 poweruser),又會怎么樣呢?

為允許此類行為,可使用 TRUST_CLNTAUTH 來指定,當在 connect 語句或 attach 命令中提供了用戶 ID 和密碼時將在何處進行身份驗證。允許使用的值有兩個:

◆CLIENT

身份驗證在客戶機處執行,不需要用戶 ID 和口令。

◆SERVER

身份驗證在服務器處完成,需要提供用戶 ID 和口令。

讓我們來看一些演示參數用法的示例:

圖6  #p#

設置權限級別

權限級別控制執行數據庫管理器維護操作和管理數據庫對象的能力。在 DB2 中共有 5 種權限:

圖7

SYSADM

具有管理實例的完整特權,還可訪問底層數據庫中的數據。

SYSCTRL 和 SYSMAINT

擁有管理實例、其數據庫和數據庫對象的特定特權。這些權限不含 訪問數據的權限。例如,像 'SELECT * FROM mytable' 或 'DELETE FROM mytable' 這樣的語句是不允許的。

DBADM

擁有在特定數據庫上執行管理任務的特權。還具有數據庫的完整數據訪問權限。

LOAD

擁有對指定數據庫運行加載實用工具的特權。

下表總結了各權限可執行的功能。

圖8

管理 DB2 權限

SYS* 權限是在數據庫管理器配置中設置的,通過將操作系統或安全性設施中定義的用戶組指派給關聯的參數進行設置。它必須是最大長度為 8 個字符的組名稱,如下所示。

圖9

DBADM 和 LOAD 是數據庫級的權限。使用 grant 語句可授予用戶或用戶組這些權限,使用 revoke 語句可予以撤銷權限:

connect to sample;
grant dbadm on database to user john;
grant load on database to group dbagrp;
revoke load on database from group dbagrp;

請注意,具有 LOAD 權限的用戶也需要表上的 INSERT 特權,之后才能加載數據。下一節將討論特權。

設置特權

特權給予用戶通過特定方式訪問數據庫對象的權力。如下列表給出了不同數據庫對象的特權摘要。

數據庫特權

CONNECT 允許用戶連接數據庫。

BINDADD 允許用戶在數據庫中創建新包。

CREATETAB 允許用戶在數據庫中創建新表。

CREATE_NOT_FENCED 允許用戶創建非 fenced 用戶定義的函數或存儲過程。

IMPLICIT_SCHEMA 允許用戶在尚不存在的模式中創建對象。 QUIESCE_CONNECT 允許用戶在數據庫停頓時訪問數據庫。

CREATE_EXTERNAL_ROUTINE 允許用戶創建以 C 語言、Java™ 語言、OLD 和 COBOL 編寫的存儲過程。

模式特權

CREATEIN 允許用戶在模式內創建對象。

ALTERIN 允許用戶更改模式內的對象。

DROPIN 允許用戶刪除模式內的對象。

要顯式地創建新模式,可使用 create schema 命令:

connect to sample user dbowner;create schema dev authorization devuser; 

空間特權

USE OF TABLESPACE 允許用戶在特定表空間內創建表。這一特權無法用于 SYSCATSPACE 或任何系統臨時表空間。

表與視圖特權

CONTROL 為用戶提供表或視圖的所有特權,以及將這些特權(除 CONTROL 以外)授予他人的能力。

ALTER 允許用戶更改表或視圖。

DELETE 允許用戶刪除表或視圖中的記錄。

INDEX 允許用戶在表上創建索引。

INSERT 允許用戶向表或視圖中插入條目。

REFERENCES 允許用戶創建和刪除外鍵,將表指定為關系中的父表。

SELECT 允許用戶從表或視圖中檢索行。

UPDATE 允許用戶在表或視圖中更新條目。這一特權還可將用戶約束為僅更新特定列: grant update (workdept, job) on table employee to devuser;

ALL PRIVILEGES 授予用戶表或視圖上的上述全部特權(除 CONTROL 外)。

包特權

CONTROL 為用戶提供了重新綁定、刪除或執行一個包的能力,以及將這些特權(除CONTROL以外)授予他人的能力。

BIND 允許用戶重新綁定現有包。

EXECUTE 允許用戶執行包。

索引特權

CONTROL 允許用戶刪除索引。

例程特權

EXECUTE 允許用戶執行用戶定義的函數。

順序特權

USAGE 允許用戶為順序對象使用 NEXTVAL 和 PREVVAL 表達式。

授予顯式特權

授予特權 with grant option 允許授權 ID 將特定特權擴展給他人。該選項僅對包、例程、模式、表、表空間和視圖可用。

盡管特權的授予是可擴展的,但撤銷特權并非如此。若通過 with grant option 獲得了特權,用戶不能撤銷他人的特權。示例如下。

該語句允許 john 在表 employee 上執行 select、update 或 delete 操作,并可將這些特權授予他人:

該語句允許 devusers 組中的用戶重新綁定、刪除及執行包 dev.pkg1。同一組的用戶還可將 BIND 和 EXECUTE(但不包括 CONTROL)特權授予他人。

授予隱式及間接特權

典型情況下,DB2 特權是通過 grant 語句顯式授予的,方法如前所述。有時用戶可能還要隱式或間接地通過執行的特定操作獲得特權。讓我們來看一些場景。

被授予 DBADM 權限的用戶還被隱式地授予 BINDADD、CONNECT、CREATETAB、CREATE_NOT_FENCED 和 IMPLICIT_SCHEMA 權限。

當用戶創建數據庫時:

◆DBADM 權限將被授予數據庫創建者。

◆CONNECT、CREATETAB、BINDADD 和 IMPLICIT_SCHEMA 特權將被授予 PUBLIC。

◆USERSPACE1 表空間上的 USE OF TABLESPACE 特權將被授予 PUBLIC。

◆各成功綁定實用工具上的 BIND 和 EXECUTE 特權將被授予 PUBLIC。

grant select, update, delete on table employee to user johnwith grant option 

◆SYSFUN 模式中所有函數的 EXECUTE 特權 with grant option 將被授予 PUBLIC。

grant control on package dev.pkg1 to group devuserswith grant option 

創建表、視圖、索引、模式或包的用戶將自動獲得他/她所創建的數據庫對象上的 CONTROL 特權。

當用戶執行一個包含靜態 SQL 語句的包時,語句中所引用的數據庫對象的顯式特權是不需要的。用戶僅需要包上的 EXECUTE 特權來執行語句。但這并不表示該用戶有權直接訪問底層數據庫對象。考慮以下示例:

【編輯推薦】

  1. IBM DB2 rec2xml遠程緩沖區溢出漏洞
  2. IBM DB2共享庫注入漏洞
責任編輯:許鳳麗 來源: IT專家網
相關推薦

2010-05-07 15:52:28

ibmdwDB2

2010-08-26 16:15:25

DB2數據庫管理

2010-08-17 17:29:06

DB2性能優化

2010-08-27 10:13:09

DB2服務器安裝

2009-07-06 17:34:26

遠程復制DB2

2010-08-26 10:37:40

DB2Q復制

2010-08-25 10:50:48

DB2數據庫

2011-03-11 16:02:03

DB2數據庫安裝

2010-11-01 11:30:41

DB2數據庫權限

2010-09-30 11:49:21

DB2數據庫權限

2010-11-03 16:21:18

DB2數據庫授權

2010-09-06 14:39:06

DB2 9

2011-03-25 15:39:47

DB2 9數據庫

2010-08-25 15:28:16

DB2服務器

2010-08-27 16:06:26

DB2服務器

2011-03-16 14:50:58

DB2管理超級可用性

2010-08-17 16:24:32

IBM DB2數據庫

2010-11-01 09:17:40

DB2管理服務器

2010-08-31 13:06:49

DB2數據庫

2010-11-03 16:32:10

DB2創建數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成人精品一区 | 欧美久久国产精品 | 日韩精品久久久 | 欧美精品一区二区三区四区 在线 | 欧美日韩国产综合在线 | 国产精品九九九 | 在线视频成人 | 亚洲综合网站 | 国产精品久久久久久久7电影 | 亚洲欧美国产视频 | 看a网站 | 亚洲欧美日韩一区 | 在线播放亚洲 | 国产高清在线视频 | 精品免费 | 九九久久这里只有精品 | 欧美一二区 | 成人在线看片 | 日韩人体在线 | 超碰97免费观看 | 日本中文在线 | 欧美激情一区二区 | 九九热这里只有精品在线观看 | 亚洲高清av | 91网站视频在线观看 | 国产一区免费 | 天天看夜夜 | 三级欧美| 一区二区三区免费 | 久久久91精品国产一区二区精品 | 亚洲精品一二三区 | 可以在线看的黄色网址 | 夜夜夜夜草 | 五月天综合影院 | 久久伊人亚洲 | 国产91av视频 | 在线看国产 | 欧美一区二区三区在线观看 | 青娱乐一区二区 | 九九热在线视频免费观看 | 亚洲成av人片在线观看无码 |