> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ClickHouse prend-il en charge la sécurité au niveau des lignes et des colonnes ?

> Découvrez les restrictions d’accès au niveau des lignes et des colonnes dans ClickHouse et ClickHouse Cloud, ainsi que la mise en place d’un contrôle d’accès basé sur les rôles (RBAC) à l’aide de politiques.

<div id="clickhouse-and-clickhouse-cloud-both-support-row-and-column-level-access-restrictions">
  ## ClickHouse et ClickHouse Cloud prennent tous deux en charge les restrictions d’accès au niveau des lignes et des colonnes
</div>

ClickHouse et ClickHouse Cloud prennent tous deux en charge les restrictions d’accès au niveau des lignes et des colonnes pour les utilisateurs en lecture seule, nécessaires à la mise en œuvre d’un modèle de contrôle d’accès basé sur les rôles (RBAC).

Les [politiques de lignes](/fr/concepts/features/security/access-rights#row-policy-management) permettent de préciser quelles lignes seront renvoyées à un utilisateur en lecture seule lorsqu’il interroge une table. ClickHouse Cloud est configuré pour activer par défaut ce workflow piloté par SQL. Pour utiliser ce workflow, [CREATE](/fr/reference/statements/create/user) un utilisateur, [GRANT](/fr/reference/statements/grant) à cet utilisateur les privilèges sur une table, puis définissez la [ROW POLICY](/fr/concepts/features/security/access-rights#row-policy-management) appropriée. Lorsque l’utilisateur exécute un `SELECT * FROM table`, seules les lignes autorisées par la politique sont affichées.

Les politiques de lignes filtrent la table dont les données sont lues sur ce serveur. Pour filtrer les requêtes qui transitent par une table [Distributed](/fr/reference/engines/table-engines/special/distributed), créez la politique sur la table locale sous-jacente de chaque serveur du cluster : une politique sur la table `Distributed` elle-même ne peut pas être appliquée à la requête envoyée aux serveurs distants, et ces lectures sont rejetées au lieu de renvoyer silencieusement des lignes non filtrées. La politique sur la table locale n’est pas appliquée lorsque l’initiateur envoie un plan de lecture déjà construit ; conservez donc [`serialize_query_plan = 0`](/fr/reference/settings/session-settings/serialize#serialize_query_plan) pour les utilisateurs dont les politiques de lignes doivent être appliquées (voir le [ticket n°112891](https://github.com/ClickHouse/ClickHouse/issues/112891)).

Les restrictions au niveau des colonnes peuvent être définies directement à l’aide de l’[instruction GRANT](/fr/reference/statements/grant) afin d’activer un accès au niveau de la table pour les utilisateurs et les rôles. Les utilisateurs *ne peuvent inclure* dans une requête que les colonnes auxquelles ils ont accès. Si une requête sélectionne des colonnes restreintes dans une table alors que l’utilisateur n’a pas accès à toutes les colonnes spécifiées, comme avec `SELECT * FROM table`, une erreur indiquera que l’utilisateur ne dispose pas des permissions suffisantes.
