
# 行级访问控制
在业务开发过程中，存在多个用户共同访问和维护同一张表的场景，需要针对不同用户设置不同行数据的访问权限。例如只允许用户A查看跟自己相关的行数据，即相对于表的管理员能看到全部表数据而言，用户A执行SELECT \* FROM table_name的时候，只能看到部分行数据，不能看到所有，以行级进行数据访问控制，对此DWS行级访问控制特性实现了这一功能。将数据库访问控制精确到数据表行级别，使数据库达到行级访问控制的能力。不同用户执行相同的SQL查询操作，读取到的结果是不同的。
![](https://support.huaweicloud.com/productdesc-dws/figure/zh-cn_image_0000002617625581.png "点击放大")
用户可以在数据表创建行访问控制(Row Level Security)策略，该策略是指针对特定数据库用户、特定SQL操作生效的表达式。当数据库用户对数据表访问时，若SQL满足数据表特定的Row Level Security策略，在查询优化阶段将满足条件的表达式，按照属性(PERMISSIVE \| RESTRICTIVE)类型，通过AND或OR方式拼接，应用到执行计划上。
行级访问控制的目的是控制表中行级数据可见性，通过在数据表上预定义Filter，在查询优化阶段将满足条件的表达式应用到执行计划上，影响最终的执行结果。当前受影响的SQL语句包括SELECT，UPDATE，DELETE。
了解更多请参见[行级访问控制](https://support.huaweicloud.com/devg-dws/dws_04_0061.html)。
