您当前的位置:首页 > 生活热点

数据库安全(数据库安全有哪些)

时间:2022-03-29 23:32:16

数据库安全性(什么是数据库安全性)

我是一个学习音乐字节教育的小学生。让我给你介绍一下oracle数据库。

数据库安全控制策略概述

安全性是评价数据库的一个重要指标。Oracle数据库从三个层面采用安全控制策略:

1.系统安全。在系统层面,控制数据库的访问和使用机制,包括有效的用户名和密码,数据库是否可以连接,用户可以进行哪些系统操作等。

2.数据安全。在数据库模式对象级别控制数据库的访问和使用机制。要操作某个模式对象,用户必须有操作权限;

3. *** 安全。Oracle分发钱包、数字证书、SSL安 *** 接字和数据密钥来保证数据库的 *** 传输安全。

数据库安全可以从以下几个方面进行管理。

1.用户帐户管理

2.用户认证模式管理。Oracle提供多种级别的数据库用户身份验证 *** ,包括系统、数据库和 *** 身份验证 *** 。

3.权限和角色管理。通过管理权限和角色来限制用户对数据库的访问和操作。

4.数据加密管理。通过数据加密保证 *** 传输的安全性。

5.表空之间的设置和配额。通过设置用户的存储表空、临时表空和用户对表空的配额,可以有效控制用户对数据库存储空的使用。

6.用户资源限制。配置文件设置可以限制用户对数据库资源的使用。

7.数据库审计。监视和记录数据库中的活动,包括审计所有SQL语句、审计SQL权限、审计模式对象和审计 *** 活动。

接下来,将逐一讨论用户管理、权限和角色管理的 *** 。

用户管理

是用户数据库的用户和管理员。Oracle通过设置用户和安全属性来控制用户对数据库的访问。Oracle用户分为两类,一类是创建数据库时系统预定义的用户,另一类是DBA根据应用创建的用户。

1.预定义用户

创建oracle时创建的用户称为预定义用户,根据角色不同,预定义用户可以分为三类:

1.管理员用户:包括SYS、SYSTEM、SY *** AN、DBSNMP等。是SYS数据库中更高权限的管理员,可以启动、关闭、修改数据库,有数据字典;系统是一个助理数据库管理员。它不能启动和关闭数据库,但是可以做一些管理工作,比如创建和删除用户。SY *** AN是OEM的管理员,可以配置和管理OEM。DBSNMP用户是用于监控数据库的OEM *** 。这些用户都不能删除。

2.示例方案用户:在安装Oracle或使用odbc创建数据库时,如果选择“示例方案”,则会创建一些用户,在这些用户对应的模式中会生成一些数据库应用案例。这些用户包括:BI、HR、OE、PM、IX、SH等。默认情况下,这些用户被锁定,并且他们的密码已经过期。

3.内置用户:有一些Oracle特性或Oracle组件需要自己单独的模式,所以为它们创建了一些内置用户。例如APEX_PUBLIC_USER、DIP等。默认情况下,这些用户被锁定,并且他们的密码已经过期。

此外,还有两个特殊用户,SCOTT和PUBLIC。SCOTT是测试 *** 连接的用户。PUBLIC实际上是一个用户组,数据库中的任何用户都属于这个用户组。如果希望将某些权限授予数据库中的所有用户,只需授权PUBLIC。

2.用户属性

创建用户时,用户必须受到安全属性的限制,主要包括:

1.用户名:在同一个数据库中,用户名是唯一的,不能与角色名相同;

2.用户认证:Oracle采用多种方式进行认证,如数据库认证、操作系统认证、 *** 认证等。

3.默认table 空 room:当用户创建一个数据库对象时,如果没有明确指出存储在哪个table 空 room中,系统会自动将数据库对象存储在当前用户的默认table 空 room中。在Oracle 11g中,如果没有为用户指定默认的table 空 room,系统将

4.临时桌空房:临时桌空房之间的分配类似于默认桌空房。如果没有明确指定,系统将使用数据库的临时表空房间作为用户的临时表空房间;

5.表间空配额:表间空配额限制了用户在永久表空中可以使用的存储空的大小。默认情况下,新用户在表空之间没有配额,表空中的每个用户都可以使用,不需要在临时表空之间分配配额;

