数据库并发使用和安全性

数据库可以是许多用户的公共资源。多个用户可以同时查询和修改一个数据库。数据库服务器(管理所有数据库的内容的程序)确保查询和修改顺序完成而不会产生冲突。数据库并发用户具有许多优点,但也引入了新的安全性和隐私问题。某些数据库是专用的,是个人建立以供自己使用的。其它一些数据库包含必须共享(但仅在受限组中共享)的机密材料;还有其它数据库提供公用访问权。

1.控制数据库使用 控制数据库使用GBase 8s 数据库软件提供控制数据库使用的方法。

当您设计数据库时,可以执行以下任何功能:
• 使数据库完全专用
• 对所有用户或选择的用户开放其全部内容
• 限制某些用户可以查看的数据选择(不同的数据选择适用于不同的用户组)
• 允许指定的用户查看特定项,但不能修改它们
• 允许指定的用户添加新数据,但不能修改旧数据
• 允许指定的用户更修改全部现有数据或现有数据的指定项
• 确保添加或修改的数据符合数据模型

访问管理策略 访问管理策略
GBase 8s 支持两种访问管理系统:
基于标签的访问控制(LBAC )基于标签的访问控制是强制访问控制的实现。它通常在存储高度敏感数据的存储库中,如由军队或保安服务公司保卫的系统。与 LBAC 相关的 GBase 8s 的主要文档是GBase 8s 安全指南 。GBase 8s SQL 指南:语法 描述了数据库管理员(DBSA)如何创建和维护 LBAC 安全对象,此类管理员必须被授授予(DBSECADM)角色,并且该角色只能由数据库系统管理员(DBSA)授予。自主访问控制(DAC )自主访问控制是更为简单的系统,涉及的开销少于 LABC 。根据访问特权和角色,DAC 在所有的 GBase 8s 数据库中都启用,包括实现 LBAC 的数据库。创建和授予角色 创建和授予角色为了支持 DAC,数据库管理员(DBA)可以定义角色并将角色指定给用户。从而对需要访
问相同数据库对象的用户组的访问特权进行标准化。当 DBA 将特权指定给角色时,一旦激活该角色,被授予该角色的每个用户都具有这些特权。为了激活特定角色,用户必须发出 SET ROLE 语句。用于定义和操纵角色的 SQL 语句包括CREATE ROLE 、DROPROLE 、GRANT 、REVOKE 和 SET ROLE。有关定义和操作角色的 SQL 语法语句,请参阅《GBase 8s SQL 指南:语法》。

创建和授予角色:
1. 使用 CREATE ROLE 语句在当前数据库中创建新的角色。
2. 使用 GRANT 语句将访问特权授予该角色。
3. 使用 GRANT 语句将角色授予用户或 PUBLIC (所有用户)。
4. 用户必须发出 SET ROLE 语句来启用该角色。
为缺省角色定义和授予特权 为缺省角色定义和授予特权DBA 还可以定义一个缺省角色以将该角色分配给特定数据库的单个用户或 PUBLIC 组。当用户与该数据库建立连接后,不需要用户发出 SET ROLE 语句,该角色将自动激活。在
连接时,拥有缺省角色的每个用户都具有单独为该用户授予的访问特权以及缺省角色的特权。对于给定用户,在给定时间内只有一个 CREATE ROLE 语句定义的角色可以生效。如果同时拥有缺省角色和一个或多个其它角色的用户使用 SET ROLE 语句使非缺省角色成为活动角色,那么仅授予缺省角色(不单独对用户,对 PUBLIC 或对新活动角色授予)的任何访问特权该用户将不再有效。同一用户可以发出 SET ROLE DEFAULT语句重新激活缺省角色,但该操作会禁用用户仅通过先前启用的非缺省角色而拥有的任何特权。如果为用户和 PUBLIC 指定了不同的缺省角色,那么用户的缺省角色优先。
为缺省角色定义和授予特权:
1. 使用 CREATE ROLE 语句在当前数据库中创建一个新角色。
2. 使用 GRANT 语句将特权授予该角色。
3. 使用以下语法将角色授予一个用户,并将该角色设置为缺省用户或 PUBLIC 角色:
ₒ GRANT DEFAULT ROLE rolename TO username;
ₒ GRANT DEFAULT ROLE rolename TO PUBLIC;
4. 使用 REVOKE DEFAULT ROLE 语句取消缺省角色到用户的关联。限制: 只有 DBA 或数据库所有者才能移除该缺省角色。
5. 使用 SET ROLE DEFAULT 语句将当前角色复位为缺省角色。
内置角色 内置角色出于安全原因,GBase 8s 支持内置角色,这些角色对于被授予该角色且连接到数据库的任何用户都生效,而与任何其他角色是否也处于活动状态无关。例如,在 IFX_EXTEND_ROLE 配置参数设置为 ON 的数据库中,只有数据库服务器管理员(DBSA)或 DBSA 已授予内置 EXTEND 角色的用户才可以创建或删除使用EXTERNAL 关键字定义的 UDR 。

同样,在实现 LBAC 安全策略的数据库中,DBSA 可以授予内置 DBSECADM 角色。该角色的被授予者成为数据库安全管理员,可以定义并实现 LBAC 安全策略并可以为数据和用户指定安全标签。与用户定义的角色不同,内置角色无法被 DROP ROLE 语句删除。SET ROLE 语句对内置角色无效,因为在用户连接到它们已被授予内置角色的数据库期间,该角色始终处于活动状态。有关定义和操纵角色的外部例程引用段或 SQL 语句的更多信息,请参阅《GBase 8s SQL指南:语法》。有关定义和操纵 LBAC 安全对象的 DBSECADM 角色或 SQL 语句的更多信息,请参阅

《GBase 8s 安全指南》。
有关缺省角色的更多信息,请参阅《GBase 8s 管理员指南》。

2 .集中管理
许多人使用的数据库都很有价值,必须将它们作为重要的企业资源来保护。当编译由价值
数据的存储并同时允许许多职员访问这些数据时,会产生严重问题。通过在维护性能时保
护数据来解决此问题,数据库服务器允许您将这些任务集中。
必须保护数据库,以免数据库丢失或遭到破坏。很多情况都可以对数据库构成威胁:软件
和硬件故障以及火灾、水灾和其它自然灾害。丢失重要的数据库可能会带来巨大的破坏。
破坏可能不仅包括重新创建丢失数据的支出和困难,而且包括数据库用户的生产时间损失
以及用户不能工作时失去的业务和信誉。定期备份的计划可能帮助避免或减轻这些可能的
灾难。
必须维护和调整许多人使用的大型数据库。必须有人监视系统资源的使用状况、列出其增
长图表、预计瓶颈并计划数据库的扩展。用户将报告应用程序中的问题;必须有人诊断这
些问题并更正它们。如果快速响应很重要,那么必须有人分析系统的性能并找出响应慢的
原因。

Guess you like

Origin blog.csdn.net/weixin_62941622/article/details/121927471