Db2 安全模型 概述

对 Db2® 数据库系统数据和功能的两种安全控制访问方式。 对 Db2 数据库系统的访问权由位于 Db2 数据库系统 (认证) 外部的设施管理,而 Db2 数据库系统中的访问权由数据库管理器 (授权) 管理。

认证

认证就是系统验证用户身份的过程。 用户认证由 Db2 数据库系统外部的安全设施通过认证安全插件模块完成。 安装 Db2 数据库系统时,将包含依赖于基于操作系统的认证的缺省认证安全插件模块。 为方便起见, Db2 数据库管理器还随附了用于 Kerberos 和轻量级目录访问协议 (LDAP) 的认证插件模块。 为了更灵活地适应您特定的认证需要,可以构建您自己的认证安全插件模块。

认证过程将生成 Db2 授权标识。 用户的组成员资格信息也是在认证期间获得的。 缺省组信息获取依赖于安装 Db2 数据库系统时包含的基于操作系统的组成员资格插件模块。 如果愿意,可以通过使用特定的组成员资格插件模块(如 LDAP)来获取组成员资格信息。

授权

认证用户后,数据库管理器将确定是否允许该用户访问 Db2 数据或资源。 授权是 Db2 数据库管理器获取有关已认证用户的信息的过程,指示用户可以执行哪些数据库操作以及用户可以访问哪些数据对象。

以下是可用于授权标识的许可权的不同来源:
  1. 主要许可权:直接授予授权标识的许可权。
  2. 辅助许可权:授予该授权标识作为其成员的组和角色的许可权。
  3. 公用许可权:授予 PUBLIC 的许可权。
  4. 上下文敏感许可权:授予可信上下文角色的那些许可权。
可以按下列类别将权限授予用户:
  • 系统级别权限

    系统管理员(SYSADM)、系统控制(SYSCTRL)、系统维护(SYSMAINT)和系统监视(SYSMON)权限提供了不同程度的对实例级别函数的控制权。 权限提供一种方法来对特权分组和控制实例、数据库和数据库对象的维护和实用程序操作。

  • 数据库级别权限

    安全性管理员 (SECADM)、数据库管理员 (DBADM)、数据库访问控制 (ACCESSCTRL)、数据库的数据访问 (DATAACCESS)、SQL 管理员 (SQLADM)、工作负载管理的管理员 (WLMADM) 以及说明(EXPLAIN)权限提供了数据库内的控制权。 其他数据库权限包括 LOAD(能够将数据装入到表中)和 CONNECT(能够连接至数据库)。

  • 模式级别权限

    模式级别权限是按设计数据库权限的原则设计的,提供针对模式中定义的对象的控制。 模式管理员 (SCHEMAADM)、模式访问控制管理员 (ACCESSCTRL) 和模式数据访问管理员 (DATAACCESS) 各自有权在模式中创建和管理对象、授予和撤销针对模式中定义的对象及模式本身的特权,并有权访问和管理模式中的数据。 模式 LOAD 权限允许用户在模式中定义的表中装入数据。

  • 对象级别权限

    对象级别权限涉及对对象执行操作时检查特权。 例如,要从表中进行选择,用户就必须至少对该表具有 SELECT 特权。

  • 基于内容的权限

    通过视图可以控制特定用户可以读取一个表中的哪些列或行。 基于标签的访问控制 (LBAC) 确定哪些用户对各行和各列具有读写访问权。

您可以将这些功能与用于监视访问的 Db2 审计工具结合使用,以定义和管理数据库安装所需的安全级别。