- 用户账号的管理与创建
- 用户权限的授予与撤销
- 角色的创建与管理
- 用户配置文件的管理与创建
- 安全管理的原则--最小权限原则
- 数据库审核
用户账号的管理与创建
账号的属性 :用户名/身份验证方法/默认表空间/表空间配额/临时表空间/配置文件/账号状态
用户名: <30 字母/数字/$/_ 创建后不可更改用户名
create user pan identified by pw44wo$d
默认表空间和配额
select username,DEFAULT_TABLESPACE,temporary_TABLESPCE from dba_users where username='pan' alter user pan quota 10m on users; alter user pan quota unlimited on example; select tablespace_name,bytes,max_bytes from dba_ts_quotas where username='pan' select property_name,property_value from database_proerties where proerty_name like'%tablespace' alter user pan temporary tablespace temp; #用户不需要临时表空间配额
账号状态: OPEN/LOCKED/EXPIRED/EXPIRED &lOCKED/EXPIRED GRACE/LOCKED TIMED/EXPIRTED & LOCKED TIMES/EXPIRED GRACE &LOCKED TIMED)
alter user pan account lock alter user pan password expire
身份验证方法
grant [sysdba|sysoper] to username #操作系统和口令文件身份验证
#v$pwfile_users 查询授予sysdba 和sysoper 的用户 connect username / password [@db_alias] as [sysdba|sysoper] #口令文件身份验证 connect / as [sysdba| sysoper] #操作系统 不需要口令 connect username / password [@db_alias] # 口令身份验证 select value from v$parameter where name ='os_authent_prefix';# 查询OPS$ 字符串的值 create user ops$pan identified externally; grant create sesion to ops$pan sqlplus / #linux外部身份验证登录 creeate user "OPS$TT\pan" identified externally;# windows 外部身份验证登录 TT是域名,pan账号
账号管理
create user pan identified by tiger default tablespace users temporary tablespace temp quota 100 on users,quota unlimited on example profile devloper_profile password expire account unlock; alter user pan profile product_profile; drop user pan cascade;
用户权限的授予与撤销
grant/revoke/grantor/grantee
系统权限(撤销不可级联)
create session
restricted session
alter database
alter system
create tablespace
create table
grant any object privilege
create any table
drop any table
insert any table/update any table/delete any table
select any table
grant create session ,alter session,create table,create view,create synonym,create cluster,craete database link,create sequence,
create tigger,create type,create procedure,create operator to user with admin option;#允许被授权人将权限传递给第三方 #dba_sys_privs
对象权限(撤销将会级联)
ANY权限针对数据库中的每个用户账号中的每个对象授权,是系统权限,而不是对象权限。
在列级别授权是一种错误的做法,如需要限制用户对特定列的访问权限,创建只显示这些列的视图是更好的替代做法
SELECT/INSERT/UPDATE/DELETE on table/view/sequence
ALTER on table and sequence
EXECUTE on 过程/函数/包/同义词
grant select on store.customers to scott; grant update (order_status) on store.orders to scott; grant on store.regions to scott with grant option #使用户将其对象传给第三方