安全性控制

发布 2023-10-16 09:50:03 阅读 7320

1、 db2支持的认证类型。

2、 利用db2存取控制机制实现数据库的安全性。

3、 利用用户组实现控制的继承性。

4、 系统中权限的划分。

5、 隐式权限和显式权限的区别。

对实例或数据库进行存取首先要求认证用户。每个实例的认证类型确定如何以及在何处验证用户。认证类型在数据库管理程序配置文件中指定。

它是在创建实例时进行的初始设置。每个实例都有一个认证类型,该类型控制对实例和该实例控制下的所有数据库的存取。

db2提供了下列认证类型:

server:

指定使用服务器断操作系统安全性在服务器端进行认证。若在尝试连接期间指定了用户 id 和口令,则在服务器上将它们与有效的用户 id 和口令比较,以确定是否允许该用户存取这个实例。这是缺省的安全性机制。

服务器会检测一个连接是本地的还是远程的。对于本地连接,当认证是 server 时,由于系统在用户登录时已经检查过用户id和口令,因此不需要在连接时提供用户 id 和口令,除非是用户需要以与登录身份不同的用户对数据库进行存取时才需要提供用户id和口令。

如果用户需要连接到一个远程实例,并且该实例的认证类型为 server,则即使用户已经登录到本地机器上,该用户也必须提供用户id 和口令。

server_encrypt

指定使用加密的 server 认证方案。该认证类型与server认证类型类似,只不过当客户机将用户 id 和口令传送给该服务器来认证的时候,口令将被加密。

若在客户机中指定 server_encrypt,在服务器中指定 server,由于认证级别不匹配会返回一个错误。

client

指定使用客户端操作系统安全性来进行认证。在客户机节点上,将在一个尝试连接期间指定的用户id和口令与有效的用户 id 和口令的组合比较,以确定是否允许此用户id存取这个实例。用户和口令都是在本地操作系统上定义。

值得注意的是,远程实例的认证类型为client类型,并不等于认证过程将在客户端进行,有另两个数据库管理器配置参数将确定最终的认证方式:trust_allclnts 和 trust_clntauth。 其中trust_allclnts决定信任来自何方的客户端,该参数如果被设定为yes,则db2服务器会允许所有要求连接的客户端进行对它进行连接,而不需要提供用户id和口令。

如果trust_allclnts被设置为no,则db2服务器只允许可信赖的客户端对其进行连接。(可信赖客户端是具有可靠的、本地安全系统的客户机。比如windows nt、 unix等,而windows 3.

1、 windows95/98等由于不具有严格的安全性被认为是不可信赖的客户端)。trust_clntauch决定认证在何处完成。如果该参数被设定为server,即使对于可信赖的客户端,认证过程也将在服务器端完成。

而如果trust_clntauch被设定为client,则当连接命令提供了口令时,认证过程将会在服务器端完成,而当连接命令没有提供口令时,认证过程将会在客户端完成。

dcs主要用于需要通过db2 connect对主机数据库进行存取的环境。当在数据库管理程序配置文件中指定认证类型为dcs时,并通过“分布式关系数据库体系结构”(drda) 的“应用服务器”(as) 体系结构来存取主机数据库服务器的时候,认证将在主机服务器上进行,但只在 appc 层进行。如果没有使用drda体系结构对数据库服务器进行存取,则认证方式与server类型相同。

dcs_encrypt

指定使用加密的 dcs 认证方案。该认证类型与dcs认证类型类似,只不过当客户机将用户 id 和口令传送给服务器来认证的时候,口令将被加密。

若在客户机中指定 dcs_encrypt,在服务器中指定 dcs,由于认证级别不匹配会返回一个错误。

sysctrl

db2中的访问控制层次如上图所示。可以对db2的用户赋于不同级别的权力和各种特权。其中权力(authorities)是对一组数据库对象进行存取的特权集,有特定的名称。

而特权(privileges)则是对特定对象访问的权利。

权力(authorities)分为以下级别:

1)、sysadm—系统管理。

该权限是一个实例中的最高权限。可以完成一个实例范围内任何管理工作。可以通过实例配置变量中的sysadm_group参数来指定一个用户组拥有该权限。

如果该参数为空,在windows nt环境下,创建该实例的用户拥有该权限;在unix环境下,与实例同名的用户拥有该权限。

2)、sysctrl—系统控制。

该权限可以完成系统中的管理功能,但不能访问数据。但拥有该权限的用户可以创建数据库,并管理自己创建的数据库中的数据。可以通过实例配置变量中的sysctrl_group参数来指定一个用户组拥有该权限 (3)(3)、sysmaint—系统维护。

