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

ApsaraDB for ClickHouse:GRANT

最終更新日:Oct 17, 2024

このトピックでは、GRANTステートメントを実行して、ApsaraDB for ClickHouseの標準アカウントに権限を付与する方法について説明します。

前提条件

  • アカウントに権限を付与するクラスターは、ApsaraDB for ClickHouse Community互換Editionクラスターです。

  • データベースアカウントは、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: 許可する権限の種類を指定します。 有効な値の詳細については、「特権」をご参照ください。

  • colum_list: オプションです。 パラメーター値を指定すると、指定した列に対して権限が付与されます。 パラメーター値を指定しない場合、すべての列に権限が付与されます。

    たとえば、priv_typeパラメーターがSELECTに設定され、column_listパラメーターがnameに設定されている場合、アカウントにはname列に対するSELECT権限が付与されます。

  • priv_level: 権限のレベルを指定します。

    • *.*: クラスターレベルを指定します。

    • db_name.*: データベースレベルを指定します。

    • db_name.table_nameまたはtable_name: テーブルレベルを指定します。

  • WITH GRANT OPTION: GRANT権限をアカウントに付与することを指定します。 アカウントにGRANT権限がある場合、アカウントは他のアカウントに権限を付与できます。

  • クラスタレベルのすべての権限をaccount2に付与します。

    GRANT ON CLUSTER default all ON *.* TO 'account2';
  • ck_demoデータベースのすべての権限をaccount3に付与します。

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