DB2安全(一)——概述

根据《循序渐进DB2》(牛新庄)第13章内容整理

  DB2中有3种主要的安全机制,可以帮助DBA实现数据库安全计划:

  • 身份认证(authentication)
  • 权限(authorization)
  • 特权(privilege)

提出问题
  就目前接触过的数据库来说,大多是在数据库中添加用户,比方Oracle的tiger账户,MySQL的user表,SQL Server我记得也是数据库添加账户的,那Postgresql是在pg_hba.conf中设置访问权限,在数据库中Create user的,但是DB2有很大的不同哦。

  然后就是哪个用户可以访问哪些表,grant这些操作在DB2中又是如何定义的呢?用户、用户权限如何查看呢?
  远程登录怎么设置?怎么登录?
  带着这些问题来往下看:

身份认证(authentication)

  身份认证是用户在尝试访问DB2实例或数据库时遇到的第一道安全闸门。身份认证就是使用安全机制验证所提供用户ID和口令的过程。用户和密码身份认证由DB2外部的设施管理,比如操作系统、域控制器或者Kerberos安全系统。这和其他数据库管理系统是不同的,如Oracle、Infomix、Sybase和SQL Server,后者既可以在数据库本身定义和验证用户账户,也可以在操作系统中完成(安装podtgresql是创建的postgres用户既是操作系统账户也是数据库账户)。外部安全性服务对希望访问DB2服务器的用户进行身份认证,DB2外部的安全性软件负责处理身份认证。当成功校验了用户ID和口令后,内部DB2进程接管控制,并确保用户有权执行所请求的操作。

  DB2是没有用户的,DB2所有的用户都是操作系统用户,这是由于历史原因造成的。

  一旦用户ID和口令作为实例附件或数据库 连接请求的一部分明确的提供给DB2,DB2就会尝试使用该外部安全设施验证用户ID和口令。
  实际的认证位置由DB2实例参数AUTHENTICATION的值决定。有不同的身份认证方案,包括:

  • 让用户早DB2服务器上认证(使用服务器的安全设施)
  • 在客户机上认证(允许“单点登录”访问)
  • 使用Kerbose安全设施认证
  • 使用用户定义的通用安全服务(Generic Security Service,GSS)插件认证
    其他的身份认证选项还包括:当用户名和口令以及数据在客户机和服务器之间的网络上传递时进行加密。为AUTHENTICATION参数选择的值依赖于具体环境和本地安全策略。
[db2inst1@db22 ~]$ db2 get dbm cfg | grep -i auth
 GSS Plugin for Local Authorization    (LOCAL_GSSPLUGIN) =
 Server Connection Authentication          (SRVCON_AUTH) = NOT_SPECIFIED
 Database manager authentication        (AUTHENTICATION) = SERVER     --使用服务器的安全设施
 Alternate authentication           (ALTERNATE_AUTH_ENC) = NOT_SPECIFIED
 Cataloging allowed without authority   (CATALOG_NOAUTH) = NO
 Trusted client authentication          (TRUST_CLNTAUTH) = CLIENT
 Bypass federated authentication            (FED_NOAUTH) = NO

权限(authorization)

  权限涉及将DB2角色赋予用户和/或组。每一种角色具有一定级别的权限,对特定数据库和和/或其中的对象执行某些命令。DB2中包括以下7种不同角色或权限:

  • SYSADM
  • SYSCTRL
  • SYSMAINT
  • SYSMON
  • DBADM
  • SECADM
  • LOAD
width: 100px;

}

权限级别 说明和用途
SYSADM DB2 UDB 中最高的管理权限级别,具有SYSADM权限的用户可以运行实例程序,发出数据库和数据库管理器命令,以及访问这个数据库管理器实例中任何数据库中任何数据表中的数据。
提供控制这个数据库实例中所有数据库对象的能力,包括数据库、表、视图、索引、包、模式、服务器、别名、数据类型、函数、过程、触发器、表空间、数据库分区组、缓冲池和事件监视器
该权限需要对使用程序和数据的完全访问权的DB2 UDB管理员使用
我们安装实例时使用的账户db2inst1是系统管理员,拥有最高管理权限级别SYSADM
SYSCTRL 最高的系统控制权限级别。提供对数据库管理器实例机器数据库执行维护和管理操作的能力
不允许直接访问数据库中的数据。具有连接数据库的隐式特权,并可以执行具有SYSMAINT和SYSMON权限的用户能够执行的功能。该权限供管理一个包含敏感数据的数据库管理器实例的用户使用
SYSMAINT 次高的系统控制权限级别。提供对数据库管理器实例机器数据库执行维护和管理操作的能力
不允许直接访问数据库中的数据。具有连接数据库的隐式特权,并可以执行具SYSMON权限的用户能够执行的功能。该权限供维护一个包含敏感数据的数据库管理器实例的用户使用
SYSMON
系统监视
提供获得数据库管理器实例及其数据库的快照的能力。如果一个数据库管理器实例中的数据库包含敏感数据,而管理用户只需要通过快照监控数据来进行问题判断,这时候就可以给用户授予SYSMON权限。该权限不允许改变系统资源的使用
DBADM 对于一个实例中的一个特定数据库的次高管理权限级别。允许 用户允许某些实用程序,发出数据库命令以及访问数据库中的任何表中的数据。该权限供需要完全访问数据库对象和数据,但是不需要完整的维护权限的管理员使用
LOAD 允许用户调用LOAD实用程序。根据LOAD操作的模式,用户还需要LOAD操作目标上的insert和update特权。该权限供只想批量装载一组新数据的用户使用

特权(privilege)

就是具体表上的insert、update以及create db的权限了

