Accorde des autorisations DML (Data Manipulation Language) à un compte standard dans ApsaraDB for ClickHouse.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Un compte privilégié, ou un compte standard disposant de l'autorisation
GRANT
Limites
L'instruction GRANT n'accorde que des autorisations DML aux comptes standards.
Syntaxe
GRANT [ON CLUSTER default]
priv_type [(column_list [,...])] [,...]
ON priv_level
TO {user | CURRENT_USER} [,...]
[WITH GRANT OPTION]
Paramètres
| Paramètre | Description |
|---|---|
ON CLUSTER default |
Applique l'opération d'octroi à chaque nœud du cluster. La valeur est fixe et doit être ON CLUSTER default. |
priv_type |
Le type d'autorisation à accorder. Pour la liste complète des privilèges pris en charge, consultez la documentation Privileges. |
column_list |
(Facultatif) Les colonnes sur lesquelles les autorisations sont accordées. Si ce paramètre est omis, les autorisations s'appliquent à toutes les colonnes. Par exemple, si vous définissez priv_type sur SELECT et column_list sur name, l'autorisation SELECT est accordée uniquement sur la colonne name. |
priv_level |
La portée à laquelle les autorisations sont accordées : *.* pour le niveau cluster, db_name.* pour le niveau base de données, ou db_name.table_name / table_name pour le niveau table. |
WITH GRANT OPTION |
Accorde l'autorisation GRANT au compte. Un compte disposant de cette autorisation peut accorder ses propres autorisations à d'autres comptes. |
Exemples
Accorder des autorisations à un compte existant
Accordez toutes les autorisations (all) au niveau du cluster pour account2 :
GRANT ON CLUSTER default all ON *.* TO 'account2';
Accordez toutes les autorisations (all) sur la base de données ck_demo pour account3 :
GRANT ON CLUSTER default all ON ck_demo.* TO 'account3';
Accordez les autorisations SELECT et INSERT à account1 et account2 :
GRANT ON CLUSTER default SELECT,INSERT ON *.* TO 'account1','account2'
Créer un compte et accorder des autorisations
Créez un compte à l'aide de l'instruction CREATE USER, puis accordez des autorisations avec GRANT.
Accordez des autorisations DML au niveau du cluster :
CREATE USER 'test' ON CLUSTER default IDENTIFIED WITH sha256_password BY 'Testpassword1';
GRANT ON CLUSTER default INSERT,SELECT,ALTER,DROP on *.* to 'test';
Accordez des autorisations DML sur la base de données 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';
Accordez l'autorisation SELECT sur des colonnes spécifiques (customer_id et gender) dans la table 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';