数据库系统的安全性和完整性有什么区别和联系?

发布网友 发布时间:2022-04-23 14:57

我来回答

6个回答

懂视网 时间:2022-04-08 02:25

> on <relation name or view name> to <user list>;

包括了:

  • select
  • insert
  • update
  • delete
  • references,即外键声明权限
  • usage,允许使用特殊的域(某些自定义域?)
  • all privileges,即所有可能的权限
  • with grant option(后缀),即对某操作的授权权力
  • 可以是以下三种格式:

  • user-id:用户唯一标识编号
  • public:所有有效用户
  • role:角色
  • 角色(Role)是SQL-99中引入的概念,它用于用户组别权限管理和权限层次管理(by the way,这两个是根据我理解自己造的词)

    我们先看一个role分配权限的例子:

    create role worker;
    create role manager;
    
    grant select on Staff_Account to worker;
    grant update, insert, delete on Staff_Account to manager;
    
    grant worker to manager;
    
    grant worker to U1, U2, U3;
    grant manager to U0;

    create role worker;create role manager;创建普通员工和经理两个角色,接着授予普通员工在表Staff_Account上的select权限,然后授予经理在表Staff_Account上的update、insert和delete权限

    接下来grant worker to manager;是角色间的授权,也就是把worker的所有权力都赋予manager,然后最后授予U1、U2、U3普通员工的角色以及授予U0经理的角色(即赋予他们相应角色的权利)

    那么上例中,

    用户组别权限管理是指把现实身份相同的U1、U2、U3分成一组,直接分配给他们worker的权力。那么如果新来一个普通员工U4就不必再去思考赋予给他什么权力而是直接授予他worker的身份即可。涉及多个表的不同的权限分配可能会很复杂,我们只用对同一个组别的统一的身份授权,再去管理用户身份即可管理复杂的权限分配。
    
    而权限层次管理是利用用户现实身份的层次关系,借助面对对象设计中继承的思想来划分权限的层次,让权限层次清晰分明的管理方法。具体到上例来说就是经理也是员工,只是是特殊身份的员工,那么manager身份的人可以继承worker身份已经分配的权力。权限层次管理的好处在于让我们对待manager角色时只需要考虑他的特殊权限即可。
    

    另外需要注意的是,授予关于视图的权限并不意味着授予其基本表的响应权限

    (2)取消授权

    SQL取消授权的基础语法是:

    revoke <privilege list> on <relation name or view name> from <user list> [restrict|cascade];

    和和上小节定义一致,而restrict()和cascade(级联)后缀的含义和我们在学习外键时的含义相同:restrict就是不向后传播,cascade就是说用户X授予Y权限A,一旦revoke了X的A权限那么Y的A权限也被取消

    (3)SQL权限管理的局限性

    SQL的权限管理有自己的缺陷,其中主要有:

  • 权限的粒度不够细化,即无法细致到某个关系中某个元组的权限:比如学生只能查看成绩表中自己的成绩,这个需求SQL的权限管理就无法很好的满足
  • 某一个应用的所有端系统用户都映射到同一个数据库用户,即角色划分很难根据用户定制
  • 7.4 其他安全管理措施

    还有一个常见的数据库安全管理措施叫做审计跟踪(Audit Trail),即DBMS在特殊文件或数据库中记录每个用户的具体操作,那么DBA可以查看记录是否越权等,在数据库恢复中我们也经常使用审计跟踪的手段(见后续章节)

    数据库复习5——安全性

    标签:数据库   安全性   sql   sql权限管理   

    热心网友 时间:2022-04-07 23:33

    一、不同点

    1、内容不同

    数据库完整性是指数据的正确性和相容性。

    数据库安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更改或破坏。

    2、对象不同

    数据库安全性的防范对象是非法的操作和未授权的用户。

    数据库完整性的防范对象是不符合语义的数据。

    二、相同点是两者都是对数据库中的数据进行控制,各自所实现的功能目标不同。


    扩展资料

    数据库系统安全主要利用在系统级控制数据库的存取和使用的机制,包含:

    (1) 系统的安全设置及管理,包括法律法规、*制度、实体安全等;

    (2) 数据库的访问控制和权限管理;

    (3) 用户的资源*,包括访问、使用、存取、维护与管理等;

    (4) 系统运行安全及用户可执行的系统操作;

    (5) 数据库审计有效性;

    (6) 用户对象可用的磁盘空间及数量。

    热心网友 时间:2022-04-08 00:51

    数据库系统的安全性和完整性有3点不同。相关介绍具体如下:

    一、两者的分类不同:

    1、数据库系统安全性的分类:一般数据库系统安全涉及5个层次,即用户层、物理层、网络层、操作系统层、数据库系统层。

    2、数据库系统完整性的分类:数据库完整性约束可分为6类,即列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束、关系级动态约束。动态约束通常由应用软件来实现。不同DBMS支持的数据库完整性基本相同。

    二、两者的实质不同:

    1、数据库系统安全性的实质:为数据库系统采取的安全保护措施,防止系统软件和其中数据遭到破坏、更改和泄漏。

    2、数据库系统完整性的实质:数据库中数据在逻辑上的一致性、正确性、有效性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。

    三、两者的相关途径不同:

    1、数据库系统安全性的相关途径:主要通过DBMS实现的。数据库系统中一般采用用户标识和鉴别、存取控制、视图以及密码存储等技术进行安全控制。

    2、数据库系统完整性的相关途径:可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。通过DBMS实现的数据库完整性按照数据库设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计。

    参考资料来源:百度百科-数据库完整性

    参考资料来源:百度百科-数据库系统安全

    热心网友 时间:2022-04-08 02:26

    数据的完整性和安全性是两个不同的概念,但是有一定的联系。
    前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出( Garbage In Garbage out )所造成的无效操作和错误结果。
    后者是保护数据库防止恶意的破坏和非法的存取。
    也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

    热心网友 时间:2022-04-08 04:17

    数据的安全性是指数据库是否容易攻破。数据的完整性是指两个表之间的完整连接,比如销售单的业务员与人员资料关联,如果把把关联的人员资料给删除了,那销售单的业务员就变成空白了,这样数据就没有了完整性

    热心网友 时间:2022-04-08 06:25

    数据防泄复密软件分为免费的单机共享加密软件和网络版企业级的防泄密软件,企业级的防泄密软件又分为驱动层加密算法的防泄密制软件和应用层加密算法的防泄密软件。海宇安全软件的数据安全包含 文件透明加解密、内部文件流转、密级管控、离线管理、文件外发管理、灵活的审批流程、工作模式切换、服务器白名单等功能,从根本上严防信息外泄,保障信息安全

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com