Utilice la instrucción GRANT para otorgar permisos específicos, como los permisos de lectura y escritura sobre una tabla o todos los permisos sobre una base de datos.
Motores compatibles
La instrucción GRANT es compatible con LindormTable y LindormTSDB. No existen restricciones de versión.
Sintaxis
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 identifier
Notas de uso
Que una instrucción GRANT se ejecute correctamente depende de los permisos del usuario que la ejecuta.
Permisos (privilege_definition)
A continuación se muestran los permisos disponibles:
Permiso | Descripción |
ALL o ALL PRIVILEGE | Otorga todos los permisos a un usuario. Esto incluye los permisos READ, WRITE, ADMIN y TRASH. |
READ | Otorga el permiso de lectura a un usuario. |
WRITE | Otorga el permiso de escritura a un usuario. |
ADMIN | Otorga al usuario el permiso de "Administrador". Importante El permiso ADMIN es independiente de los permisos READ y WRITE. Otorgar el permiso ADMIN sobre una base de datos no concede el permiso para leer ni escribir en las tablas de dicha base de datos. Debe otorgar los permisos de lectura y escritura de las tablas por separado. |
TRASH | Otorga el permiso de eliminación a un usuario. |
SYSTEM | Otorga a un usuario permisos de administración de clúster. Esto incluye el permiso GLOBAL ADMIN. Importante No es posible otorgar el permiso SYSTEM en una base de datos. |
Alcance de los permisos (resource_definition)
La instrucción GRANT en LindormTable y LindormTSDB admite los siguientes alcances de recursos:
Permisos | LindormTable | LindormTSDB | Descripción |
GLOBAL | 0 | 0 | Otorga un permiso específico sobre todos los recursos globales. Importante Evite otorgar permisos GLOBAL, especialmente GLOBAL ALL PRIVILEGES. |
DATABASE | • | 0 | Otorga un permiso específico sobre una base de datos. Equivale a SCHEMA. Nota Las versiones 2.5.3.3 y posteriores de LindormTable admiten la palabra clave |
TABLE | 0 | No compatible | Otorga un permiso específico sobre una tabla determinada. |
La prioridad de los alcances de recursos es GLOBAL > DATABASE (SCHEMA) > TABLE. Por ejemplo, si un usuario tiene el permiso GLOBAL READ, puede leer las tablas de cualquier base de datos.
Cuando utilice las palabras clave DATABASE, SCHEMA o TABLE, especifique el nombre del objeto (identifier). Por ejemplo, DATABASE predeterminado, SCHEMA predeterminado y TABLE test hacen referencia a la base de datos default y a la tabla test.
Objeto de autorización (user_identifier)
user_identifier es el nombre del usuario al que desea otorgarle permisos.
Ejemplos
Otorgar todos los permisos
Otorgue todos los permisos sobre la base de datos db1 al usuario user1.
GRANT ALL ON DATABASE db1 TO user1;
-- Or
GRANT ALL ON SCHEMA db1 TO user1;
Otorgar permisos específicos
-
Otorgue el permiso de administrador sobre la tabla table2 de la base de datos db2 al usuario user2.
GRANT ADMIN ON TABLE db2.table2 TO user2; -
Otorgue el permiso de escritura sobre la tabla table3 de la base de datos actual al usuario user3.
GRANT WRITE ON TABLE table3 TO user3; -
Otorgue el permiso de lectura global al usuario user4.
GRANT READ ON GLOBAL TO user4;