安全层次

  当一个用户在客户端发出一条“select * from tb1”SQL语句时,首先要连接数据库,在连接数据库时需要提供用户名和密码。用户名和密码是在数据库之外认证的,这需要用到操作系统或外部安全插件。例如在AIX上是使用/etc/password 验证用户名,使用/etc/security/passwd 来验证密码。这是操作系统层次。
  操作系统之下是实例级别的权限,实例之下是数据库级别的权限,用户要访问表tb1,也必须在tb1上有特定的select特权。这个就是整个DB2的安全机制实现方式。

时间: 2024-12-03 16:59:41

DB2安全(一)——概述的相关文章

浅谈DB2数据库的系统信息集成

集成工作永无止境.IT 环境在不断变化.新的应用程序在网上源源不断地出现.对已打包的应用程序进行发行版级别的更改会对整个基础结构产生连锁反应.人们总是想尝试使用下一个新工具或新技术.我们做出的投资必须着眼于未来.因此,公司内出现了专注于一个集成体系结构的组织.不管是称作信息管理(Information Management).集成服务(Integration Service)还是数据体系结构(Data Architecture),公司内的专门部门都在解决集成业务以及定义集成体系结构和基础结构(提

DB2 UDB的内存模型

简介 理解 DB2 如何使用内存,可以防止过度分配内存,并有助于对内存的使用进行调优,从而获得更好的 性能. 本文将向您传授 DB2 内存使用的基础,以及共享内存和私有内存的概念.这些内容同时适用于 32 位 和 64 位的系统.虽然对于 64 位系统有一些限制,但是在未来的一段时间内还不大可能触及这些限制. 因此,我们将焦点放在影响 32 位系统的内存限制,并对之进行详细的讨论. 我们首先讨论一般情况下 DB2 如何使用内存,接着讨论内存管理如何随着平台(AIX.Sun.HP. Linux 和

DB2数据库系统信息集成解析

集成工作永无止境.IT 环境在不断变化.新的应用程序在网上源源不断地出现.对已打包的应用程序进行发行版级别的更改会对整个基础结构产生连锁反应.人们总是想尝试使用下一个新工具或新技术.我们做出的投资必须着眼于未来.因此,公司内出现了专注于一个集成体系结构的组织.不管是称作信息管理(Information Management).集成服务(Integration Service)还是数据体系结构(Data Architecture),公司内的专门部门都在解决集成业务以及定义集成体系结构和基础结构(提

DB2的olap函数详解(原创)

DB2 olap函数概述  在线分析处理函数(OLAP)是DB2中扩展了关系模型.使关系模型能够理解行集合内的排序方式的重要函数之一.典型的 DB2在线分析处理的格式包括两部分:函数部分和OVER表达式部分. 函数部分包括:ROW_NUMBER.RANK.DENSE_RANK.FIRST_VALUE.LAST_VALUE.LAG.LEAD.COUNT.MIN.MAX.AVG.SUM over表达式部分在示例中进行介绍,这里不具体介绍语法OLAP函数介绍      SELECT          

DB2 UDB 安全性插件概述

安全性插件是动态可装载库,当 DB2 UDB 进行身份验证或者从组成员中 查找某 个用户的时候,便调用这些库.在 8.2 版之前,这些操作是由 DB2 UDB 之外的设施管理的, 例如操作系统.域管理器或 Kerberos 安全性系统.图 1 提供的场景说明了在 8.2 版之前 DB2 UDB 安全性的工作原理.下一节将描述 8.2 版中发生的变化.图 1. 安全性场景498)this.w idth=498;' onmousewheel = 'javascript:return big(this

DB2 9.5提供给.NET开发的XML工具概述

IBM Database tools for Microsoft Visual Studio 2005 引入一组新的面向 Web服务的特性,公开了最新的DB2 pureXML 功能.新版本可以大大提高开发人员的生产率.新的IBM Database Add-ins for Visual Studio 2005 提供的一些新特性简化了pureXML的使用.这些特性包括从带标注的XML模式创建 Web服务.XSR比较和XSR XSLT支持.本文介绍了IBM XML tools for DB2 Vers

IBM DB2 10.5中BLU Acceleration新功能概述

以 新的按列组织格式创建和加载表很容易,持续维护也很容易,因为无需索引或调优物化查询表 (MQT).本文将介绍三个场景,演示如何结合使用 Data Studio 和 IBM®InfoSphere®OptimQuery Workload Tuner (OQWT) 与新的 BLU http://www.aliyun.com/zixun/aggregation/16337.html">Acceleration 功能.IBM Data Studio 4.1 提供了有用的 GUI 功能来利用 BLU

IBM DB2 pureScale集群化数据库架构和技术概述

本系列文章共分为两个部分,第 1 部分介绍了 DB2 pureScale 的架构和技术,第 2 部分将介绍 DB2 pureScale 应用程序配置. 持续可用性.应用程序集群透明度和极限容量:无论在怎样的市场营销资料中,这些热门关键词总是与 IBM DB2 pureScale 密不可分.但它们真正的含义是什么? DB2 pureScale 绝不只是一项特性,而是一种观察 DB2 数据库的全新方式.您在http://www.aliyun.com/zixun/aggregation/11872.h

DB2安全管理的相关概念(原创)

数据库安全涉及的问题  数据库安全是当今最重要的问题.您的数据库可能允许顾客通过互联网购买产品,它也可能包含用来预测业务趋势的历史数据:无论是哪种情况,公司都需要可靠的数据库安全计划. 数据库安全计划应该定义: 允许谁访问实例和/或数据库 在哪里以及如何检验用户的密码 用户被授予的权限级别 允许用户运行的命令 允许用户读取和/或修改的数据 允许用户创建.修改和/或删除的数据库对象DB2安全机制  DB2中有三种主要的安全机制,可以帮助 DBA 实现数据库安全计划:身份验证(authenticat