创建用户并分配权限
前提条件
- 已完成用户和权限的规划。
- 若通过FusionInsight Manager创建MOTService用户,需先创建关联了MOTService用户编辑权限角色的用户,以该用户登录FusionInsight Manager创建MOTService用户,集群的admin用户不具有MOTService用户管理权限。
创建MOTService角色
- 登录FusionInsight Manager。
- 选择“系统 > 权限 > 角色”。
- 单击“添加角色”,然后在“角色名称”和“描述”输入角色名字与描述。
- 设置角色“配置资源权限”。MOTService权限类型:
- MOTService用户编辑权限:是最高权限,具有创建和修改MOTService用户的权限。
- MOTService用户查看权限:具有查看MOTService用户信息权限。
表1 设置角色 任务场景
角色授权操作
设置具有MOTService用户编辑权限
在“配置资源权限”的表格中选择“待操作集群的名称 > MOTService > Mot用户权限”,勾选“编辑”。具有“编辑”权限的用户默认也具有“查看”权限。
设置具有MOTService用户查看权限
在“配置资源权限”的表格中选择“待操作集群的名称 > MOTService > Mot用户权限”,勾选“查看”。
- 单击“确定”。
创建具有MOTService用户管理权限的用户
- 登录FusionInsight Manager。
- 选择“系统 > 权限 > 用户 > 添加用户”。
- 填写“用户名”,例如“motAdmin”。
- 设置“用户类型”,选择“人机”。
- 填写“密码”和“确认新密码”。
- “用户组”和“主组”可保持默认或根据需求添加。
- 在“角色”,单击“添加”,为该用户绑定“default”、“System_administrator”以及具有MOTService用户编辑权限的角色。
- 单击“确定”。
创建MOTService用户
方式一:通过在Manager界面的MOTService“用户管理”创建用户:
- 以具有MOTService用户管理权限的用户(如motAdmin)登录FusionInsight Manager,选择“集群 > 服务 > MOTService > 用户管理”。
- 单击“创建用户”,填写用户名称及密码,并根据需求选择用户类型,用户类型详情可参考表1:
- 系统管理员:具有数据库的最高权限,并且具有所有的系统权限和对象权限。
- 普通用户:可以访问MOTService默认的系统表和视图(pg_authid,pg_largeobject,pg_user_status,pg_auth_history除外),可以连接默认的数据库postgres以及使用public模式下的对象。
- 单击“确定”等待创建完成。
最多创建20个用户,用户创建完成后,单击该用户所在行的“修改”,可修改该用户的用户类型和密码,但不支持同时修改用户类型和用户密码。
方式二:通过登录节点创建用户:
- 登录FusionInsight Manager,选择“集群 > 服务 > MOTService > 实例”,查看并记录“MOTServer(主)”实例的业务IP。
- 以omm用户登录MOTService主节点,执行如下命令启动环境变量。
source ${MOTSERVER_HOME}/.motservice_profile
- 使用gsql命令连接MOTService并输入MOTService数据库omm用户密码。
gsql -d postgres -p 20105
MOTService数据库的omm密码请联系系统管理员获取。
- 创建用户并分配权限。
- 创建用户并分配系统权限。
CREATE USER joe WITH CREATEDB PASSWORD "password";
- 给用户指定对象权限,详细语法请参见GRANT和REVOKE。
如将表“hr.staffs”的“select”权限赋给用户joe:
GRANT SELECT ON TABLE hr.staffs to joe;
- 给角色赋予对象权限,详细语法请参见GRANT和REVOKE。
将表“hr.staffs”的“select”权限赋给角色lily:
postgres=# CREATE ROLE lily WITH CREATEDB PASSWORD "password";
GRANT SELECT ON TABLE hr.staffs to lily;
- 将角色的权限赋予用户,详细语法请参见GRANT和REVOKE。
postgres=# GRANT lily to joe;
当将角色的权限赋予用户时,角色的系统权限是无法传递的。
- 创建用户并分配系统权限。