oracle topic9 数据库安全管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在前面例子中,如果在将myrole1角色授予 myuser1用户时带with admin option选项,则 myuser1用户可将获得的myrole1角色再授予 myuser2用户。然而能否将myrole1角色中的系统 权限、对象权限再单独授予myuser2用户,仍需要 看在给myrole1角色授予这些权限时是否带有with admin option 选项(因为在授予对象权限时不能带 with grant option选项,所以对于对象权限没有此问 题)。
相应权限。数据字典的基础表和视图都是存储在sys 方案中,为了维护数据字典的完整性,在sys方案中 的表只能由数据库来操作,任何人不能在sys方案中 创建任何表。因为sys用户的权限比较大,所以应该
确保绝大多数用户不能用sys账户连接数据库。
System 用于执行数据管理任务的另一个账户;System账
语法形式如下所示 Alter user user_name Identified by new_password
其中: user_name是将要修改密码的数据库用户名称。 new_password新的用户密码。
例如:sys用户登录,(1)用alter user修改itsoft用户的密 码,(2)用password命令修改当前用户的密码。
例如:以sys用户登录,对ifsoft用户进行锁定和解除锁定操作。
修改用户的默认表空间
修改语法形式如下: Alter user user_name Default tablespace new_def_tablespace [temporary tablespace new_temp_tablespace] 其中:
其中: sys_privilege将要授予的系统权限,多个系统权限之间用逗号分隔。 user_name将要授予系统权限的用户名称。 with admin option选项表示该用户可以将这种系统权限转授予其他用户。
查看用户的系统权限
user_sys_privs数据字典视图查看有关用户和权限的信息。 user_sys_privs数据字典视图中,包含了用户名称、系统 权限和是否能转授权限的标志灯信息。 user_sys_privs数据字典视图的信息与用户紧密关联,随
撤销对象权限
撤销对象权限语法形式: Revoke object_privilege on object_name from user_name 其中 object_privilege表示对象权限。 object_name表示指定的对象名称。 user_name表示将要撤销对象权限的用户名称。
在撤销对象权限时,与撤销系统权限不同的是,
户一般用户创建显示管理信息的表和视图,或被oracle数
据库选项和工具使用的内部表和视图。不要在system方案 中存储并不用于数据管理的表。
创建用户
语法形式: Create user user_name Identified by password [Default tablespace def_tablespace] [temporary tablespace temp_tablespace] 其中 user_name指定将要创建的新数据库用户名称。 Password指定该新数据库用户的密码。 def_tablespace指定存储该用户所创建对象的默认表空间。 temp_tablespace指定存储临时对象的默认表空间。 在创建用户时,创建者必须具有create user系统权限。
7、对象权限 SQL>Grant select ,delete to myuser0 with grant option; SQL>conn myuser0/abc;
SQL>grant delete on scott.dept to myuser1;
SQL>conn sys/sys as sysdba;
role_name表示要创建的角色名称。 role_password表示所创建的角色口令。
为角色和用户授予权限
在角色创建之后,如果没有为角色授予权限,那 么角色毫无用处。对于角色来说,既可以授予系统权 限,也可以授予对象权限,还可以把另一个角色的权 限授予给它。
查看角色信息
在Oracle 10g系统中,可以通过 user_role_privs,role_sys_privs和 role_tab_privs等数据字典试图查看有关角色的信息。
锁定用户和解除用户锁定
如果要禁止某个用户访问Oracle 10g系统,那么最好的 方式是锁定该用户,而不是删除该用户。锁定用户并不影响 该用户所拥有的对象和权限,这些对象和权限依然存在,只
是暂时不能以该用户的身份访问系统。当锁定解除后,该用
户可以正常地访问系统、按照自己原有的权限访问各种对象。
锁定和解除锁定的语法形式如下所示: Alter user user_name account[lock|unlock] 其中 Lock表示锁定用户。 Unlock表示解除锁定用户。
修改用户密码
在Oracle 10g中修改数据库用户密码的方式有两种: 第一种是使用alter user语句修改用户密码; 第二种是使用password命令修改用户密码。 其区别在于第一种方法即可以修改当前用户的密码,也可以 修改其它用户的密码;而第二种方式只能修改当前用户的密 码。
使用alter user语句修改口令
是指数据库使用存储在数据库中的信息对试图连接
wenku.baidu.com
数据库的用户进行身份认证。为了建立数据库身份
验证机制,在创建数据库用户时,需要指定相应的 用户密码。在用户连接数据库时,必须提供正确的 用户名和密码,才能登录到Oracle数据库。
数据库管理员认证
数据库管理员拥有极高的管理权限,可以执行一些 特殊的操作,如关闭或启动数据库。因此,为了安 全考虑,Oracle数据库为数据库管理员提供了安全 的认证方式,用户可以选择进行操作系统认证或密
SQL>revoke delete on scott.dept from myuser0;
用户的角色管理
给用户授予角色 SQL>Grant rolename[,rolename2] to {user | role | public} [,{user | role | public}] [with admin option] with admin option选项,表示获得该角色的用户 还可以将该角色再授予其他用户或角色,或从其他 用户那里回收该角色,并且可以修改或删除该角色。 如果一个用户在获得角色时没有得到该选项,则该 用户需要具有grant any role 系统权限才能做这些事情。
6、系统权限 SQL>Grant create session,create table to myuser0; SQL>conn myuser0/abc; SQL>grant create table to myuser1; SQL>conn sys/sys as sysdba; SQL>revoke create table from myuser0;
用户的不同而不同。
收回授予的系统权限
Revoke语法形式如下所示: Revoke sys_privilege[,sys_privilege] from user_name
其中: sys_privilege将要撤销的系统权限,多个系统权限之间用逗号 分隔。 user_name将要撤销系统权限的用户名称。
其中 object_privilege表示对象权限。 column_name表示对象中的列名称。 object_name表示指定的对象名称。 user_name表示接受权限的目标用户名称。 with grant option选项表示允许该用户奖当前的对象权限转授予其他用户。
对象权限查看
在Oracle10g中,可以使用 user_tab_privs_made,user_col_privs_made,user_tab_priv s_recd和user_col_privs_recd等数据字典视图查看有关用户 和对象的权限信息。
数据库安全管理
涂利明
主要内容
1 2
Oracle认证方法 用户管理
权限管理
3
4 4 4
角色管理
Oracle认证方法
认证是指对需要使用数据、资源或应用程序的用户进行身
份确认。
通过认证后,可以为用户后面的数据库操作提供一种可靠 的连接关系。
Oracle认证方法
Oracle提供了多种身份认证方式
撤销角色权限
可以把授予角色的权限收回。撤销使用revoke语句。
删除角色
使用Drop role语句形式如下所示 Drop role role_name 其中 role_name表示要删除的角色名称
Questions
1、创建一个用户myuser0,密码abc,默认表空间 users,默认临时表空间temp; 2、用myuser0登录数据库,并能创建表,至少需要给 它赋予哪些权限。保证所赋权限能传递。 3、对改用户账户加锁 4、对myuser0用户赋予对scott用户的dept表的select 、update权限。 5、取消4中所赋予的update权限
user_name将要删除的数据库用户名称。
cascade 删除该用户所拥有的对象。
主要内容
1 2
Oracle认证方法 用户管理
权限管理
3
4 4 4
角色管理
权限管理
•系统权限 •对象权限
系统权限
指在系统级控制数据库的存取和使用的机制,
即执行某种SQL语句的能力。
为用户授予系统权限
语法形式: Grant sys_privilege[,sys_privilege] to user_name [with admin option]
码文件认证。
主要内容
1 2
Oracle认证方法 用户管理
权限管理
3
4 4 4
角色管理
用户管理
创建用户
修改用户密码
锁定与解除用户锁定 修改用户的默认的表空间 查看用户信息 删除用户
预定义用户
Sys 用于执行数据库管理任务的账户。Sys是自动创
建的管理账户,并被授予dba角色,因此有该角色的
Sysman 使用oracle enterprise manager 执行数据管理任
务的账户;
Dbsnmp 由oracle enterprise manager 的管理代理人组建 使用的账户,用于监视和管理数据库。
例如:创建新用户,用户名和密码分别为itsoft和itsoft, 默认表空间users,临时对象默认表空间为temp。
当某个用户的对象权限被撤销后,从该对象转授出去的权限也自动被撤销了。
主要内容
1 2
Oracle认证方法 用户管理
权限管理
3
4 4 4
角色管理
角色管理
创建角色 为角色和用户授予权限 查看角色信息
撤销角色权限
删除角色
创建角色
创建角色语法形式: Create role role_name [identified by role_password] 其中:
user_name将要修改的数据库用户名称。 new_def_tablespace新的默认表空间名称。 new_temp_tablespace 新的临时表空间名称。
查看用户信息
可以通过dba_users数据字典视图查看有关用户的信息。
删除用户
删除用户的drop user语法形式如下所示 : Drop user user_name [cascade] 其中:
操作系统身份认证
Oracle数据库身份认证
管理员身份认证
操作系统身份认证
主要是对登录操作系统的用户合法身份进行认证。一 些操作系统允许Oracle使用它们的用户认证信息。一
旦用户被操作系统所认证,他就可以很方便地连接到
Oracle,不需要再输入用户名和密码。
Oracle数据库身份认证
回收系统权限不会级联
对象权限授予
对象权限是指在数据库中针对特定的对象执行的 操作。对象权限包括两个方面的内容,即特定的对象 和特定的权限。
对象权限授予
对象权限授予语法形式 Grant object_privilege[(column_name)] On object_name to user_name [with grant option]
相关文档
最新文档