tidb-tidb用户角色权限管理(代码片段)

小毕超 小毕超     2023-02-12     475

关键词:

一、TIDB 中的权限

我们都知道TIDB是兼容MySql的,对于TiDB 的权限管理和MySql中的权限管理也是兼容的,所以说我们完全可以将MySQL中的那一套拿来到TIDB中,是完全适用的。

另外TiDB 将用户账户及角色存储在 mysql.user 系统表里面。每个账户由用户名和 host 作为标识。每个账户可以设置一个密码。

下面我们针对TIDB数据库来演示下用户角色权限的配置。注意以下所有操作均在TIDB数据库中进行。

二、用户管理

1. 创建新用户,并指定用户的登录密码

create user 'bxc' identified by 'bxc123';

这种方式创建的用户不限制主机,默认为 ‘bxc’@‘%‘ 所有的主机都可以使用此账户进行连接,如果要限制主机可以在用户名后@跟主机ip即可:

create user 'bxc'@'172.160.158.3' identified by 'bxc123';

2. 查看 mysql.user 表,查看我们创建的用户

select user, host, authentication_string from mysql.user;

可见已经创建成功了。

3. 修改用户密码

alter user 'bxc' identified by 'tidb123';


4. 删除用户

drop user 'bxc';


如果是指定了主机的用户,删除时也要携带主机ip,如:

drop user 'bxc'@'172.160.158.3';

从上面对用户的操作已经可以感觉出来,就是和我们在MYSQL中的操作相同,下面继续来感受下权限角色的设置。

三、用户权限管理

1. 赋予用户权限,比如赋予testdb库下所有表的读权限赋予bxc用户

grant select on testdb.* to 'bxc';


下面我们用bxc用户,进行查询和写入测试:

可以看到只有读的权限,没有写的权限,下面将写的权限赋予bxc用户:

grant insert on testdb.* to 'bxc';


下面再次进行读和写操作就已经有权限了:

2. 查看用户下的权限

show grants  for 'bxc';

3. 收回用户的权限

 revoke insert on testdb.* from bxc;


使用bxc再次进行写操作:

四、角色权限管理

1. 创建角色

create role manager, common;


角色信息也是存储在了mysql.user表中了,我们可以查询看下

select user, host, authentication_string,Account_locked from mysql.user;


从上面就可以看出角色和用户是用区别的,角色的 Account_locked是处于锁定状态,这也可以理解,毕竟角色我们是用来管理权限的不是用来登录的,同样角色也没有密码。

2. 赋予角色权限,比如赋予common角色testdb库下所有表的读权限

grant select on testdb.* to common;


3. 赋予manager角色testdb库下所有表的写权限

grant insert, update, delete on testdb.* to manager;


4. 将角色赋予用户

grant 'common' to 'bxc';



使用bxc 去查询发现还是查询不了,此时角色是空的,还需要进行角色的生效:

set role all;

然后查看当前的角色:

select current_role();


并且也有了查询的权限。

5. 解除角色与用户的关系

revoke 'common' from 'bxc';


6. 赋予manager角色全部的权限

grant all on testdb.* to manager;

7. 删除角色

 drop role common;

jenkins用户角色权限管理(代码片段)

...录背景安装插件管理角色全局角色项目角色节点角色管理用户分配角色背景Jenkins一般用作团队项目持续集成环境,所以就会设计多用户的情况,我们需要为不同人员设置不同的角色,进行权限管理。可以使用Role-based-... 查看详情

[linux之权限管理⽤户组管理](代码片段)

