`
zsjg13
  • 浏览: 144977 次
  • 性别: 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命令来确保锁定该用户:

 

分享到:
评论

相关推荐

    数据库安全管理.ppt

    数据库安全管理是一种重要的IT技术,涉及到数据库的用户管理、权限管理、角色管理、概要文件管理和审计等多个方面。以下是数据库安全管理的相关知识点: 一、用户管理 用户管理是数据库安全管理的基础,涉及到用户...

    数据库安全配置指南.docx

    数据库安全配置指南中涵盖了多个方面的内容,包括数据库系统配置管理责任、数据库环境安全、数据库系统安装、启动与更新、帐户安全和口令策略、访问控制、数据库对象安全、备份与恢复、日志及监控审计等。...

    实验三 数据库安全性技术.doc )

    数据库安全性技术是数据库管理系统中非常重要的一部分。实验三数据库安全性技术的主要目的是让学生理解安全性的概念,掌握 Oracle 的安全性技术,系统权限及对象权限的授予和回收方法。 一、数据库安全性概述 ...

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

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

    oracle数据库用户管理

    总的来说,Oracle数据库用户管理涵盖了从创建用户、设置权限、管理密码生命周期到监控和调整用户资源使用等多个方面,确保了数据库环境的安全和高效运行。通过熟练掌握这些管理技巧,数据库管理员可以有效地保护数据...

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

    在"2022年数据库安全管理用户管理"的主题中,我们聚焦于如何有效地管理数据库的访问权限,以防止未经授权的访问和操作。 首先,身份验证模式是确保数据库安全的第一道防线。SQL Server支持多种身份验证模式,包括...

    安华金和数据库安全审计系统.pdf

    它的主要功能包括数据库操作、访问用户及外部应用用户的审计,可以用于安全合规、用户行为分析、运维监控、风控审计、事件追溯等与数据库安全相关的管理活动。这款系统具备全面、准确、高效的数据库监控告警和审计...

    数据库事务报告之数据库安全管理

    通过实验,学生可以实际操作这些概念,加深对数据库安全管理的理解,包括设计数据库、设置权限、创建和管理用户、角色、表、视图,以及执行T-SQL命令进行数据操作。这不仅锻炼了理论知识,也提高了实际操作技能,为...

    国家开放大学 数据库运维 形考3 数据库安全性与完整性控制实验

    本实验对数据库安全性和完整性控制的各个方面进行了详细的实验和分析,为数据库管理员和开发人员提供了有价值的参考和借鉴。同时,本实验也强调了数据库安全性和完整性控制的重要性,旨在提高数据库系统的安全性和...

    数据库原理与应用A实验管理-数据库安全管理.doc

    数据库安全管理的主要目的是保护数据库中的数据免受非法访问和篡改,以确保数据库的安全和可靠性。本实验的目的旨在掌握 SQL Server 2005 数据库安全管理的基本概念和操作步骤。 实验步骤与源程序 1. 实验步骤 本...

    SQL Server 数据库用户管理

    综上所述,SQL Server的数据库用户管理是一个关键的安全层面,涵盖了用户创建、权限分配、角色管理和用户维护等多个方面。理解并熟练运用这些概念对于保障数据安全至关重要,特别是对于大型数据库应用来说。通过合理...

    数据库原理与应用a实验管理-数据库安全管理制度.doc

    数据库安全管理制度 数据库安全管理是数据库管理系统的重要组成部分,它旨在保护数据库免受未经授权的访问、修改或破坏。...此外,我还了解了数据库安全管理的重要性和实施数据库安全管理的必要性。

    数据库原理及应用安全管理

    综上所述,数据库安全管理涉及用户创建、权限分配和权限回收。通过SQL Server企业管理器和SQL语句,我们可以实现对数据库用户的精细控制,确保数据安全。理解并掌握这些操作对于数据库管理员来说是必备技能,有助于...

    数据库安全风险评估系统.pptx

    数据库安全风险评估系统 数据库安全风险评估系统是为了...数据库安全风险评估系统是数据库安全管理的重要组成部分,可以帮助用户降低数据库安全风险,保护数据库免受各种安全威胁和攻击,提高数据库的安全性和可靠性。

    达梦数据库+数据库安全+安全管理+DM8安全管理.pdf

    数据库安全管理是指采取各种安全措施对数据库及其相关文件和数据进行保护。数据库 系统的重要指标之一是确保系统安全,以各种防范措施防止非授权使用数据库,主要通过数 据库管理系统进行实现。数据库系统中一般采用...

    瀚高数据库管理工具瀚高数据库管理工具

    6. 安全管理:管理数据库用户的权限,设置访问控制,确保数据的安全性和合规性。 7. 备份与恢复:提供数据库备份和恢复功能,支持全量备份和增量备份,确保数据在异常情况下的可恢复性。 8. 日志管理:查看和分析...

    信息安全技术数据库管理系统安全技术要求.pdf

    数据库系统管理员和安全专家需关注上述几点,并将它们融入到实际的数据库安全管理实践中,确保数据库能够抵御各种威胁,保护企业数据资产的安全。此外,遵循相关的国家标准规范,并配合定期的安全检查和培训,对于...

Global site tag (gtag.js) - Google Analytics