本文将为您介绍superuser如何在HoloStudio中管理(包括添加、授权、删除等)子账号。

背景信息

阿里云主账号成功购买交互式分析实例之后,会被系统默认为该实例的超级管理员,即superuser,拥有实例的所有权限。其他用户想要访问该实例,需要superuser授予相应的权限。

阿里云2000元代金券免费领,最新优惠1折抢购,2核4G云服务器仅799元/3年,新老用户同享,立即抢购>>>

创建子账号

  • 如果您已经有子账号,请直接跳过该步骤,对子账号进行授权。
  • 如果您没有子账号,请首先创建一个子账号,详情请参见新建子账号

授权子账号

当前版本的交互式分析将会采用两套权限体系来为用户提供更加方便且完善的授权体系:

  • 专家模式:交互式分析兼容PostgreSQL,使用与Postgres完全一致的授权体系(简称为专家模式),您可以按照标准的PostgreSQL授权语句来为子账号进行授权,详情请参见专家模式授权
  • 简单模式:交互式分析在PostgresSQL基础上,为提升用户体验抽象出来的一种粗粒度的简单权限模型(Simple Permission Model,SPM),您可以通过将用户加入用户组的方式来完成授权,详情请参见简单权限模型的使用
  1. 简单权限模型授权(推荐)

    若您需要使用简单权限模型为子账号授权,可以直接在Hologres管控台使用可视化的操作来完成。具体操作步骤如下:

    1. 新建用户

      进入Hologres管控台,在实例详情页单击左侧菜单栏用户管理 > 新增用户,选择需要授权的子账号,将子账号创建进实例中。可以直接将子账号授权成superuser(无需额外授权即可拥有实例的所有权限),也可以将子账号授权为普通用户(还需要额外授权才能正常使用交互式分析)。

      管理子账号_基于HoloStudio的开发_交互式分析Hologres

      说明 superuser拥有整个实例的权限,请小心授予。

    2. 授权用户

      新增用户完成之后,若子账号是普通用户,还需要再授予权限,子账号才能使用交互式分析。单击左侧菜单栏DB管理,将子账号加入到对应的用户组来完成授权。

      管理子账号_基于HoloStudio的开发_交互式分析Hologres

      简单权限模型也支持以SQL方式来为子账号授权,关于详细的使用操作可以参见简单权限模型的使用

  2. 专家模式授权

    若你需要使用专家模式为子账号授权,操作步骤如下:

    1. 将子账号创建进交互式分析中
      create user "云账号id/云邮箱";//若是子账号还需要在云账号ID前加"p4_",即"p4_id" create user "云账号id/云邮箱" SUPERUSER ;//创建子账号并赋予子账号为superuser,若是子账号还需要在云账号ID前加"p4_",即"p4_id"
      说明

      • surperuser拥有对整个实例的权限,请小心授予。
      • 若是子账号还需要在云账号ID前加“p4_“,即“p4_id“,且p为小写字母,并如示例加上双引号。

    2. 授权子账号
      成功将子账号创建进交互式分析实例后,需要给子账号授予一定的权限,子账号才能访问权限内的对象(若是已经被授权成superuser则不需要再额外授权),示例授权如下:

      grant select on table tablename to "云账号id/云邮箱";//授予子账号某个表的查看权限 grant select,insert,update on all tables in schema public to "云账号id/云邮箱";// 授权子账号全部表的增改查权限
      说明 : 子账号不能删除不是自己建的表。

      在交互式分析中,专家模式(标准的PostgreSQL授权)权限划分非常细致,具体可以参见专家模式授权

  3. 子账号使用交互式分析

子账号使用交互式分析

superuser给子账号授予相关权限以后,子账号可以开始使用交互式分析实例来进行开发,分以下两种情况:

  1. 子账号需要使用HoloStudio进行交互式分析开发

    如果您的子账号需要使用HoloStudio完成交互式分析开发,在完成交互式分析授权后,还需要添加子账号至DataWorks工作空间。

    superuser登录进DataWorks之后,单击右上角的管理子账号_基于HoloStudio的开发_交互式分析Hologres,进入工作空间配置页面。选择左侧导航栏中的成员管理 > 添加成员,并加入对应成员以及授予一定的工作空间权限。

    管理子账号_基于HoloStudio的开发_交互式分析Hologres

  2. 子账号使用其他开发工具进行交互式分析开发

    若您的子账号使用其他开发工具来进行交互式分析开发,可以直接按照开发工具连接概览选择合适的工具操作。

查看权限

您可以使用以下两种方式来查看子账号所拥有的权限:

  1. 管控台查看权限

    您可以在Hologres管控台实例详情页的用户管理查看子账号的是superuser权限还是normal权限。

    管理子账号_基于HoloStudio的开发_交互式分析Hologres

    同时若您的DB已经开启简单权限模型,您可以在DB管理 > 用户授权页面查看子账号被加入的用户组。

    管理子账号_基于HoloStudio的开发_交互式分析Hologres

  2. SQL查看权限
    您可以在HoloStudio中使用SQL来查看账号权限,命令如下。

    select * from pg_roles where rolname = 'p4_id';//查看某个成员拥有的角色 select rolname from pg_roles; select user_display_name(rolname) from pg_roles;

    管理子账号_基于HoloStudio的开发_交互式分析Hologres

撤销授权

若因为某种原因,您需要对已授权的子账号进行权限撤销(账号仍然在交互式分析中),分以下两种情况:

  1. 简单权限模型

    若您当前DB开启了简单权限模型,需要对子账号进行撤销授权,可以直接在Hologres管控台进行可视化撤销权限。

    在实例详情页单击DB管理 > 用户授权,选择对应的子账号并单击撤销授权即可。

    管理子账号_基于HoloStudio的开发_交互式分析Hologres

    关于撤销权限后子账号拥有的权限,可以前往简单权限模型的使用查看。

  2. 专家模式

    若您的DB使用的是专家模式授权,想要撤销子账号权限,可以使用以下命令语句:

    REVOKE SELECT ON TABLE TABLENAME FROM "云账号ID/云邮箱" ;//若是子账号,云账号ID前需要加"p4_",即"p4_id"

    更多详情可以参见专家模式授权

删除子账号

若因某种原因,您需要将子账号从实例中删除(子账号将没有实例的任何权限),您可以按照以下两种方式操作:

  1. 管控台可视化删除

    Hologres管控台支持一键可视化删除子账号,在实例详情页单击左侧用户管理,选择需要删除的子账号,单击删除即可。

    管理子账号_基于HoloStudio的开发_交互式分析Hologres

  2. SQL删除
    若您的实例已经连接开发工具,您也可以使用SQL语句进行删除子账号,命令如下:

    DROP user "云账号ID/云邮箱" ;//若是子账号,云账号ID前需要加"p4_",即"p4_id"