将需要限制用户只能胡或看到特定的几个列、设置成一个视图,然后对这个视图进行权限控制
二、方式二:使用GRANT语句
1、授予相关列的查询权限(SELECT)
在数据库db1中,登录名UserA 只能有权限查询 Employee表 里面的BusinessEntityID, NationalIDNumber, LoginID三个字段权限,不裤激伍能查询其它字段
GRANT SELECT(BusinessEntityID, NationalIDNumber, LoginID) ON Employee TO UserA
2、授予相关列的修改权限(Update)
对于登录名UserB,只允许其修改 Address表铅毁 的AddressLine1,AddressLine2两个字段,其它字段不许修改
GRANT UPDATE(AddressLine1,AddressLine2) ON Address TO UserB
3.
DENY SELECT(Phone) ON T_SendSMSLog TO test 禁止某个用户查询某个表的某列
1、在数据库本机用使用cmd指令调出命令行窗口,再用 sqlplus / as sysdba登录到数据库中。并且用对要赋权限的表所有者连接数据库,否则后续赋权限会失败。
2、创建用户create user test identified by test123;创建test用户,密码设置为test123。
3、授权test用户的连接、资源权汪茄祥限。grant connect,resource to test。
4、指定表授权查询权限。grant select on user.tablename to tes。
5、用新建登录数据库进行验证,我们首先来试试delete删除数据的功能,结果报错无法执行,说明我们添加的用户没有删除权限。
6、困搏再来验证select查询功能,顺利查找到指定数据。新建用户并指定查询权限功能实现。同时查询没有赋权限的表,纳悄同样被拒。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)