AnalyticDB MySQL版支持针对不同的权限粒度授予不同的权限达到权限控制的目的。本文为您介绍SQL操作与权限的关系及如何查看、编辑权限的操作。

权限粒度

AnalyticDB MySQL版集群支持以下四个粒度的权限控制:
  • GLOBAL:集群级别。
  • DB:数据库级别。
  • TABLE:表级别。
  • COLUMN:列(字段)级别 。

    如果您希望某个用户只查询某一张表的某一列数据,可以将该列的SELECT权限授予该用户,例如GRANT select (customer_id) ON customer TO 'test321'

操作和权限关系

操作需要的权限权限支持的粒度
SELECTSELECT
  • GLOBAL
  • DB
  • TABLE
  • COLUMN
INSERTINSERT
  • GLOBAL
  • DB
  • TABLE
  • COLUMN
INSERT…SELECT…FROM…
  • INSERT
  • SELECT
  • GLOBAL
  • DB
  • TABLE
  • COLUMN
UPDATEUPDATE
  • GLOBAL
  • DB
  • TABLE
  • COLUMN
DELETEDELETE
  • GLOBAL
  • DB
  • TABLE
TRUNCATE TABLEDROP
  • GLOBAL
  • DB
  • TABLE
ALTER TABLE
  • ALTER
  • INSERT
  • CREATE
  • GLOBAL
  • DB
  • TABLE
CREATE DATABASECREATEGLOBAL
CREATE TABLECREATE
  • GLOBAL
  • DB
  • TABLE
SHOW CREATE TABLESELECT
  • GLOBAL
  • DB
  • TABLE
DROP DATABASEDROP
  • GLOBAL
  • DB
DROP TABLEDROP
  • GLOBAL
  • DB
  • TABLE
CREATE VIEW
  • CREATE VIEW

    执行CREATE VIEW REPLACE命令时,除了上述权限,还需要DROP权限。

  • SELECT
  • GLOBAL
  • DB
  • TABLE
DROP VIEWDROP
  • GLOBAL
  • DB
  • TABLE
SHOW CREATE VIEW
  • SHOW VIEW
  • SELECT
  • GLOBAL
  • DB
  • TABLE
CREATE USER/DROP USER/RENAME USERCREATE_USERGLOBAL
SET PASSWORDSUPERGLOBAL
GRANT/REVOKEGRANTGLOBAL

查看权限

SQL查看权限

说明 数仓版(3.0)湖仓版(3.0)集群均可以SQL查看权限。
操作步骤

执行SHOW GRANTS语句,查看用户权限。详情请参见SHOW GRANTS

DMS查看权限

说明 数仓版(3.0)湖仓版(3.0)集群均可以通过DMS查看权限。
前提条件
  • 阿里云账号可直接查看权限。
  • RAM用户需要拥有AliyunADBReadOnlyAccess权限才能查看权限。如何为RAM用户授权,请参见为RAM用户授权
操作步骤
  1. 使用DMS连接AnalyticDB MySQL集群。详情请参见使用DMS连接云原生数据仓库AnalyticDB MySQL版
  2. 在DMS左侧的已登录实例列表中,右键单击目标实例。
  3. 从弹出的列表中选择账号管理
  4. 账号管理页面,查看用户权限。

AnalyticDB MySQL控制台查看权限

说明湖仓版(3.0)集群可以通过AnalyticDB MySQL控制台查看权限。
前提条件
  • 阿里云账号可直接查看权限。
  • RAM用户需要拥有AliyunADBReadOnlyAccess权限才能查看权限。如何为RAM用户授权,请参见为RAM用户授权
操作步骤
  1. 登录云原生数据仓库AnalyticDB MySQL控制台
  2. 在页面左上角,选择集群所在地域。
  3. 在左侧导航栏,单击集群列表
  4. 湖仓版(3.0)页签下,单击目标集群ID
  5. 在左侧导航栏,单击账号管理
  6. 单击目标账号操作列中的权限,并选择查看权限
  7. 根据需求选择授权层级,可查看全局、数据库、数据表和数据列的权限信息。

编辑权限

SQL授权

说明 数仓版(3.0)湖仓版(3.0)集群均可以通过SQL语句进行授权操作。
前提条件

用户需要拥有GRANT OPTION权限,才能通过SQL进行授权操作。

操作步骤

执行GRANT语句,为用户授权。详情请参见GRANT

DMS授权

说明 数仓版(3.0)湖仓版(3.0)集群均可以通过DMS进行授权操作。
前提条件
  • 阿里云账号可直接进行授权操作。
  • RAM用户需要拥有AliyunADBFullAccess和AliyunServiceRoleForDMS权限才能进行授权操作。如何为RAM用户授权,请参见为RAM用户授权
操作步骤
  1. 使用DMS连接AnalyticDB MySQL集群。详情请参见使用DMS连接云原生数据仓库AnalyticDB MySQL版
  2. 在DMS左侧的已登录实例列表中,右键单击目标实例。
  3. 从弹出的列表中选择账号管理
  4. 账号管理页面,单击目标账号操作列的编辑
  5. 编辑用户页面,选择全局权限
  6. 权限类型列表中,勾选或去勾选需要的权限。

AnalyticDB MySQL控制台授权

说明湖仓版(3.0)集群支持通过AnalyticDB MySQL控制台进行授权操作。
前提条件
  • 阿里云账号可直接进行授权操作。
  • RAM用户需要拥有AliyunADBFullAccess权限,且绑定的数据库账号拥有GRANT OPTION权限,才能进行授权操作。
操作步骤
  1. 登录云原生数据仓库AnalyticDB MySQL控制台
  2. 在页面左上角,选择集群所在地域。
  3. 在左侧导航栏,单击集群列表
  4. 湖仓版(3.0)页签下,单击目标集群ID
  5. 在左侧导航栏,单击账号管理
  6. 单击目标账号操作列中的权限,并选择编辑权限
  7. 选择授权层级,并勾选权限配置
  8. 单击1图标,并单击确定后,完成授权。