数据库权限模型
AnalyticDB for MySQL支持针对不同的权限粒度授予不同的权限达到权限控制的目的。本文为您介绍SQL操作与权限的关系及如何查看、编辑权限的操作。
权限粒度
AnalyticDB for MySQL集群支持以下四个粒度的权限控制:
-
GLOBAL:集群级别。
-
DB:数据库级别。
-
TABLE:表级别。
-
COLUMN:列(字段)级别 。
如果您希望某个用户只查询某一张表的某一列数据,可以将该列的SELECT权限授予该用户,例如
GRANT select (customer_id) ON customer TO 'test321'。
操作和权限关系
|
操作 |
需要的权限 |
权限支持的粒度 |
|
SELECT |
SELECT |
|
|
INSERT |
INSERT |
|
|
INSERT…SELECT…FROM… |
|
|
|
UPDATE |
UPDATE |
|
|
DELETE |
DELETE |
|
|
TRUNCATE TABLE |
DROP |
|
|
ALTER TABLE |
|
|
|
CREATE DATABASE |
CREATE |
GLOBAL |
|
CREATE TABLE |
CREATE |
|
|
SHOW CREATE TABLE |
SELECT |
|
|
DROP DATABASE |
DROP |
|
|
DROP TABLE |
DROP |
|
|
CREATE VIEW |
|
|
|
DROP VIEW |
DROP |
|
|
SHOW CREATE VIEW |
|
|
|
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用户授权。
操作步骤
-
使用DMS连接AnalyticDB for MySQL集群。详情请参见使用DMS连接AnalyticDB for MySQL。
-
在DMS左侧的已登录实例列表中,右键单击目标实例。
-
从弹出的列表中选择数据库账号管理。
-
在账号管理页面,查看用户权限。
AnalyticDB for MySQL控制台查看权限
仅企业版、基础版及湖仓版集群可以通过AnalyticDB for MySQL控制台查看权限。
前提条件
-
阿里云账号可直接查看权限。
-
RAM用户需要拥有AliyunADBReadOnlyAccess权限才能查看权限。如何为RAM用户授权,请参见为RAM用户授权。
操作步骤
- 登录云原生数据仓库AnalyticDB MySQL控制台。
- 在页面左上角,选择集群所在地域。
- 在左侧导航栏,单击集群列表。
-
在湖仓版页签下,单击目标集群ID。
-
在左侧导航栏,单击账号管理。
-
单击目标账号操作列中的权限,并选择查看权限。
-
根据需求选择授权层级,可查看全局、数据库、数据表和数据列的权限信息。
编辑权限
SQL授权
数仓版和企业版、基础版及湖仓版集群均可以通过SQL语句进行授权操作。
前提条件
用户需要拥有GRANT OPTION权限,才能通过SQL进行授权操作。
操作步骤
执行GRANT语句,为用户授权。详情请参见GRANT。
DMS授权
数仓版和企业版、基础版及湖仓版集群均可以通过DMS进行授权操作。
前提条件
-
阿里云账号可直接进行授权操作。
-
RAM用户需要拥有AliyunADBFullAccess和AliyunServiceRoleForDMS权限才能进行授权操作。如何为RAM用户授权,请参见为RAM用户授权。
操作步骤
-
使用DMS连接AnalyticDB for MySQL集群。详情请参见使用DMS连接AnalyticDB for MySQL。
-
在DMS左侧的已登录实例列表中,右键单击目标实例。
-
从弹出的列表中选择数据库账号管理。
-
在账号管理页面,单击目标账号操作列的编辑。
-
在编辑用户页面,选择全局权限。
-
在权限类型列表中,勾选或去勾选需要的权限。
AnalyticDB for MySQL控制台授权
仅企业版、基础版及湖仓版集群支持通过AnalyticDB for MySQL控制台进行授权操作。
前提条件
-
阿里云账号可直接进行授权操作。
-
RAM用户需要拥有AliyunADBFullAccess权限,且绑定的数据库账号拥有GRANT OPTION权限,才能进行授权操作。
操作步骤
- 登录云原生数据仓库AnalyticDB MySQL控制台。
- 在页面左上角,选择集群所在地域。
- 在左侧导航栏,单击集群列表。
-
在湖仓版页签下,单击目标集群ID。
-
在左侧导航栏,单击账号管理。
-
单击目标账号操作列中的权限,并选择编辑权限。
-
选择授权层级,并勾选权限配置。
-
单击
图标,并单击确定后,完成授权。