`
zsjg13
  • 浏览: 138548 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

用户管理和数据库安全

阅读更多

本文是我自己翻译并总结自《Expert Oracle Database 11g Administration》,没写完!

 

数据库安全同样要依赖于系统和网络安全。

 

system and object privileges

 

Oracle profiles:let you set limits on the resources used by each user in the database and enforce a password policy for security purposes.

 

Oracle Resource Manager:enables you to allocate scarce database and server resources among groups of users according to a resource plan.

 

虽然通过grants和privileges来控制数据库访问相当常见,但你必须还要考虑使用Oracle的强大的细粒度的访问控制特性,叫virtual private database,它能够

让你控制行级别的访问。

 

在一个产品数据库中,审计数据库的使用情况是个好主意。对数据和数据库时间的改动,你都可以审计,例如登录到数据库失败了。基于系统事件的触发器可以为

数据库提供一个强大的安全层。我们还会介绍Oracle的细粒度的审计策略。

 

数据加密:Oracle提供了加密数据的几种方法。包括特殊的PL/SQL加密包,加密表格列,加密整个表空间。

 

========管理用户

how to make sure that the default passwords associated with various database users are changed soon after creating a new database。

当你创建一个新数据库时,起初的几个用户将成为应用或schema owners。之后,你要创建一些使用数据库做日常工作的用户。

 

==========临时、默认表空间

所有的用户都要有一个临时表空间,此表空间在用户执行数据排序时用到。另外,还需要有一个默认表空间,如果用户的对象在创建时没有显式赋予一个表空间的话,

就会用此默认表空间。在数据库创建过程中,你可以为所有用户创建一个默认的临时表空间和一个默认的永久表空间,一旦你创建了这2个表空间,当你创建一个

新的用户时,就不需要再次指定它们了。

 

注意:如果你没有将一个表空间指定为默认表空间的话,System表空间就变成了你的默认表空间,如果一个用户创建了一个非常大的对象在System表空间里,那么

这个用户可能就占据了System表空间的所有容量,这样就使得sys超级用户不能在System表空间里创建任何对象了,导致数据库停住了,这就是为什么要给每个用户

创建一个默认的表空间的主要原因。

 

==========创建一个新用户

SQL> create user fanjg identified by admin123;

创建完一个数据库后,你可以用alter tablespace default temporary tablespace来设置一个默认临时表空间。查询database_properties视图可以看到当前的

默认表空间。

 

下面的查询显示了此新用户的默认(永久)表空间和临时表空间:

SQL> select default_tablespace, temporary_tablespace from dba_users where username='FANJG';

 

新用户不能连数据库,因为没有create session系统权限,所以:

SQL> grant create session to fanjg;

 

新用户登录后,还是不能创建对象的,假如USERS表空间是这个新用户的默认永久表空间的话,那么实际上此时用户在此表空间上是没有空间份额的。所以,需要:

SQL> alter user FANJG quote 100M on users;

 

如果你根本不想一个用户在数据库中创建任何对象,那么你可以不给此用户在任何表空间上的份额就行了。如果一个用户它已经在一个表空间上有份额了,那么你

只要用alter user命令将份额设置为0就行了,由该用户已经创建的对象将会保留,但该用户不能再创建新对象了,那些已有的对象当然也不能再增长了。

 

一旦新用户在一个表空间上被赋予了一定的空间份额,该用户就可以创建数据库对象了。

 

如果你想要某个用户在所有的表空间上拥有无限的空间使用权利的话,给这个用户unlimited tablespace权限就行了。

SQL> grant unlimited tablespace to FANJG;

 

如果你想要一个用户能创建他自己的表空间,那就用此命令:grant create tablespace to username。类似的,你必须授予它drop tablespace权限。

SQL> select tablespace_name, username, bytes from dba_ts_quotas;

SQL> create user fanjg identified by admin123

temporary tablespace TEMPTBS01

default tablespace users

quote 500M on users;

 

==========修改一个用户

SQL> show user

SQL> alter user FANJG identified by admin123;

只有DBA或你给了alter user权限的用户才能够用alter user命令修改密码。如果一个用户要修改它自己的密码,那么可以在SQL*Plus中运行password命令。

不管是用户自己设置了密码还是DBA给它设置了密码,DBA都无法够知晓任何用户的密码,因为是加密的。然而,后面我会介绍如何通过利用加密的密码来登录为

另一个用户。

 

==========删除一个用户

SQL> drop user FANJG;

这只会删除用户,该用户所拥有的对象会保持原封不动。如果数据库里的其他对象依赖此用户的话,用此简单命令是不行的,必须用到cascade,这会删掉用户、

用户的schema对象,以及任何依赖对象。

 

在第16章,你将学习Oracle新的Recycle Bin,它可以在你发出drop table命令时让数据库不会永久地删除这张表。这就给了你必要时可以恢复被删除的表的机会。

但如果你是删除用户的话,此用户的schema里的所有的表和其他对象都会被永久删掉,并不会用到Recycle Bin!,所以当你不确定以后会不会需要一个用户的对象

时,但你又想拒绝该用户的访问,那么只需要保留该用户和该用户的对象,但拒绝该用户访问数据库,用下面的命令:

SQL> revoke create session from FANJG;

不过,如果此用户还拥有connect这个角色的话,Oracle建议你用alter user <username> account lock命令来确保锁定该用户:

 

分享到:
评论

相关推荐

    MySQL数据库:数据库的安全管理.pptx

    数据库安全可以分为系统安全和数据安全。 系统安全包括在系统级别上,控制数据库的存取和使用的机制。系统安全机制检查用户是否被授权连接到数据库,数据库审计是否是活动的,用户可以执行哪些系统操作等。 数据安全...

    数据库安全管理实验报告

    实验一 数据库安全管理 根据下表的要求 1) 建立角色; 2) 为角色分配权限; 3) 建立密码管理和资源限制Profile文件; 4) 建立用户; 5) 为用户分配角色; 6) 用户登录,执行相应的SQL操作。

    个人信息管理系统数据库系统设计

    (4) 系统维护功能:数据的安全管理,主要是依靠管理员对数据库里的信息进行备份和恢复,数据备份后,如果出了什么意外可以恢复数据库到当时备份的状态,这提高了系统和数据的安全性,有利于系统的维护;...

    Oracle数据库安全性管理基本措施简介

    Oracle数据库系统在实现数据库安全性管理方面采取的基本措施有:通过验证用户名称和口令,防止非Oracle用户注册到Oracle数据库,对数据库进行非法存取操作。授予用户一定的权限,例如connect,resource等,限制用户...

    数据库安全性与完整性实验

    使学生加深对数据库安全性和完整性的理解。并掌握SQL Server中有关用户、角色及操作权限的管理方法。熟悉通过SQL语句对数据进行完整性控制。 二、实验内容和要求  数据库的安全性实验,在SQL Server企业管理器中,...

    2022年数据库安全管理用户管理.pptx

    2022年数据库安全管理用户管理.pptx

    教室管理系统数据库系统设计

    系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别...

    数据库管理规范.doc

    数据库管理规范 版本号:V1.0 信息科 2017年4月 数据库管理规范 1 规范说明 2 2 维护管理安全规范 2 3设计规范 3 4. SQL编写规范 6 5. 数据库备份与恢复策略规范 7 6开发测试与上线安全规范 9 7 监控 10 8连接池使用...

    云大-数据库-实验七:数据库的安全性.doc

    实验七:数据库的安全性 一、实验目的 1. 掌握Windows NT认证模式下数据库用户帐号的建立与取消方法; 2. 掌握混合模式下数据库用户帐号的建立与取消方法;P223 3. 掌握数据库用户权限(即角色)的设置方法;P238 4....

    oracle数据库用户管理

    系统安全性:系统级数据库存取和使用控制,如口令机制,表空间,磁盘配额等 数据安全性:实体级数据库存取和使用控制,如可以访问的对象以及可以进行的操作(查询,更新等) Oracle 帐户: SYS:具有dba角色的管理...

    数据库安全基线.doc

    Oracle数据库安全基线 目录 1.1. Oracle 数据库系统安全基线配置规范 2 1.1.1. Linux版本 2 1.1.1.1. 删除无用帐号 2 1.1.1.2. 默认帐号修改口令 2 1.1.1.3. 限制数据库SYSDBA帐号 4 1.1.1.4. 口令策略 5 1.1.1.5. ...

    SQL数据库安全管理文档

    1、 学习和掌握创建登录账号的方法。 2、 掌握创建数据库用户的方法。 3、 掌握语句级许可权限管理。 4、 掌握对象级许可权限管理

    oracle数据库管理与维护技术手册

    第九章 管理用户和安全性 第十章 监控数据库的表、索引、簇、快照和对象 第十一章 监控用户和其他数据库对象 第十二章 Oracle的性能优化 第十三章 数据库的内部优化 第十四章 管理分布式数据库 第十五章 Oracle的...

    数据库安全管理.pptx

    用户管理,Oracle的初始用户、创建查看修改用户,权限管理、权限的传递与收回、事务控制

    数据库安全综述

    本文从数据库安全的定义入手,对用户认证、存取控制、安全管理和数据库加密等数据库安全技术的几个方面进行了讨论,最后指出了数据库安全的发展趋势。

    数据库安全管理

    1.掌握建立和管理数据库登录帐户的方法 2.掌握建立和管理数据库用户的方法。 3.掌握权限管理的方法。

    数据库安全性策略详细介绍

    数据库安全性问题一直是围绕着数据库管理员的噩梦,数据库数据的丢失以及数据库被非法用户的侵入使得数据库管理员身心疲惫不堪。围绕数据库的安全性问题提出了一些安全性策略,希望对数据库管理员有所帮助。对于...

    建立用户组保证Oracle数据库安全性

    在操作系统下建立用户组是保证数据库安全性的一种有效方法。Oracle程序为了安全性目的一般分为两类:一类所有的用户都可执行,另一类只DBA可执行。在Unix环境下组设置的配置文件是/etc/group。保证安全性的几种方法...

    基于C语言的产品管理系统毕业设计,本项目将使用C语言和MySQL数据库开发,以确保系统的高效性和安全性

    用户管理 该功能将允许企业管理员管理系统用户。管理员将能够添加、查看、更新和删除用户信息,并将其分配到不同的角色中,以便实现更好的权限控制。 本项目将使用C语言和MySQL数据库开发,以确保系统的高效性和...

    数据库安全性及用户权限管理.ppt

    数据库安全性及用户权限管理

Global site tag (gtag.js) - Google Analytics