全部产品
Search
文档中心

ApsaraDB for ClickHouse:GRANT

更新时间:Nov 11, 2025

Topik ini menjelaskan cara menggunakan pernyataan GRANT untuk memberikan izin kepada akun standar ApsaraDB for ClickHouse.

Prasyarat

Akun database Anda harus merupakan akun istimewa atau akun standar yang memiliki izin GRANT.

Batasan

Pernyataan GRANT hanya dapat memberikan izin DML kepada akun standar.

Sintaksis

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

Parameter

  • ON CLUSTER default: Menjalankan operasi pemberian izin pada setiap node. Parameter ini memiliki nilai tetap ON CLUSTER default.

  • priv_type: Menentukan jenis izin yang diberikan. Untuk informasi selengkapnya, lihat Privileges.

  • column_list: Opsional. Menentukan kolom tempat izin diberikan. Jika parameter ini dihilangkan, izin diberikan pada semua kolom.

    Sebagai contoh, jika Anda menetapkan priv_type ke SELECT dan column_list ke name, akun tersebut diberikan izin SELECT pada kolom name.

  • priv_level: Menentukan tingkat di mana izin diberikan.

    • *.*: Memberikan izin pada tingkat kluster.

    • db_name.*: Memberikan izin pada tingkat database.

    • db_name.table_name atau table_name: Memberikan izin pada tingkat tabel.

  • WITH GRANT OPTION: Memberikan izin GRANT kepada akun tersebut. Akun dengan izin GRANT dapat memberikan izinnya kepada akun lain.

Contoh

  • Berikan izin all pada tingkat kluster kepada account2.

    GRANT ON CLUSTER default all ON *.* TO 'account2';
  • Berikan izin all pada database ck_demo kepada account3.

    GRANT ON CLUSTER default all ON ck_demo.* TO 'account3';
  • Berikan izin SELECT dan INSERT kepada account1 dan account2.

    GRANT ON CLUSTER default SELECT,INSERT ON *.* TO 'account1','account2'
  • Buat akun menggunakan pernyataan CREATE USER, lalu berikan izin kepada akun tersebut menggunakan pernyataan GRANT.

    • Buat akun dan berikan izin DML pada tingkat kluster.

      CREATE USER 'test' ON CLUSTER default IDENTIFIED WITH sha256_password BY 'Testpassword1';
      GRANT ON CLUSTER default INSERT,SELECT,ALTER,DROP on *.* to 'test';
    • Buat akun dan berikan izin DML pada database ck_demo.

      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';
    • Buat akun dan berikan izin SELECT pada kolom customer_id dan gender di tabel customer.

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