【问题标题】:When is row level security supplied with SQL Server?SQL Server 何时提供行级安全性?
【发布时间】:2021-10-12 17:14:07
【问题描述】:

如果您有一个包含子查询、连接等的复杂查询,行级安全性是在 SQL 执行期间应用还是在最终结果集上应用?

【问题讨论】:

    标签: sql-server row-level-security


    【解决方案1】:

    访问数据时,会评估行级安全性 (RLS)。请参阅每次尝试从任何层访问数据时,数据库系统都会应用访问限制。

    访问限制逻辑位于数据库层,而不是远离另一个应用层中的数据。每次尝试从任何层访问数据时,数据库系统都会应用访问限制。通过减少安全系统的表面积,这使您的安全系统更加可靠和强大。

    根据http://sharewithpals.com/articles/637dd719/Steps-to-configure-row-level-security-in-SQL-Server-2016

    在执行 select 语句时,会根据查询的执行上下文过滤行。

    根据https://www.sqlshack.com/introduction-to-row-level-security-in-sql-server/

    SQL Server 中的行级安全性用于在数据库级别限制用户,而不是在应用程序级别处理限制。每次对表执行查询时,数据库都会应用此访问控制,而与任何应用程序层无关。

    【讨论】:

    • 所以不只在最终结果集上?
    • @thebluephantom 正确,仅针对最终结果集。碰巧select 将申请/授予 RLS,您的最终结果将反映这一点。
    猜你喜欢
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 2019-10-15
    • 1970-01-01
    • 2019-02-25
    • 2021-09-22
    • 2020-05-06
    • 1970-01-01
    相关资源
    最近更新 更多