Utilisez l'instruction GRANT pour accorder des permissions spécifiques, telles que les permissions de lecture et d'écriture sur une table ou toutes les permissions sur une base de données.
Moteurs compatibles
L'instruction GRANT s'applique à LindormTable et LindormTSDB. Il n'y a aucune restriction de version.
Syntaxe
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
Notes d'utilisation
Le succès de l'exécution d'une instruction GRANT dépend des permissions de l'utilisateur qui l'exécute.
Permissions (privilege_definition)
Les permissions suivantes sont disponibles :
Permission | Description |
ALL ou ALL PRIVILEGE | Accorde toutes les permissions à un utilisateur. Cela inclut les permissions READ, WRITE, ADMIN et TRASH. |
READ | Accorde la permission de lecture à un utilisateur. |
WRITE | Accorde la permission d'écriture à un utilisateur. |
ADMIN | Accorde la permission « Administrateur » à l'utilisateur. Important La permission ADMIN est indépendante des permissions READ et WRITE. L'attribution de la permission ADMIN sur une base de données n'accorde pas l'autorisation de lire ou d'écrire dans les tables de cette base de données. Vous devez accorder séparément les permissions de lecture et d'écriture pour les tables. |
TRASH | Accorde la permission de suppression à un utilisateur. |
SYSTEM | Accorde des permissions de gestion au niveau du cluster à un utilisateur. Cela inclut la permission GLOBAL ADMIN. Important Vous ne pouvez pas accorder la permission SYSTEM au niveau de la base de données. |
Étendue des permissions (resource_definition)
L'instruction GRANT dans LindormTable et LindormTSDB prend en charge les étendues de ressources suivantes :
Permissions | LindormTable | LindormTSDB | Description |
GLOBAL | 0 | 0 | Accorde une permission spécifique sur toutes les ressources globales. Important Évitez d'accorder des permissions GLOBAL, en particulier GLOBAL ALL PRIVILEGES. |
DATABASE | • | 0 | Accorde une permission spécifique sur une base de données. Cela équivaut à SCHEMA. Remarque Les versions 2.5.3.3 et ultérieures de LindormTable prennent en charge le mot-clé |
TABLE | 0 | Non pris en charge | Accorde une permission spécifique sur une table spécifiée. |
La priorité des étendues de ressources est GLOBAL > DATABASE (SCHEMA) > TABLE. Par exemple, si un utilisateur dispose de la permission GLOBAL READ, il peut lire les tables de n'importe quelle base de données.
Lorsque vous utilisez le mot-clé DATABASE, SCHEMA ou TABLE, vous devez spécifiez le nom de l'objet (identifier). Par exemple, DATABASE default, SCHEMA default et TABLE test font référence à la base de données default et à la table test.
Objet d'autorisation (user_identifier)
user_identifier correspond au nom d'utilisateur de l'utilisateur auquel vous souhaitez accorder des permissions.
Exemples
Accorder toutes les permissions
Accordez toutes les permissions sur la base de données db1 à l'utilisateur user1.
GRANT ALL ON DATABASE db1 TO user1;
-- Or
GRANT ALL ON SCHEMA db1 TO user1;
Accorder des permissions spécifiques
-
Accordez la permission d'administrateur sur la table table2 de la base de données db2 à l'utilisateur user2.
GRANT ADMIN ON TABLE db2.table2 TO user2; -
Accordez la permission d'écriture sur la table table3 de la base de données actuelle à l'utilisateur user3.
GRANT WRITE ON TABLE table3 TO user3; -
Accordez la permission de lecture globale à l'utilisateur user4.
GRANT READ ON GLOBAL TO user4;