Gunakan sintaks GRANT untuk memberikan izin tertentu kepada pengguna. Contohnya, Anda dapat memberikan izin baca dan tulis pada tabel atau izin penuh pada database.
Mesin yang berlaku
Sintaks GRANT berlaku untuk semua versi LindormTable dan LindormTSDB.
Sintaks
grant_permission_statement ::= GRANT privilege_definition ON resource_definition TO user_identifier
privilege_definition ::= ALL | READ | WRITE | ADMIN | TRASH | SYSTEM
resource_definition ::= GLOBAL | DATABASE identifier | SCHEMA identifier | TABLE identifierParameter
Keberhasilan eksekusi pernyataan GRANT bergantung pada izin yang dimiliki oleh pengguna yang menjalankan pernyataan tersebut. Untuk informasi lebih lanjut, lihat Manajemen Pengguna dan Izin.
Izin (privilege_definition)
Tabel berikut menjelaskan izin yang dapat diberikan.
Izin | Deskripsi |
ALL atau ALL PRIVILEGE | Berikan pengguna semua izin pada sumber daya, termasuk READ, WRITE, ADMIN, dan TRASH. |
READ | Berikan pengguna izin baca pada sumber daya. |
WRITE | Berikan pengguna izin tulis pada sumber daya. |
ADMIN | Berikan pengguna izin administrator pada sumber daya. Penting Izin ADMIN independen dari izin READ dan WRITE. Pengguna yang diberikan izin ADMIN pada database mungkin gagal membaca atau menulis semua tabel dalam database kecuali pengguna diberikan izin baca atau tulis pada tabel tersebut. |
TRASH | Berikan pengguna izin hapus pada sumber daya. |
SYSTEM | Berikan pengguna izin manajemen kluster pada sumber daya. Izin SYSTEM mencakup izin ADMIN pada level GLOBAL. Penting Anda tidak dapat memberikan izin SYSTEM pada database tertentu. |
Level sumber daya (resource_definition)
Tabel berikut menjelaskan level sumber daya tempat Anda dapat memberikan izin di LindormTable dan LindormTSDB menggunakan sintaks GRANT.
Level sumber daya | LindormTable | LindormTSDB | Deskripsi |
GLOBAL | 〇 | 〇 | Berikan pengguna izin pada sumber daya global. Penting Kami menyarankan agar Anda tidak memberikan izin, terutama izin ALL PRIVILEGE, pada sumber daya level GLOBAL. |
DATABASE | 〇 | 〇 | Berikan pengguna izin pada database yang ditentukan. Level DATABASE setara dengan level SCHEMA. Catatan LindormTable versi 2.5.3.3 dan yang lebih baru mendukung level |
TABLE | 〇 | ✖️ | Berikan pengguna izin pada tabel yang ditentukan. |
Ketiga level sumber daya dalam tabel di atas memiliki urutan lingkup menurun sebagai berikut: GLOBAL > DATABASE (SCHEMA) > TABLE. Sebagai contoh, jika pengguna memiliki izin READ pada level GLOBAL, pengguna dapat membaca semua tabel dalam database.
Saat menggunakan kata kunci DATABASE, SCHEMA, atau TABLE, Anda harus menentukan pengenal level izin. Contohnya, DATABASE default dan SCHEMA default mengacu pada database bernama default, sedangkan TABLE test mengacu pada tabel bernama test.
Pengguna yang diberikan izin (user_identifier)
Parameter user_identifier menunjukkan pengguna yang menerima izin.
Contoh
Berikan semua izin kepada pengguna
Berikan semua izin pada database db1 kepada pengguna bernama user1.
GRANT ALL ON DATABASE db1 TO user1;
-- atau
GRANT ALL ON SCHEMA db1 TO user1;Berikan izin tertentu kepada pengguna
Berikan izin ADMIN pada table2 dalam database db2 kepada pengguna bernama user2.
GRANT ADMIN ON TABLE db2.table2 TO user2;Berikan izin WRITE pada table3 dalam database saat ini kepada pengguna bernama user3.
GRANT WRITE ON TABLE table3 TO user3;Berikan izin READ pada level GLOBAL kepada pengguna bernama user4.
GRANT READ ON GLOBAL TO user4;