Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104668048
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-24 10:05:24

作者: 佚名 出处:  
 
阅读提示:DB2安全性是通过组合外部安全性服务与内部DB2授权机制来处理的。外部安全性服务对希望访问DB2服务器的用户进行身份验证,DB2 外部的安全性软件负责处理身份验证。本文详细讲解了权限管理知识,供大家参考!

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

客户机

在客户机处编目的各数据库拥有自己的身份验证类型,使用 catalog database 命令指定。

db2 catalog database db_name at node node_name

authentication auth_type

使用 SERVER 选项进行身份验证

使用 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
阅读(767) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~