`
gzycnet
  • 浏览: 32457 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

Oracle 与MSSQL数据库安全PK

阅读更多
    SQL Server和Oracle在数据安全方面最大的一个区别就是访问SQL Server数据库需要经过两步才能完成。在实例级别,SQL Server维护了一个称为登录名(login)的用户帐户列表。在登录名列表中的用户才有权限连接到这个实例,然后用户要访问某个数据库的时候还需要在这个数据库中有一个与登录名对应的用户(user)才行。SQL Server的登录名可以是Windows或是活动目录帐号、有效证书或者是非对称密钥(asymmetric key),登录名也可以是和Windows完全无关的:DBA可以在SQL Server中创建一个用户并且指定一个密码给这个用户,前一类由AD帐号对应的登录名被称为信任(trusted)帐户,后一类登录名称为非信任(non-trusted)帐号。

    在Oracle中没有信任与不信任帐户这一说,Oracle中的用户帐户只需要创建一次,不像SQL Server的是Oracle不会将操作系统帐户映射到数据库当中。(译注:实际上Oracle中有种称为OPS$的帐号是和操作系统帐号关联的。)

    SQL Server安装之后会自动的创建一个特别的非信任帐号名叫sa(System Administrator的缩写)。sa是一个内置的管理帐号,是实例中所有数据库的所有者,同时还具有数据库的最高权限:sa可以创建、更改或删除登陆名和数据库,修改系统配置,关闭实例或是给其它的用户授予系统管理员的权限。除了这个系统级的sa之外,每个数据库还有一个DBO或称数据库所有者帐户。这个用户会和创建这个数据库的系统级别的主体(pricipal)关联在一起。数据库的所有者对自己的数据库拥有完全的权限,不过这个数据库之外的就不一定了。

    Oracle数据创建的时候差不多创建十来个系统界别的账户。默认情况下这写账户中只有四个可用,其它的帐号都被设置成了锁定或是设置为过期状态,这四个帐户就是SYS,SYSTEM,SYSMAN,DBSNMP。这里面的SYS和SYSTEM类似于SQL Server的sa。SYS是数据字典(Oracle数据字典建立在SYS架构之下)的所有者,SYSTEM帐户有着访问数据库中所有对象的权限。

    除了sa帐户之外,SQL Server还有一些内置的固定服务器角色(fixed server roles),这些角色和Windows的用户组一样:可以包含一个或者多个登录名。每个角色都有着一套权限,角色里面包含的登录名在整个服务器中有着相同级别的权限。最高权限的服务器角色就是sysadmin了,它和sa的权限是一样的。在Oracle中同样权限的角色是DBA,还有,被赋予SYSDBA和SYSOPER权限的用户也能执行一些诸如启动关闭数据库这样操作的权限。

    之前说过SQL Server登录名可以是信任的(Windows帐户)和非信任的,同样的,SQL Server用户也可以做同样的分类:信任的和非信任的。当使用信任帐户(或称Windows帐户)验证时,SQL Server依赖于Windows操作系统执行验证操作,如果用户是一个有效的域帐户或者是本地帐户,SQL Server则不需要它再次提供用户名和密码。使用非信任帐户验证时,SQL Server则要求用户提供的用户名和密码,然后用数据库内部维护的合法用户列表进行对比验证。
分享到:
评论

相关推荐

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色。  DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE这些角色...

    sql脚本查询数据库表,数据,结构,约束等操作的方法

    在数据库管理和开发过程中,SQL脚本是一种强大的工具,用于查询、更新和管理数据库中的信息。...在实际应用中,根据不同的数据库管理系统(如MySQL、PostgreSQL、Oracle等),可能需要调整相应的系统视图和函数。

    DBLINK 无统计信息导致SQL变慢

    在Oracle数据库环境中,DBLINK(Database Link)是一种用于在不同数据库实例之间建立连接的机制,允许用户在不同的数据库之间执行分布式查询。在这个特定的问题中,SQL查询变慢的原因是由于DBLINK缺乏相应的统计信息...

    测试人员要掌握的SQL(上)

    EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'; -- 执行备份 BACKUP DATABASE pubs TO testBack; ``` - **语法说明**:首先需要创建一个备份设备,然后使用`BACKUP DATABASE`...

    mssql2005,2008导出数据字典实现方法

    在SQL Server 2005和2008中,数据字典是系统用来存储元数据的...同时,如果你需要对其他数据库系统(如Oracle或MySQL)进行类似操作,也可以找到相应系统的数据字典查询方法,这些在你提供的标签和部分内容中有所提及。

    经典SQL语句大全,基础、提升、数据开发-经典、SQL Server基本函数

    ### 经典SQL语句大全:基础篇与进阶篇 #### 一、基础操作 **1. 创建数据库** ```sql CREATE DATABASE database-name; ``` 这条语句用于创建一个新的数据库,其中`database-name`是你想要创建的数据库的名称。 *...

    SQL操作全集,实用!

    SQL被广泛应用于各种数据库系统中,如Microsoft SQL Server、Oracle、MySQL等。根据功能的不同,SQL可以分为以下几个主要类别: - **DDL(Data Definition Language,数据定义语言)**:用于定义数据库结构。 - **...

    轻松掌握SQL轻松掌握SQL轻松掌握SQL

    它被广泛应用于各种数据库系统中,如MySQL、Oracle、Microsoft SQL Server等。SQL主要分为四个部分:DDL(数据定义语言)、DML(数据操作语言)、DCL(数据控制语言)以及DQL(数据查询语言)。本文将详细介绍这些...

Global site tag (gtag.js) - Google Analytics