预订演示
前页 后页

可见性级别

Enterprise Architect中的“可见性级别”特征提供了限制对模型某些部分的访问的能力。只有由专业云服务器托管的模型才能使用此特征。可见性级别是通过利用 Oracle 8+ 和 Microsoft #

中包含的行级安全特征来实现的#

服务器年(以后)。

行级安全是一种安全特征,用于控制单个数据库用户可以访问哪些数据行。传统的数据库安全性仅提供在表级别控制用户权限的能力;也就是说,他们是否可以读取、写入或删除特定表中的数据?由于行级安全功能由数据库实现,因此用户无法通过编写自己的脚本或数据库查询来绕过在应用程序级别实现的安全性。数据库确保用户只能查看和更新他们有权访问的数据。

鉴于行级安全是由数据库实现的, Enterprise Architect和支持它的专业云服务器的大部分配置都是直接在数据库中执行的,而无需更改应用程序代码库,这意味着从应用程序的角度来看出错的可能性更小。

数据库/应用程序用户

理解数据库用户和应用程序用户之间的区别至关重要。简介中指出,可见性级别基于数据库用户权限。在Sparx Systems专业云服务器环境中,每个数据库管理员都定义了其与给定数据库的所有连接详细信息(包括用户 ID 和密码)。可见性级别所基于的是数据库用户(即连接详细信息中标识的用户)。

此概念请勿与Enterprise Architect模型用户混淆;Enterprise Architect 模型用户是指访问启用安全功能的模型时输入的用户 ID/密码。这是一个应用程序用户。

注记: Enterprise Architect的模型安全性不是强制性的,而所有 DBMS 都要求定义数据库用户才能访问数据库中的数据。

工作原理

除了常规权限外,数据库用户还被授予一个或多个可见性级别的访问权限。Enterprise Enterprise Architect数据库的 24 个关键库表中添加了A新列 VIS_LVL(可见性级别)。此列存储查看或更新相应记录所需的可见性级别。

对于每个库表,都定义了一个安全策略,以确保每个数据库用户只能看到其分配的可见性级别有权查看的记录。

然后使用数据库触发器来维护所有子对象和元素的所有库表中 VIS_LVL 列的值。例如,在Enterprise Architect的浏览器窗口中设置某个包的可见性级别,将会把选定的包及其所有子包更新为输入的可见性级别。

注记: Sparx Systems提供的基础脚本支持 20 个安全级别(即1到 20);但是,可以通过手动更改脚本开头 T_VISIBILITYLEVELS表中插入的行数来轻松调整。级别 0 是一个特例,代表默认值;这意味着所有数据库用户(即使未分配可见性级别的用户)都可以查看或更新此级别的记录。

缺点

与大多数情况一样,与未启用可见性级别的相同模型相比,启用可见性级别需要付出一定的成本。行级安全在#

每次选择数据时,Oracle 都会对数据库服务器进行额外的处理。这种额外处理对数据库性能的影响很难估计,因为它取决于所选数据的类型和数量。Enterprise Enterprise Architect对可见性级别的支持在设计时就考虑到了效率;然而,启用可见性级别后,性能将不可避免地会降低。

了解更多