该权限只能完成系统中与维护有关的任务,但不能访问数据,而且拥有该权限的用户不能创建数据库。可以通过实例配置变量中的 sysmaint_group参数来指定一个用户组拥有该权限。

4)、dbadm—数据库管理。

该权限是数据库级的权限,可以完成数据库的管理工作。该权限可以通过sql语句授予。

四种级别的权力对比如下:

特权(priveleges)可以分为以下几种类型:

1)、拥有者特权(control)

对于大多数数据库对象,对象的创建者自动被赋予 control特权,拥有该对象的全部访问特权。

2)、个体特权(individual)

特定数据库对象上的指定权限,如:表上的删除、插入等特权。

3)、隐式特权。

不是通过授权语句显式赋予的权限。

具体特权如下图所示:

bindadd

database)

control

packages)

control

indexes)

control

tables)

createtab

database)

connect

database)

control

schema)

implicit_schema

database)

control

views)

allalter

delete

indexinsert

references

select

update

bindexecute

createin

alterin

dropin

其中:数据库级别的特权:

createtab:允许用户在特定数据库中创建表。

create_not_fenced:允许用户在特定数据库中创建非隔离的用户自定义函数。

implicit_schema:允许用户使用在与数据库连接时使用的用户id作为其缺省的模式名。如果用户在命令中没有指定数据库对象的模式名称。系统将使用该用户的缺省模式名。

bindadd:允许用户通过**命令在特定数据库中生成程序包。

connect:允许用户对特定数据库进行连接。

模式的特权:

control:相当于该schma的拥有者,拥有以下所有特权,并可以删除该模式。

createin:允许用户使用该模式作为模式名来创建数据库对象。

alterin:允许用户对以该模式为模式名的数据库对象进行转换操作。

dropin:允许用户对以该模式作为模式名的数据库对象进行删除操作。

程序包上的特权:

control:相当于该程序包的拥有者,拥有以下所有特权,并可以删除该程序包。

bind:允许用户使用rebind命令对该程序包进行重新**。

execute:允许用户执行该程序包。

表上的特权:

control:相当于该表的拥有者,拥有以下所有特权,并可以删除该表。

alter:允许用户对该表进行转换操作。

delete:允许用户对该表使用delete语句。

index:允许用户在该表上建立索引。

insert:允许用户对该表使用insert语句。

reference:允许用户以该表为父表建立参照完整性约束。

select:允许用户对该表使用select语句。

update:允许用户对该表使用update语句。

all:相当于alter、delete、index、insert、reference、select和update权限的总和。

索引上的权限:

control:相当于该索引的拥有者,并可以删除该索引。

视图上的权限:

control:相当于该视图的拥有者,并可以删除该索引。

模式是数据库对象的逻辑分组。它的一个主要作用就是可以用来进行安全性的控制。在db2环境下,要想对一个数据库对象进行存取,需要两部分的权限,一部分是对模式的相应使用权;另一部分是该对象上的相应权限。

比如:如果一个用户需要删除表则该用户除了需要有该表上的drop权限,还需要有模式user1上的dropin权限。

在使用由嵌入式sql接口开发的应用程序时,该程序的数据库存取计划是以程序包的形式存放在数据库中的。用户是否能够执行该程序对数据库进行存取要看是否有相应程序包上的执行权限。而用户对含有sql语句的程序拥有执行的权限并不一定有在管理环境下如(clp、控制中心)中执行该sql语句的权力。

所以系统管理员可以通过应用程序进行安全控制。

数据控制 安全性控制

职工号 varchar 10 姓名char 10 年龄 int,职务char 20 工资 int,部门号 char 20 create table 部门 部门号char 10 primary key 部门号 名称 char 10 经理名 char 10 地址 char 50 char 15 goin...

本质安全性

本质安全型。本质安全型系统结构图。简称 本安型。标志 exsi 用途 电器或设备防爆类别。解释 通过控制设备本身能量水平,使其在正常工作或故障条件下均低于点燃 性气体的临界条件,不至产生火花或高于点燃 性气体的温度,而不用通过其他方式屏蔽或阻拦。通过限制电气设备电路的各种参数,或采取保护措施来限制电...

基于EPL模型评估控制煤矿安全性研究

技经济市场。孙静懿,陈学成,陈海江,张力峰。长春金融高等专科学校基础部,吉林长春 摘。要 本文针对某煤矿 的瓦斯浓度与煤尘下限两个主要因素建立 模型,对煤矿的安全性加以判定并给出通风控制方案。关键词 安全 模型 判定 控制。数据的采集。根据 煤炭安全规程 第一百三十三条的规定,煤矿的安。全分类主要考...