分类:
2008-04-24 10:05:24
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 命令指定。
|
使用 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 |