租户管理
本页目录
租户管理#
租户是一系列资源与用户的集合,主要用来做资源隔离。资源即包含数据库中的数据、元数据以及计算资源,也包括Worksheet、数据同步任务等其他产品资源。
租户之间是有层级关系的,系统内有一个内置的“根租户”,根租户下可创建子租户,子租户下可以再次创建子租户,如此可支持多层租户的嵌套。每一个租户都有且仅有一个租户管理员。
资源都从属于某一特定租户,不同租户的资源天然是隔离的。资源分为共享资源与独享资源,共享资源可根据一定的规则在不同租户间共享,独享资源不可共享给其他租户。 数据库的元数据、数据、计算资源,Worksheet,机器,集群等属于共享资源;其他资源都是独享资源。
父租户有权限的共享资源,父租户的管理员可以通过权限赋予的方式把权限赋予给子租户,但范围仅限于父租户本身所拥有权限的子集。
用户映射与同步#
OushuDB 是 Skylab 平台的重要组成部分,Skylab 平台与 OushuDB 各有自己的用户体系,为了让用户在登录 Skylab 平台之后,可直接使用 Wokrsheet 执行数据库查询,无需创建数据源或者重新登录数据库, Skylab 打通了与 OushuDB 的用户与认证。Skylab 内的用户会同步到 OushuDB 并且做了相应的映射。映射规则如下(举例):
类型 |
Skylab |
OushuDB |
---|---|---|
租户 |
tenantName |
tenantName_t_100000001002(100000001002为租户代码) |
用户 |
userName |
userName_u_100000001002 |
角色 |
roleName |
roleName_r_100000001002 |
用户组 |
groupName |
落地到DB侧为用户组导致的角色与用户的(间接)关系 |
用户同步的规则:OushuDB 集群所属租户以及所属租户的所有下有各级子租户,以及以上租户的所有租户用户、角色以及用户与角色的关系,都会被同步到 OushuDB。
在如下场景下,会触发用户的同步:
在部署、注册、通过 UI 启停 OushuDB 集群时,同步所有符合条件的已有用户;
在创建、删除租户、租户用户、角色时,同步租户、用户、角色以及其关系到相应 OushuDB;
在修改租户管理员、租户用户与角色的关系、用户组内的用户或者被赋予的角色时,同步用户、角色的关系到 OushuDB;
限制与约束#
对数据库内部的权限的租户隔离,仅限于使用 Skylab 可视化 UI 去做权限的赋予与查看。如果通过其他途径,比如 SQL 命令行去做数据库权限的管理, 则不受租户的限制,做不到租户的隔离。
只有通过 Skylab UI 创建的租户、用户、角色会同步到数据库,数据库内通过命令行创建的用户不会被同步到 Skylab。
租户管理#
登录平台之后,进入个人中心页面,点击左侧“用户管理”菜单即可进入用户管理页面。在该页面,您可以管理租户、租户用户、角色以及用户组。
页面中间展示的是租户的层级关系,鼠标悬浮到某租户上,点击“+”图标可以添加子租户,点击删除(垃圾桶)图标可删除子租户。根租户的租户管理员可以添加、删除任意层级子租户。 只有子租户的直属父租户管理员才可以管理子租户的权限。
输入子租户名称、租户管理员名称、租户管理员密码,选择“首次登录是否需要重置密码”,点击“提交并复制密码”即可创建子租户与其租户管理员。
点击某租户之后,右侧页面上方展示该租户的信息卡片,包括租户的名字、代码、租户负责人、创建时间等。点击租户信息卡片右上角的编辑图标,可编辑租户信息。
租户名称不可以修改,可以修改租户管理员,租户管理员只能从已有租户用户中选择。
租户权限管理#
引入层级租户之后,除了给租户用户、租户的角色赋权之外,您还可以给租户赋权。父租户管理员登录之后,在用户管理页面,鼠标悬浮到某子租户上,点击“权限管理”图标(钥匙的图标)即可打开子租户权限管理页面。 该页面与用户、角色的权限管理页面相同,在此您可管理机器、集群、数据库的数据、数据库的计算资源(VC)与其他产品的权限。