预订演示
前页 后页

可见度级别

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

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

服务器2016(起)。

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

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

数据库/应用用户

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

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

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

这个怎么运作

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

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

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

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

缺点

与大多数事情一样,与没有启用可见性级别的相同模型相比,启用可见性级别需要成本。在这两种情况下的行级安全#

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

了解更多