6.Profile:每个用户必须有一个profile,从会话级和调用级限制用户对数据库系统资源的使用,并设置用户的密码管理策略。如果没有为用户指定概要文件,Oracle将自动为用户指定默认概要文件。

7.设置用户的默认角色

8.账户状态:创建用户时,可以设置用户的初始状态,包括密码是否过期,账户是否锁定。

可以通过数据字典dba_users查询每个用户的属性(这里只截取前几列):

3.创建用户

按如下方式创建用户语法:

其中包括:

-user_name:新创建的用户的名称;

-IDENTIFIED:表示用户验证 *** ;

-按密码:采用数据库认证,密码为用户密码;

-外部:指定用户采用外部认证,其中:① ①AS 'certificate_DN ' '指定用户采用ssl外部认证;②As‘kerberos _ principal _ name’指定用户采用Kerberos外部认证;

-globalyas' directory _ dn ':指定用户采用全局身份验证;

-default tablespace tablespace _ name:设置用户的默认表空间空;

-临时表空间tablespace _ name | tablespace _ group _ name:设置用户临时表空表间空表间组;

-quota n k | m | Unlimited on tablespace _ name:指定用户在特定表空之间的配额;

-PROFILE profile_name:指定用户的配置文件;

-密码过期:当指定的用户密码过期时,系统会在用户首次登录时要求更改密码;

-ACCOUNT LOCK|UNLOCK:指定用户被锁定/解锁,默认情况下不锁定。

4.修改用户

修改用户由ALTER实现,语句与创建用户基本相同,只是有一个默认角色选项用于指定用户的默认角色:

其中包括:

-role_list:指定角色列表;

-ALL:指定所有角色;

-EXCEPT role _ list:role _ list指定的角色以外的角色;

-NONE:未指定角色。

5.锁定和解锁用户

当用户被锁定时,他不能登录数据库,但是用户的所有数据库对象仍然可以使用。当用户解锁时,用户可以正常连接到数据库。

在Oracle中,当不再使用该帐户时,可以将其锁定。通常,未使用的帐户可以被锁定,而不是删除。

示例,锁定和解锁scott用户:

6.删除用户

使用删除用户来删除用户。基本语法是:

如果用户拥有数据库对象,则必须使用CASCADE选项。Oracle首先删除用户的数据库对象,然后再删除用户。

7.查询用户信息

在Oracle中,包含用户信息的数据字典如下:

资源限制和密码管理

在数据库中,用户的资源限制和密码管理是通过数据库配置文件来实现的,每个数据库用户都必须有一个配置文件。通常,DBA将用户分为几种类型,并为每种类型的用户分别创建一个概要文件。profile文件不是一个特定的文件,而是SYS模式下存储在几个表中的信息 *** 。

1.资源限制

Profile通过一系列资源管理参数从会话级和呼叫级限制用户对资源的使用。会话资源限制是限制用户在会话期间可以使用的资源,调用资源限制是限制一条SQL语句在执行期间可以使用的总资源。资源限制的参数如下:

1.CPU使用时间:会话或调用中使用的CPU总量;

2.逻辑读取:在一个会话或调用中读取物理磁盘和逻辑内存数据块的总量;

3.用户的并发会话数;

4.用户连接到数据库的最长时间;

以下是scott用户的资源限制信息:

2.密码管理

用于数据库口令管理的oracle概要文件的主要参数如下:

1.FAILED_LOGIN_ATTEMPTS:限制用户失败次数,一旦达到失败次数,账户将被锁定;

2.PASSWORD_LOCK_TIME:用户登录失败后,帐号被锁定的时间长度;

3.PASSWORD_LIFE_TIME:用户密码的有效天数。在设定的天数后,密码过期,需要重新设置。

下图显示了scott用户的密码管理参数设置信息:

3.查询配置文件信息

在Oracle 11g中,包含汇总信息的数据字典如下:

权限管理

在Oracle数据库中,用户权限主要分为系统权限和对象权限。系统权限是指在数据库中基本执行某些操作的权限,或者对某个类对象进行操作的权限。对象权限主要是指对数据库对象进行某些操作的权限,如增加、删除(删除数据)、查表、修改表等。

1.系统权限(1)系统权限概述

