閱讀889 返回首頁    go 阿裏雲


6.3 使用ACL進行權限管理__第六章 用戶與權限_使用手冊_分析型數據庫-阿裏雲

前文提到,類似MySQL,分析型數據庫中的數據庫創建者可以使用GRANT/REVOKE語句進行授權和權限回收。

進行授權

SQL語法

GRANT privilege_type [(column_list)] [, privilege_type [(column_list)]] ... ON [object_type] privilege_level TO user [, user] ...

返回值

被授權用戶

user: 'user_name'[@'host_name']

  • user_namehost_name 必須使用單引號或雙引號,如 'ALIYUN$test-user@aliyun.com'@'%'
  • 目前,host_name 隻支持 % ,即不支持指定Host
  • 可以寫成 user_name ,等價於 'user_name'@'%'

權限

  • privilege_type 為具體的權限類型,每一級對象擁有的權限類型參見6.2節

  • [(column_list)] 為可選,當對象級別為表時,這裏可以填寫列的列表,進行針對具體列的授權

  • [object_type] 為可選,標明權限對象的類型,如Database、Table、TableGroup等,建議填寫

  • privilege_level 為被授權對象的表達式,填寫方法見6.2節

例子

GRANT describe, select ON tablegroup db_name.table_group_name TO user 'ALIYUN$test_user@aliyun.com'@'%';

GRANT describe, select (col1, col2) ON table db_name.table__name TO user 'ALIYUN$test_user@aliyun.com';

權限回收

SQL語法

REVOKE privilege_type [(column_list)] [, privilege_type [(column_list)]] ... ON [object_type] privilege_level FROM user [, user] ...

返回值

  • 在語法上與授權語句基本一致

查看用戶權限

SQL語法

SHOW GRANTS [FOR user] ON [object_type] privilege_level

返回值

'GRANT ALL ON db_name.* TO user' 'GRANT SELECT(column_name) ON db_name.table_name TO user'

查看用戶權限

  • 不指定用戶或是指定用戶即當前用戶,則列出當前用戶在指定數據庫上被授予的權限
  • 否則,列出當前用戶在指定數據庫上授予指定用戶的權限

其它相關內容

權限的默認約定

  • 數據庫創建者擁有在該數據庫上的所有權限
  • 表(組)創建者擁有在該表(組)上的所有權限
  • 其他數據庫用戶擁有被各數據庫擁有者授予的權限
  • SHOW DATABASES 語句不進行權限檢查,可在不指定數據庫的前提下之星,會返回用戶所有擁有權限的數據庫列表
  • 創建數據庫時不檢查權限,但用戶必須通過阿裏雲官網開通了分析型數據庫服務並處於服務正常運行的狀態

授權/回收權限的權限

  • 數據庫擁有者(暨創建者)在該數據庫上執行 Database 及其級別以下的授權/回收權限,如 SELECT ON db_name.*
  • 其他數據庫用戶目前無法執行授權/回收權限操作

設置ip白名單

目前分析型數據庫支持設置DB粒度的ip訪問白名單,該功能目前處於內測,有需要的客戶可以提交工單索取設置方法和注意事項。

最後更新:2016-11-23 16:03:54

  上一篇:go 6.2 分析型數據庫權限模型__第六章 用戶與權限_使用手冊_分析型數據庫-阿裏雲
  下一篇:go 7.1 使用執行計劃調優__第七章 性能優化和診斷_使用手冊_分析型數據庫-阿裏雲