[Linux之权限管理⽤户组管理]权限管理用户组管理RBAC权限管理RBAC(Role-BasedAccessControl,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成... 查看详情

mysql权限管理表设计(代码片段)

...联查询1查询刘德华的角色2查询苹果游客这个角色对应的用户是谁?3查询总管理员的权限有哪些?4查询苹果浏览权限对应的角色有哪些?5查询刘德华的权限有哪些?6查询杨幂的权限有哪些?7查询有哪些用户拥有安卓删帖权限?MySQL权限... 查看详情

mysql权限管理表设计(代码片段)

...联查询1查询刘德华的角色2查询苹果游客这个角色对应的用户是谁?3查询总管理员的权限有哪些?4查询苹果浏览权限对应的角色有哪些?5查询刘德华的权限有哪些?6查询杨幂的权限有哪些?7查询有哪些用户拥有安卓删帖权限?MySQL权限... 查看详情

springboot+springsecurity数据库动态管理用户角色权限(代码片段)

...文使用springboot+mybatis+SpringSecurity实现数据库动态的管理用户、角色、权限管理本文细分角色和权限,并将用户、角色、权限和资源均采用数据库存储,并且自定义滤器,代替原有的FilterSecurityInterceptor过滤器, 并分别实现Acc... 查看详情

oracle用户权限管理(代码片段)

权限的分类权限,角色和用户的关系权限(privilege):Oracle数据库预先定义好的、执行某些操作的能力。角色(role):一组相关权限的集合。可以利用角色来简化权限的管理。用户(user):通过给用户授... 查看详情

谷粒学院权限管理模块(代码片段)

...改菜单3.角色相关操作3.1获取角色分页列表3.2其他操作4.用户相关操作4.1获取管理用户分页列表4.2根据用户获取角色数据4.3根据用户分配角色4.4其他操作谷粒学院项目权限管理模块1.数据库表这里系统权限控制采用的访问控制模型... 查看详情

security权限管理详解(代码片段)

一、授权流程用户登录成功后会将用户信息保存在Authencation对象中,Authencation接口中有一个getAuthorities()方法返回的是用户的权限Collection<?extendsGrantedAuthority>getAuthorities();现有系统可以基于角色做权限管理也可以使用资源&... 查看详情

django权限管理-后台根据用户权限动态生成菜单(代码片段)

Django权限管理实现目标:1、管理用户,添加角色,用户关联角色2、添加权限、角色关联权限3、添加动作、权限关联动作4、添加菜单、权限关联菜单实现动态生成用户权限菜单(可设置多级菜单嵌套)、根据前台URL自动选中菜... 查看详情

终端管理:限定用户给指定角色(代码片段)

限定用户给指定角色随着计算机技术的进步和应用,系统管理的关注度也大幅提高。在一个中小型网络中,仅仅靠一个管理员来负责系统管理的各个方面尤为艰巨。DesktopCentral通过用户和角色管理模块,可以方便解决问题;通过... 查看详情

c实现基于角色的权限系统(代码片段)

...用C#实现基于角色的权限菜单管理系统,管理员可以添加用户,删除用户,添加分组,删除分组,添加角色,删除角色,为角色关联权限等功能,管理员用户自定义各个操作员的权限菜单标题项目对应的实例代码可以通过右侧【下载... 查看详情

权限管理(权限列表+角色列表)开发(代码片段)

目录1.权限列表开发权限管理业务分析用户和不同的角色绑定,而不同角色拥有不同的权限(增删改查) 权限列表开发流程权限列表的基本布局通过发起一次请求获取权限列表数据,发起什么样的请求要查看API文... 查看详情

mongodb用户和密码登录(代码片段)

...构相关的任务,索引编制,收集统计信息。此角色不授予用户和角色管理权限。dbOwner提供对数据库执行任何管理操作的功能。此角色组合了readWrite,dbAdmin和userAdmin角色授予的权限 查看详情

rbac权限控制(代码片段)

...的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指... 查看详情

oracle用户权限管理(代码片段)

权限的分类权限,角色和用户的关系权限(privilege):Oracle数据库预先定义好的、执行某些操作的能力。角色(role):一组相关权限的集合。可以利用角色来简化权限的管理。用户(user):通过给用户授... 查看详情

第二轮面试(代码片段)

...限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。基于RBAC权限访问控制。也就是说一个用户可以有多个角色,一个角色可以有多个权限,通过将角色和权限分离开来提高设... 查看详情

单点登录与权限管理本质:权限管理介绍(代码片段)

...会有多个角色,不同角色可访问的系统功能不同,通过给用户分配不同角色,决定用户可访问的系统功能。继续介绍「单点登录与权限管理」系列的第一部分:单点登录与权限管理本质 查看详情

基于rbac权限控制模型的管理系统的设计与实现(代码片段)

...方式。  其对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合,每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作... 查看详情