在Oracle 11g中,有200多个系统权限,这些权限都可以通过数据字典system_privilege_map获得。

(2)系统权限的授予

授予用户系统权限的SQL语法是:

其中:-system_privilege_list:系统权限列表,用逗号分隔;

-所有特权:所有系统特权;

-user_name_list:用逗号分隔的用户列表;

-role_list:用逗号分隔的角色列表;

-PUBLIC:授权数据库中的所有用户;

-带管理选项:允许系统权限接收者向其他用户授予权限。

在授予用户系统权限时,需要注意:

1.只有DBA用户拥有alter database;

2.应用程序开发人员通常需要拥有系统权限,如创建表、创建视图、创建索引等。

3.一般来说,普通用户只需要拥有create session权限。

4.当用户被授权使用with admin option子句时,该用户可以将获得的权限授予其他用户。

(3)系统权限的恢复

回收用户系统权限的SQL语法如下:

恢复用户系统权限时需要注意以下三点:

1.多个管理员授予同一个用户相同的权限,一个管理员收回授予该用户的系统权限,该用户将不再拥有该系统权限;

2.为了恢复用户系统权限的传递性(授权中使用了with admin option),必须先恢复系统权限,然后再将权限授予用户。

3.如果一个用户的权限是可传递的,并且授权给了其他用户,那么该用户的系统权限被收回后,其他用户的系统权限不会受到影响;

2.对象权限

对象权限是指特定模式对象的操作权限。数据库模式对象的所有者拥有该对象的所有对象权限,对对象权限的管理实际上是对象所有者对其他用户操作该对象的权限管理。在Oracle数据库中,不同类型的对象有不同的对象权限,而有些对象没有对象权限,只能通过系统权限来管理,比如集群、索引、触发器、数据库链接等。

(1)客体权利的授予

在Oracle数据库中,用户可以直接访问同名模式下的数据库对象。如果他们需要访问其他模式下的数据库对象,他们需要拥有相应的对象权限。对象权限授予的SQL语法是:

其中:-object_privilege_list:逗号分隔的对象权限列表;

-所有特权:所有特权;

-[图式。]object:要授权的对象;

-user_name_list:用逗号分隔的用户列表;

-role_list:用逗号分隔的角色列表;

-公共:所有用户

(2)客体权利的恢复

回收对象权限的SQL语法是:

其中:-级联约束:在回收引用对象权限或回收所有特权时,删除使用引用对象权限创建的外键约束;

-FORCE:在回收表中使用的用户定义对象类型的执行权限时,必须指定FORCE关键字。

回收对象权限时应注意以下三点:

1.多个管理员将同一对象权限授予同一用户。管理员回收对象权限后,用户不再拥有对象权限;

2.为了恢复用户对象权限的传递性,必须先恢复对象权限,然后再把对象权限重新给用户;

3.如果一个用户的对象权限是可传递的,并且已经授权给了其他用户,那么在该用户的对象权限被收回后,其他用户的对象权限也会被收回。(值得注意的是,这一项不同于系统权限传递性的回收)。

3.查询权限信息

角色管理

如果我们直接给每个用户权限,那将是一项庞大而麻烦的工作,不方便DBA管理。通过采用角色,使:

1.权限管理更方便。将角色赋予多个用户,实现不同用户的相同授权。如果要修改这些用户的权限,只需修改角色即可;

2.可以激活和关闭角色权限。DBA可以方便地选择是否赋予用户某个角色;

3.提高性能,通过使用角色减少数据字典中授权记录的数量,通过关闭角色减少语句执行时权限的确认。

图。用户、角色和权限的关系图

因为亲自接触的数据库用户很少,没有单独的角色创建,所以角色的创建、修改、删除、激活、禁用、授予、回收就不一一描述了,只要你知道如何查询角色信息就可以了。

在Oracle中,包含角色的数据字典如下:

文章转载于音乐字节。

最后推荐几个哔哩哔哩超详细的Java自学课程:

MySQL数据库:BV1tK4y197JC

SpringBoot+Vue前端分离项目实战:BV1Tq4y1E7i5nodeJs项目:BV1SK4y197G3JavaScript完整教程:BV1yf4y1Y7oM

用户 权限 数据库 对象 角色

最新文章