问题标签 [row-level-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5048 浏览

java - 如何在 Java 中实现行级安全性?

我目前正在评估身份验证/授权框架。

Apache Shiro 似乎非常好,但我缺少行级安全功能。

例如,数据库中可能有一些特殊的行,只有具有特殊权限的用户才能看到和访问。为了避免不必要的往返,我们目前修改 SQL 查询以加入我们的授权数据,以仅获取当前用户的可见行。

但是这个概念对我来说并不“正确”,因为我们将业务代码与安全相关的代码混合在一起,这些代码应该是正交且相互独立的。

  • 有哪些可用/可能的解决方案?
  • 您如何实现行级安全性(尤其是与 jpa 结合使用)

更新:

目标数据库主要是 Oracle 10g/11g
- 但如果没有大的缺点,最好使用独立于数据库的解决方案

0 投票
1 回答
5439 浏览

sql-server - 在 SQL Server 2008 中实施行级安全性

是否有内置功能或方法来模拟 Oracle 中的 SQL Server 2008 中的 RLS(行级安全性)?

0 投票
2 回答
2226 浏览

mysql - Webapp:Mysql:行级安全。优点/缺点?更好的方法来做到这一点?

我正在尝试在使用 MySQL 开发的 webapp 上模拟行级安全性。

使用此方法:使用所需的表创建一个数据库,其中将存储与所有用户有关的数据,并对表的列进行适当的索引。

根据用户 ID 为特定用户创建 mysql“视图”。

为了实现行级安全性,我还必须为每个用户创建 mysql 帐户并设置视图的“授予”权限。

对于 Web 界面,将使用基于 PHP 的 MVC 框架。

但是,根据我的研究:

1] Having separate mysql account per user "make the webapp less secure".
2]Having separate mysql account per user "increases the disk I/O".

问题:
1] How does creating mysql user per webapp user make the webapp less secure?
2] Does the disk I/O increase considerably?
3] Is there a better way to implement row-level-security in MySQL?
4]What are the pros/cons of implementing row-level-security by the above method?

为什么我要查看行级安全性?
I need row level security because there are rows which will be shared between multiple users & have 1 or 2 owners to it. Only these owners can delete/modify them.

0 投票
1 回答
9494 浏览

sql-server - SQL Server 2012 中的行级安全性

SQL Server 2012 中的行级安全性有什么新东西吗?

在 2008 年及以下,唯一的方法是使用 Views,在 2012 年他们宣布了类似的东西Row Level Security in Tabular Models,这与表格上的 RLS 有什么关系吗?

2012年RLS有什么消息吗?

0 投票
1 回答
546 浏览

django - Django,当我们有不同的角色时使用/设计一个行级权限系统

我正在开发一个学习管理系统。

该系统有几个演员,如学生、导师、管理员、院长等。现在,我需要一个可以处理不同角色的权限系统(学生可以将课程添加到他们的购物篮,导师可以 CRUD 课程,管理员也可以访问财务部分以及等等)

根据我的研究,我需要一些可以处理不同角色的行级权限系统。我见过一些类似的应用程序django-guardian djang-permissions django-rulez,等等。但仍然对如何基于它们设计角色感到困惑(它们没有很好的文档记录)。

任何人都可以给我一个提示来完成这项痛苦的工作吗?

0 投票
2 回答
1750 浏览

sql-server-2008 - SQL Server 行级安全性 - 多对多

我们使用的是 SQL Server 2008,并在 Active Directory (AD) 中设置了权限。核心表中的每一行只需要那些有权查看每一行的人才能查看。我可以在每一行上设置行级安全性(每一行包含一个与 AD 组对齐的角色),但是我有以下问题:-

  • 因为这些角色代表国家,所以我有 100 个角色。此外,我有一些用户可以访问多个角色......并且给定用户可以访问的几个角色没有一致地分组(即存在重叠):因此用户角色是多对多关系

在这种情况下(为了启用灵活的模型),我的第一反应是为每个国家创建一个 AD 组,然后在数据库角色中创建分组(对每个国家进行分组)。但是,这将是维护开销 - 例如,有许多工作人员可以访问所有组,因此当一个国家/地区上线时,会创建一个新的 AD 组,这意味着我必须请求将这些用户作为成员添加到新的 AD 组(以及需要将新的全局用户添加到所有组) - 我宁愿有一个可以全面访问的全局组。

有没有人遇到过这种问题。基本上,如果我只有非常精细的 AD 组,我可以在数据库角色级别内容纳多对多,但是我宁愿拥有精细的 AD 组(对于那些需要精细权限的用户)以及用于那些的全局 AD 组需要访问所有行的用户(我只需要添加具有全局访问权限的用户)

0 投票
2 回答
2598 浏览

postgresql - PostgreSQL SELECT-RULES ,继承,行级权限

这是我一直在阅读的内容:

我的目标是允许登录只看到它“拥有”的那些,可以这么说。

假设数据库中的每个表都继承自该表:

例如:

PostgreSQL 中是否存在模式级选择规则这样的东西,它会影响模式中的所有表和视图,它会在每个选择、插入、更新或删除语句中附加一个条件,实际上是,..AND WHERE TENANT = current_user?如果没有这样的全局规则,是否可以逐表完成?我的尝试没有任何成功,并且可能误解了一些关于如何创建规则的事情。这是我尝试做的事情:

我尝试创建一个选择规则:

但得到这个错误:ERROR: could not convert table "foo" to a view because it has indexes

我尝试创建一个带有安全屏障的视图:

然后尝试插入:

但得到这个错误:

在表上实现行级安全屏障需要哪些步骤?

0 投票
1 回答
2740 浏览

oracle - Performance implications of using (DBMS_RLS) Oracle Row Level Security(RLS)?

If we use Oracle Row Level Security(RLS) to hide some records - Are there any Performance Implications - will it slow down my SQL Queries? The Oracle Package for this is: DBMS_RLS.

I plan to add: IS_HISTORICAL=T/F to some tables. And then using RLS, hide the records which have value of IS_HISTORICAL=T.

The SQL Queries we use in application are quite complex, with inner/outer joins, subqueries, correlated subqueries etc.

Of the 200 odd tables, about 50 of them will have this RLS Policy (to hide records by IS_HISTORICAL=T) applied on them. Rest of the 150 tables are child tables of these 50 Tables, so RLS is implicit on them.

Any License implications?

Thanks.

0 投票
3 回答
2840 浏览

php - Laravel 4 中的行级 ACL

是否可以在 Laravel 4 中创建行级身份验证?是否有任何捆绑或包装?

0 投票
1 回答
53 浏览

oracle - 在函数中使用 SA_USER_NAME

我试图创建一个像这样的简单函数,但它不起作用。返回数据,但与没有策略相同。

我会将此函数与 VPD 策略一起使用,因此当用户从表中选择时,他们只能选择他们的行。