数据库权限模型

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

权限粒度

AnalyticDB for MySQL集群支持以下四个粒度的权限控制:

  • GLOBAL:集群级别。

  • DB:数据库级别。

  • TABLE:表级别。

  • COLUMN:列(字段)级别 。

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

操作和权限关系

操作

需要的权限

权限支持的粒度

SELECT

SELECT

  • GLOBAL

  • DB

  • TABLE

  • COLUMN

INSERT

INSERT

  • GLOBAL

  • DB

  • TABLE

  • COLUMN

INSERT…SELECT…FROM…

  • INSERT

  • SELECT

  • GLOBAL

  • DB

  • TABLE

  • COLUMN

UPDATE

UPDATE

  • GLOBAL

  • DB

  • TABLE

  • COLUMN

DELETE

DELETE

  • GLOBAL

  • DB

  • TABLE

TRUNCATE TABLE

DROP

  • GLOBAL

  • DB

  • TABLE

ALTER TABLE

  • ALTER

  • INSERT

  • CREATE

  • GLOBAL

  • DB

  • TABLE

CREATE DATABASE

CREATE

GLOBAL

CREATE TABLE

CREATE

  • GLOBAL

  • DB

  • TABLE

SHOW CREATE TABLE

SELECT

  • GLOBAL

  • DB

  • TABLE

DROP DATABASE

DROP

  • GLOBAL

  • DB

DROP TABLE

DROP

  • GLOBAL

  • DB

  • TABLE

CREATE VIEW

  • CREATE VIEW

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

  • SELECT

  • GLOBAL

  • DB

  • TABLE

DROP VIEW

DROP

  • GLOBAL

  • DB

  • TABLE

SHOW CREATE VIEW

  • SHOW VIEW

  • SELECT

  • GLOBAL

  • DB

  • TABLE

CREATE USER/DROP USER/RENAME USER

CREATE_USER

GLOBAL

SET PASSWORD

SUPER

GLOBAL

GRANT/REVOKE

GRANT

GLOBAL

查看权限

SQL查看权限

说明

企业版、基础版及湖仓版集群均可以SQL查看权限。

操作步骤

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

DMS查看权限

说明

企业版、基础版及湖仓版集群均可以通过DMS查看权限。

前提条件

  • 阿里云账号可直接查看权限。

  • RAM用户需要拥有AliyunADBReadOnlyAccess权限才能查看权限。如何为RAM用户授权,请参见为RAM用户授权

操作步骤

  1. 使用DMS连接AnalyticDB for MySQL集群。详情请参见使用DMS连接AnalyticDB for MySQL

  2. 在DMS左侧的已登录实例列表中,右键单击目标实例。

  3. 从弹出的列表中选择数据库账号管理

  4. 账号管理页面,查看用户权限。

AnalyticDB for MySQL控制台查看权限

说明

企业版、基础版及湖仓版集群可以通过AnalyticDB for MySQL控制台查看权限。

前提条件

  • 阿里云账号可直接查看权限。

  • RAM用户需要拥有AliyunADBReadOnlyAccess权限才能查看权限。如何为RAM用户授权,请参见为RAM用户授权

操作步骤

  1. 登录云原生数据仓库AnalyticDB MySQL控制台
  2. 在页面左上角,选择集群所在地域。
  3. 在左侧导航栏,单击集群列表
  4. 湖仓版页签下,单击目标集群ID

  5. 在左侧导航栏,单击账号管理

  6. 单击目标账号操作列中的权限,并选择查看权限

  7. 根据需求选择授权层级,可查看全局、数据库、数据表和数据列的权限信息。

编辑权限

SQL授权

说明

企业版、基础版及湖仓版集群均可以通过SQL语句进行授权操作。

前提条件

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

操作步骤

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

DMS授权

说明

企业版、基础版及湖仓版集群均可以通过DMS进行授权操作。

前提条件

  • 阿里云账号可直接进行授权操作。

  • RAM用户需要拥有AliyunADBFullAccess和AliyunServiceRoleForDMS权限才能进行授权操作。如何为RAM用户授权,请参见为RAM用户授权

操作步骤

  1. 使用DMS连接AnalyticDB for MySQL集群。详情请参见使用DMS连接AnalyticDB for MySQL

  2. 在DMS左侧的已登录实例列表中,右键单击目标实例。

  3. 从弹出的列表中选择数据库账号管理

  4. 账号管理页面,单击目标账号操作列的编辑

  5. 编辑用户页面,选择全局权限

  6. 权限类型列表中,勾选或去勾选需要的权限。

AnalyticDB for MySQL控制台授权

说明

企业版、基础版及湖仓版集群支持通过AnalyticDB for MySQL控制台进行授权操作。

前提条件

  • 阿里云账号可直接进行授权操作。

  • RAM用户需要拥有AliyunADBFullAccess权限,且绑定的数据库账号拥有GRANT OPTION权限,才能进行授权操作。

操作步骤

  1. 登录云原生数据仓库AnalyticDB MySQL控制台
  2. 在页面左上角,选择集群所在地域。
  3. 在左侧导航栏,单击集群列表
  4. 湖仓版页签下,单击目标集群ID

  5. 在左侧导航栏,单击账号管理

  6. 单击目标账号操作列中的权限,并选择编辑权限

  7. 选择授权层级,并勾选权限配置

  8. 单击1图标,并单击确定后,完成授权。