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 tetapON 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_typekeSELECTdancolumn_listke name, akun tersebut diberikan izinSELECTpada 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_nameatautable_name: Memberikan izin pada tingkat tabel.
WITH GRANT OPTION: Memberikan izinGRANTkepada akun tersebut. Akun dengan izinGRANTdapat memberikan izinnya kepada akun lain.
Contoh
Berikan izin
allpada tingkat kluster kepada account2.GRANT ON CLUSTER default all ON *.* TO 'account2';Berikan izin
allpada database ck_demo kepada account3.GRANT ON CLUSTER default all ON ck_demo.* TO 'account3';Berikan izin
SELECTdanINSERTkepada 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 pernyataanGRANT.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
SELECTpada 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';