[大数据检索数据库也要权限管理]-YupDB权限管理功能简介

在程序员圈子中流传着一句笑谈-[从入门到删库跑路],虽然是一句玩笑话,但数据丢失所造成的后果是公司和企业所不能接受的,为了避免造成数据损失和数据泄露,业内一般会有如下两个解决思路:

  1. 一是完善的权限管理,让运维人员删不了库。
  2. 二是有效的审批机制,就算非要删库,也必须先向上级申请审批。

在保证数据安全和分级管理方面,YupDB提供了权限管理功能,接下来给大家简单介绍一下权限管理功能的具体情况和如何使用。

在YupDB的用户中使用“一人管理,其他人使用”的设计思路。其中admin用户为超级管理员,具备建用户、建角色、建表、向表内加载数据,删除等所有的操作权限。有且只有admin 用户具备这些操作。新添加的用户只有查询数据的权限。
YupDB支持细粒度的行权限和列权限控制,一条语句即可轻松赋值,并且在行列权限限制的基础上支持用户和角色的概念,细化权限划分,简单易用。

下面给大家介绍一下权限管理功能该如何使用

创建用户及角色

  1. 首先我们使用admin账户登录YupDB,密码为admin
  2. 创建一个用户 ,账户名为:user_yupdb 密码为:password123
    YCREATE USER user_yupdb IDENTIFIED BY password123;
    在这里插入图片描述
    修改密码为 YUPDATE YUPDBPASSWORD 用户名=密码;
    YUPDATE YUPDBPASSWORD user_yupdb=passwordchange;
    在这里插入图片描述
  3. 列出所有用户
    YLIST USER;
    在这里插入图片描述
  4. 创建一个角色
    YCREATE ROLE role_yupdb;
    在这里插入图片描述
  5. 列出所有角色
    YLIST ROLE;
    在这里插入图片描述

为用户和角色赋权

为用户赋权

  1. 赋予用户查询指定表指定字段的权限
YGRANT select(yupdb_example_quickstart  (phonenum, yupdb_sex, yupdb_age, yupdb_earn, yupdb_prefer)) to USER user_yupdb;

在这里插入图片描述
查看用户权限信息

YSHOW YGRANT USER user_yupdb;

在这里插入图片描述
使用user_yupdb用户查询该表数据
在这里插入图片描述
我们从上图可以看到,虽然执行的是全表查询,但仅返回了该用户拥有查询权限的五个字段。
2. 赋予用户查询指定表指定字段符合条件数据的权限

YGRANT select(yupdb_example_quickstart  (phonenum, yupdb_sex, yupdb_age, yupdb_earn, yupdb_prefer where yupdb_sex='女' and yupdb_age='20到30岁') ) to USER user_yupdb;

在这里插入图片描述
查询结果
在这里插入图片描述
查询无权访问的数据
在这里插入图片描述
从上图可以看出当用户查询无权限访问的数据,将查询不到这部分数据。
3. 赋予用户查询指定多个表符合条件的数据的权限

YGRANT select(yupdb_example_quickstart  (phonenum, yupdb_sex, yupdb_age, yupdb_earn, yupdb_prefer where yupdb_sex='女' and yupdb_age='20到30岁'),yupdb_broadcast_demo (phonenum,yupdb_sex where yupdb_sex ='男') ) to USER user_yupdb;
  1. 赋予用户查询指定表的全部权限
YGRANT select(yupdb_example_quickstart) to USER user_yupdb;

为角色授权

  1. 赋予角色查询指定表指定字段的权限
YGRANT select(yupdb_example_quickstart  (phonenum, yupdb_sex, yupdb_age, yupdb_earn, yupdb_prefer)) to ROLE role_yupdb;
  1. 赋予角色查询指定表指定字段符合条件数据的权限
YGRANT select(yupdb_example_quickstart  (phonenum, yupdb_sex, yupdb_age, yupdb_earn, yupdb_prefer where yupdb_sex='女' and yupdb_age='20到30岁') ) to ROLE role_yupdb;
  1. 赋予角色查询指定多个表符合条件的数据的权限
YGRANT select(yupdb_example_quickstart  (phonenum, yupdb_sex, yupdb_age, yupdb_earn, yupdb_prefer where yupdb_sex='女' and yupdb_age='20到30岁'),tt002 (name, sex where sex='男') ) to ROLE role_yupdb;
  1. 赋予角色查询指定表的全部权限
YGRANT select(yupdb_example_quickstart) to ROLE role_yupdb;
  1. 为用户添加角色
    YGRANT 角色名 TO 用户名;
YGRANT role_yupdb To user_yupdb;
  1. 查看角色权限
    YSHOW YGRANT ROLE 角色名;
YSHOW YGRANT ROLE role_yupdb;
  1. 查看用户权限
    YSHOW YGRANT USER 用户名;
YSHOW YGRANT USER user_yupdb;

为用户和角色减权

YREVOKE 权限类型 [表名] FROM [ROLE|USER] 用户或角色名
YREVOKE 将会将用户或者角色对于某一张表的某种权限全部取消,例如用户现有 Select cola from tablea where cola >10 的权限 YREVOKE select 之后将会使授权的相关条件全部取消

  1. 为用户减权
YREVOKE select(yupdb_example_quickstart,tt002 ) to  USER user_yupdb;
  1. 为角色减权
YREVOKE select(yupdb_example_quickstart,tt002 ) to  ROLE role_yupdb;
  1. 为用户删除角色
    YREVOKE 角色名 FROM 用户名
YREVOKE role_yupdb FROM user_yupdb;
  1. 删除用户
    YDELETE USER用户名;
YDELETE USER user_yupdb;
  1. 删除角色
    YDELETE ROLE 角色名;
YDELETE ROLE role_yupdb;

至此,YupDB 权限管理功能的功能简介和使用方法就介绍到这里了,如果大家对这款产品感兴趣可以访问我们的官网 www.yupdb.com 来了解更多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值