AnalyticDB for MySQL支持针对不同的权限粒度授予不同的权限达到权限控制的目的。

权限粒度

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

  • GLOBAL:集群级别。
  • DB:数据库级别。
  • TABLE:表级别。
  • COLUMN:列(字段)级别 。

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

操作和权限关系

操作 需要的权限 权限支持的粒度
SELECT SELECT
  • DB
  • TABLE
  • COLUMN
INSERT INSERT
  • DB
  • TABLE
  • COLUMN
INSERT…SELECT…FROM…
  • INSERT
  • SELECT
  • DB
  • TABLE
  • COLUMN
UPDATE UPDATE
  • DB
  • TABLE
  • COLUMN
DELETE DELETE
  • DB
  • TABLE
TRUNCATE TABLE DROP
  • DB
  • TABLE
ALTER TABLE
  • ALTER
  • INSERT
  • CREATE
  • DB
  • TABLE
CREATE DATABASE CREATE -
CREATE TABLE CREATE
  • DB
  • TABLE
SHOW CREATE TABLE SELECT
  • DB
  • TABLE
DROP DATABASE DROP DB
DROP TABLE DROP
  • DB
  • TABLE
CREATE VIEW
  • CREATE VIEW

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

  • SELECT
  • DB
  • TABLE
DROP VIEW DROP
  • DB
  • TABLE
SHOW CREATE VIEW
  • SHOW VIEW
  • SELECT
  • DB
  • TABLE
CREATE_PROCEDURE CREATE_ROUTINE -
DROP_PROCEDURE ALTER_ROUTINE -
CREATE_EVENT EVENT -
DROP_EVENT EVENT -
CREATE USER/DROP USER/RENAME USER CREATE_USER -
SET PASSWORD SUPER -
GRANT/REVOKE GRANT -