专题实验 Toad 用户的创建与管理( 包括 role 等 )

1. 用户登录数据库

是否可以通过操作系统权限来登录数据库, $ORACLE_HOME/network/admin/sqlnet.ora 这个文件中设置, 如果增加参数sqlnet.authentication_services=(NONE), 这样将不能使用操作系统权限登录.

2. 用户的管理 (推荐使用toad)

create user leon identified by leon;

[default tablespace users]

[temporary tablespace temp]

也可以使用 toad 来创建. 同时也可以锁定用户, 删除用户

3. 权限的授予(推荐使用toad)

create session , 进入数据库的最小权限.

grant create table to leon,

alter user leon quota 10m on users;  --  不仅要分配create table权利, 还要给这个用户空间配额

系统权限的授予情况可以通过 oracle 的视图 dba_sys_privs 来查询(这也就是为什么在toad中, 这个sys_privs要单独被提出来得原因)

select * from dba_sys_privs where grantee='LEON';  -- LEON 必须用大写

因为授予权限的麻烦特性, 所以有了 ROLE , 一般, 创建一个用户以后, 给两个角色给这个用户就够了, CONNECT, RESOURCE

select * from dba_sys_privs where grantee='CONNECT';

RESOURCE, 这个权限分配给用户后, 默认这个用户就具有 unlimited tablespace 权限, 我们可以收回这个权限, 再根据实际情况分配表空间.

select * from dba_ts_quotas where username='LEON';   -- 查看已分配的空间情况

revoke unlimited tablespace from LEON;

alter user leon quota unlimited on users;   -- 在 users 这个 tablespace 上无限制使用存储空间.

在开发环境中, 我们建议用户创建自己的角色来管理权限集合, 以最小化原则来进行权限分配.

select * from dba_role_privs where granted_role='DBA';

public role, 即数据库中所有用户. 建议收回部分 public 权限, 用到时再说吧, 因为收回public role的一些权限, 可能导致系统某些功能失效.

4. 用户行为审计

1) SYS 设计

缺省的再 audit_file_dest 目录会记录 SYS 用户的登录审计信息, 如果想对操作也进行审计, 需要设置一下:

alter system set audit_sys_operations=true scope=spfile;  -- 需要重新启动数据库

2) 用户行为审计

audit all by leon by access;

audit select table, update table, insert table, delete table by leon by access;

audit execute procedure by leon by access;

select username, extended_timestamp, owner, obj_name, action_name from dba_audit_trail where owner = 'LEON' order by timestampl  -- 查看审计情况

还可以使用 DBMS_FGA 包来扩展审计, 需要一些设置, 用时再说.

 

 

你可能感兴趣的:(Toad)