ITPub博客

首页 > 数据库 > > 租户管理-用户层级管理

租户管理-用户层级管理

作者:GaussDB_数据库 时间:2020-01-14 15:35:25 0 删除 编辑

背景信息

GaussDB 200通过创建用户来使用数据库系统和执行业务。

多租户引入两级用户机制,分别是组用户和业务用户。两级用户分别关联不同的资源池和存储空间,实现多租户下资源分组管理。

表1 各类用户的特点

用户分类

说明

组用户(多租户场景)

关联组资源池,不作为执行作业的用户使用。

说明:

组用户不建议关联作业,如果一定要关联作业,那么使用默认的负载组‘class:Medium’

业务用户(多租户场景)

为实际执行作业的用户,关联业务资源池。

普通用户(普通场景)

为系统的普通用户,在多租户场景下可以将系统中已经存在的用户转换为组用户或者业务用户。

前提条件

已熟悉CREATE USER、ALTER USER和DROP USER语法的使用。

操作步骤

创建用户

  1. 使用gsql连接数据库。
  1. 创建组用户关联到组资源池。例如下面:名称为“tenant_a”的组用户关联到了“resource_pool_a”组资源池。
    CREATE USER tenant_a RESOURCE POOL 'resource_pool_a' PASSWORD 'Gauss_234';
    CREATE USER tenant_b RESOURCE POOL 'resource_pool_b' PASSWORD 'Gauss_234';
    CREATE ROLE
  2. 创建业务用户关联到业务资源池和组用户。例如下面:名称为“tenant_a1”的业务用户关联到了“resource_pool_a1”组资源池和“tenant_a”组用户。
    CREATE USER tenant_a1 RESOURCE POOL 'resource_pool_a1' USER GROUP 'tenant_a' PASSWORD 'Gauss_234';
    CREATE USER tenant_a2 RESOURCE POOL 'resource_pool_a2' USER GROUP 'tenant_a' PASSWORD 'Gauss_234';
    CREATE USER tenant_b1 RESOURCE POOL 'resource_pool_b1' USER GROUP 'tenant_b' PASSWORD 'Gauss_234';
    CREATE USER tenant_b2 RESOURCE POOL 'resource_pool_b2' USER GROUP 'tenant_b' PASSWORD 'Gauss_234';
    CREATE ROLE
     注意:

    创建业务用户时,resource pool和user group为必选字段,缺一不可。

管理用户

 说明:

拥有sysadmin权限的用户不能作组用户或者业务用户。

  • 切换业务用户“tenant_a1”使用普通资源池respool3(假设系统中已经存在普通资源池respool3)
    ALTER USER tenant_a1 RESOURCE POOL 'respool3' USER GROUP DEFAUlT;
    ALTER ROLE
     注意:

    普通用户,组用户,业务用户都可以切换资源池,需要注意以下事项:

    • 切换业务用户使用普通资源池或使用组资源池时,user group default为必选字段。
    • 系统中任何用户在切换使用业务资源池时,必须同时指定其归属的组用户(user group字段),且组用户使用的资源池一定要与业务资源池满足上下级关系。
  • 切换不含业务用户的组用户使用普通资源池respool3(假设系统中已经存在不含业务的组用户userparent和普通资源池respool3)
    ALTER USER userparent RESOURCE POOL 'respool3';
    ALTER ROLE
     注意:

    组用户含有业务用户时无法做任何切换。

  • 切换普通用户userparent使用组资源池resource_pool_a(假设系统中已经存在普通用户userparent)。
    ALTER USER userparent RESOURCE POOL 'resource_pool_a';
    ALTER ROLE
  • 切换userchild为userparent的业务用户(假设系统中已经存在普通用户userchild,且按照上一步完成userparent使用组资源池resource_pool_a的配置)。
    ALTER USER userchild RESOURCE POOL 'resource_pool_a1' USER GROUP 'userparent';
    ALTER ROLE

查看用户绑定的资源池信息

查看某一用户所绑定的资源池。
SELECT rolrespool FROM PG_AUTHID WHERE rolname = 'rolename';
rolrespool
--------------
default_pool
(1 row)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3145644/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19305