Oracle实验七:数据库安全管理

本文详细指导如何在Oracle数据库中创建用户并配置操作系统及数据库认证,分配系统权限如会话创建和表操作,对象权限如scott.emp,创建和授权角色,以及通过角色进行权限操作。涉及查询用户信息、角色授权和角色使用实例,适合学习数据库权限管理的读者。
摘要由CSDN通过智能技术生成

实验目的:掌握Oracle数据库的访问控制策略;掌握用户、权限和角色的管理方法。
实验要求:

  1. 创建两个用户,他们分别采用操作系统认证和数据库认证。

采用操作系统认证创建用户

先查看初始化参数OS_AUTHENT_PREFIX设置,创建用户时加上该前缀;
	show parameter OS_AUTHENT_PREFIX;
	create user ops$chen
	identified externally;

在这里插入图片描述
采用数据库认证创建用户

	 create user zhang
	 identified by zhang123
	 password expire
	 default tablespace users
	 quota 10M on users
	 temporary tablespace temp;

在这里插入图片描述

  1. 授予用户系统权限(如创建会话和表等)和对象权限(如scott.emp的相关权限)。
    授予用户系统权限
    grant create session, create table to zhang;
    grant create session, create table to ops$chen;
    在这里插入图片描述

授予用户对象权限
grant insert,update,delete on scott.emp to zhang;
grant insert,update,delete on scott.emp to ops$chen;
在这里插入图片描述

  1. 创建两个角色,并为角色授予一定的权限,然后将角色授予上面创建的用户。设置默认角色和在会话中启用角色,然后执行用户通过角色所获得权限的相应操作。

创建角色

	create role sr_admin identified by admin;
	create role sr_query identified by query;

在这里插入图片描述
为用户授权

	grant create session to sr_admin;
	grant insert,update,delete on scott.dept to sr_admin;
	grant select on scott.dept to sr_query;

在这里插入图片描述
将角色授予上面创建的用户

	grant sr_admin to zhang;
	grant sr_query to zhang with admin option;

在这里插入图片描述
设置默认角色

 	alter user zhang default role sr_admin;

在这里插入图片描述
在会话中启用角色

	set role sr_query identified by query;

在这里插入图片描述
执行用户通过角色所获得权限的相应操作

	select * from role_role_privs where ROLE='SR_ADMIN';
	select * from role_sys_privs where role='SR_ADMIN';//角色的系统权限
	select * from role_tab_privs where role='SR_ADMIN';//角色的对象权限
	select * from dba_role_privs where grantee='ZHANG';
  1. 通过数据字典查询上面创建的用户和角色信息,以及为用户授予的权限和角色信息,以及当前会话启用的角色信息。
	select username,default_tablespace,temporary_tablespace
	from dba_users
	where account_status = 'OPEN';//查询创建用户信息
	select * from dba_role_privs where grantee='OPS$CHEN';//授予用户的角色信息
	select role from session_roles;//查询当前会话启用的角色信息。
	select * from user_role_privs;
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值