全部產品
Search
文件中心

ApsaraDB for ClickHouse:GRANT

更新時間:Jun 30, 2024

本文介紹如何使用GRANT語句為雲資料庫ClickHouse的普通帳號授予許可權。

前提條件

  • 目的地組群為社區相容版叢集。

  • 您的資料庫帳號為高許可權帳號或者具備GRANT許可權的普通帳號。

使用限制

GRANT語句僅支援為普通帳號授DML操作的許可權。

文法

GRANT [ON CLUSTER default]
    priv_type [(column_list [,...])] [,...]    
    ON priv_level
    TO {user | CURRENT_USER} [,...]
    [WITH GRANT OPTION]

參數說明

  • ON CLUSTER default:在每一個節點上都執行授權操作,固定為ON CLUSTER default

  • priv_type:權限類別型。取值說明,請參見權限類別型

  • column_list:選擇性參數。指定參數值時,授予指定列的許可權。不指定時,授予所有列的許可權。

    例如:當priv_typeSELECTcolumn_list為name時,表示為帳號授予name列的SELECT許可權。

  • priv_level:授權的層級。

    • *.*:叢集層級。

    • db_name.*:資料庫層級。

    • db_name.table_name或者table_name:表層級。

  • WITH GRANT OPTION:授予帳號GRANT的許可權。被授予GRANT許可權的帳號能夠將自己被授與權限再授予給其他帳號。

樣本

  • 為帳號account2授予叢集層級的all許可權。

    GRANT ON CLUSTER default all ON *.* TO 'account2';
  • 為帳號account3授予ck_demo資料庫的all許可權。

    GRANT ON CLUSTER default all ON ck_demo.* TO 'account3';
  • 為帳號account1和account2授予SELECTINSERT許可權。

    GRANT ON CLUSTER default SELECT,INSERT ON *.* TO 'account1','account2'
  • 通過CREATE USER建立帳號,再通過GRANT授權帳號。

    • 建立帳號並給其授予叢集層級DML許可權。

      CREATE USER 'test' ON CLUSTER default IDENTIFIED WITH sha256_password BY 'Testpassword1';
      GRANT ON CLUSTER default INSERT,SELECT,ALTER,DROP on *.* to 'test';
    • 建立帳號並給其授予ck_demo資料庫的DML許可權。

      CREATE USER 'test123' ON CLUSTER default IDENTIFIED WITH sha256_password BY 'Testpassword123';
      GRANT ON CLUSTER default INSERT,SELECT,ALTER,DROP on ck_demo.* to 'test123';
    • 建立帳號並給其授予customer表中customer_id和gender列的SELECT許可權。

      CREATE USER 'test321' ON CLUSTER default IDENTIFIED WITH sha256_password BY 'Testpassword321';
      GRANT ON CLUSTER default SELECT (customer_id, gender) ON customer to 'test321';