すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for ClickHouse:GRANT

最終更新日:Nov 09, 2025

この Topic では、GRANT 文を使用して ApsaraDB for 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_typeSELECT に、column_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 に SELECT および INSERT 権限を付与します。

    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';