Oracle数据库的安全保护流程可以分为3个步骤

Oracle数据库的安全保护流程可以分为3个步骤

连接到数据库的每个用户都有不同的权限。 Oracle提供了一些特权用户,例如sysdba或sysoper。 这些用户主要用于执行数据库维护操作,例如启动、关闭、建立数据库以及执行备份和恢复操作。

SYSDBA和SYSOPER的区别在于用户角色权限设计,sysdba不仅拥有sysoper的所有权限,还可以创建数据库和执行不完全恢复。

Oracle提供了默认的特权用户SYS。 以特权用户身份登录数据库时,必须具有 as sysdba 或 as sysoper 选项。

用户模式关系

另一个与用户密切相关的概念是schema,也称为schema。 模式实际上是用户拥有的数据库对象的集合。 在Oracle数据库中,对象是按用户组织的。 用户和模式之间存在一一对应的关系,并且两者具有相同的名称。

每个用户都会有自己的schema用户角色权限设计,该用户的所有对象都属于这个schema。

访问数据库对象时需要注意的事项:

A。 同一 schema 中不能存在同名的对象,但不同 schema 中的对象可以具有相同的名称。

角色权限用户设计案例_用户角色权限是怎么设置的_用户角色权限设计

b. 用户可以直接访问该schema中的所有对象,但如果要访问其他schema对象,则必须具有该对象的响应访问权限。 示例:用户A可以直接查看模式下的emp表,但如果用户B想要查看模式A下的emp表,则必须具有emp表的select权限。

C。 当用户访问其他模式对象时,必须附加模式名称作为前缀。

创建和管理用户

甲骨文认证:

1 密码验证

当使用密码身份验证机制的用户尝试连接到数据库时,数据库会验证用户名是否是有效的数据库帐户,并提供与数据库中存储的用户密码相匹配的密码。

由于用户信息和密码都存储在数据库中,因此使用密码对用户进行认证也称为数据库认证用户。

2 外部验证

角色权限用户设计案例_用户角色权限是怎么设置的_用户角色权限设计

外部身份验证是指当用户尝试连接数据库时,数据库会验证用户名是否是有效的数据库帐户,并且用户已完成操作系统级别的身份验证。

注意:外部身份验证的用户不会在数据库中存储身份验证密码。

3 全局验证

全局认证是指用户不将认证密码存储在数据库中,而是通过高级安全选项提供的认证服务来执行。

创建用户声明:

create user user_name identified by pass_word

修改用户声明:

alter user user_name identified by pass_word

删除用户语句:

drop user user_name [cascade]

用户权限管理

根据系统管理方式的不同,Oracle数据库中权限分为两类:系统权限和对象权限。

系统权限是在系统级别访问和使用数据库的机制。 例如,用户是否可以连接数据库系统(SESSION权限)、执行系统级DDL语句(如CREAT、ALTER和DROP)等。

对象权限是指某个用户对其他用户的表、视图、序列、存储过程、函数、包等的操作权限。不同类型的对象有不同的对象权限。 对于一些模式对象,如集群、索引、触发器、数据库链接等,没有相应的实体权限。 这些权限由系统权限管理。

权限设计原则

授权操作使用GRANT命令,其语法如下:

用户角色权限是怎么设置的_用户角色权限设计_角色权限用户设计案例

grant sys_privi | role to user | role | public [with admin option]

如果普通用户被授予过高的权限,可能会给Oracle系统带来安全风险。 作为Oracle系统的管理员,应该能够查询当前Oracle系统中每个用户的权限,并使用REVOKE命令撤销用户的一些不必要的系统权限。 REVOKE命令的语法格式如下:

revoke sys_privi | role from user | role | public

角色管理

角色是一个独立的数据库实体,包含一组权限。 换句话说,角色是一个或多个权限的集合,并且不属于任何用户所拥有。 可以将角色授予任何用户游戏策划,也可以撤销该用户的角色。

使用角色可以简化权限的管理。 您只需一条语句即可授予或撤销用户的权限,而无需对用户进行一一授权。 利用角色还可以实现权限的动态管理。 例如,随着应用程序的更改,角色的权限可以增加或减少。 这样音乐,通过改变一个角色的权限,就可以改变多个用户的权限。

预定义角色

所谓系统预定义角色是指数据库安装后系统自动创建的一些常用角色。 这些角色已被系统授予相应的系统权限,可供数据库管理员直接使用。 一旦将这些角色授予用户,该用户就拥有该角色中包含的系统权限。

用户角色权限是怎么设置的_用户角色权限设计_角色权限用户设计案例

下面列出的系统预定义角色是最常用的。

(1)连接;

(2)资源;

(3)DBA;

(4)EXP_FULL_DATABASE;

(5)IMP_FULL_DATABASE。

创建角色和权限

如果系统预定义的角色不能满足用户的需求,数据库管理员可以创建更多的角色。 可以使用 CREATE ROLE 语句创建用户定义的角色。 语法格式如下:

创建角色 role_name [ 未识别 | 由 [密码] 识别 | [外部] | [全球]]

文章来源:https://blog.csdn.net/m0_61613161/article/details/134064233