WEB开发网
开发学院数据库DB2 在 DB2 9.5 中实现新的安全功能,第 2 部分: 理解... 阅读

在 DB2 9.5 中实现新的安全功能,第 2 部分: 理解可信上下文

 2009-11-20 00:00:00 来源:WEB开发网   
核心提示: DB2 允许在不同的授权 ID 下使用建立的可信上下文,为此,在 DB2 9.5 中实现新的安全功能,第 2 部分: 理解可信上下文(10),定义可信上下文时必须使用特定的 ID,如果指定 PUBLIC,并尝试更新 LE_PENSIONS 表:UPDATEDB2INST1.LE_PENSIONS

DB2 允许在不同的授权 ID 下使用建立的可信上下文。为此,定义可信上下文时必须使用特定的 ID。如果指定 PUBLIC,那么任何授权 ID 都可以使用这个可信上下文。当建立一个显式可信上下文时,这个可信上下文的创建者就获得了将连接上的授权 ID 切换到不同授权 ID 的能力。

可信上下文切换用户
切换必须在事务边界上进行,否则任何打开的事务将被回滚,连接将中止并返回一个错误。

使用提示
一种好的实践是使用一条显式的 COMMIT WORK 语句完成工作或事务的所有逻辑单元。这样就建立了一个事务边界,可以确保在切换 ID 之前正在处理的所有工作都能完成。

对于每个可信上下文对象,安全管理员可以选择指定允许切换到的 ID 列表,并且可以指定进行切换时是否需要验证。安全管理员还可以为各个 ID 指定默认角色或备选角色。

下面探索如何使用可信上下文以及切换用户的功能:

在为 Ally 创建可信上下文之前,使用 Ally 连接到 SAMPLER 数据库,并尝试更新 LE_PENSIONS 表:

UPDATE DB2INST1.LE_PENSIONS SET BASE=BASE + 2500 WHERE EMPNO='012214' 
或者使用 UPDtab.sql 脚本。该脚本应该会失败,因为 Ally 没有执行这项操作的特权。

清单 13. 脚本失败
DB21034E The command was processed as an SQL statement because it was not a 
valid Command Line Processor command. During SQL processing it returned: 
SQL0551N "ALLY" does not have the privilege to perform operation "UPDATE" on 
object "DB2INST1.LE_PENSIONS". SQLSTATE=42501

上一页  5 6 7 8 9 10 

Tags:DB 实现 安全

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接