ClickHouse/docs/fr/operations/access-rights.md
2020-10-13 20:23:29 +03:00

9.5 KiB

machine_translated machine_translated_rev toc_priority toc_title
true 72537a2d52 48 Le Contrôle d'accès et de Gestion de Compte

Le Contrôle d'accès et de Gestion de Compte

Clickhouse prend en charge la gestion du contrôle d'accès basée sur RBAC approche.

Entités d'accès ClickHouse:

Vous pouvez configurer des entités d'accès à l'aide de:

Nous vous recommandons D'utiliser un workflow piloté par SQL. Les deux méthodes de configuration fonctionnent simultanément, donc si vous utilisez les fichiers de configuration du serveur pour gérer les comptes et les droits d'accès, vous pouvez passer doucement au flux de travail piloté par SQL.

!!! note "Avertissement" Vous ne pouvez pas gérer la même entité d'accès par les deux méthodes de configuration simultanément.

Utilisation

Par défaut, le serveur ClickHouse fournit le compte utilisateur default ce qui n'est pas autorisé à utiliser le contrôle D'accès piloté par SQL et la gestion de compte, mais a tous les droits et autorisations. Le default compte d'utilisateur est utilisé dans tous les cas, lorsque l'utilisateur n'est pas défini, par exemple, lors de la connexion du client ou dans les requêtes distribuées. Dans le traitement des requêtes distribuées, un compte utilisateur par défaut est utilisé si la configuration du serveur ou du cluster ne spécifie pas d'utilisateur et mot de passe propriété.

Si vous commencez simplement à utiliser ClickHouse, vous pouvez utiliser le scénario suivant:

  1. Permettre Contrôle D'accès piloté par SQL et gestion de compte pour le default utilisateur.
  2. Connexion en vertu de la default compte d'utilisateur et de créer tous les utilisateurs. N'oubliez pas de créer un compte d'administrateur (GRANT ALL ON *.* WITH GRANT OPTION TO admin_user_account).
  3. Restreindre les autorisations pour l' default utilisateur et désactiver le contrôle D'accès piloté par SQL et la gestion des comptes pour elle.

Propriétés de la Solution actuelle

  • Vous pouvez accorder des autorisations pour les bases de données et les tables même si elles n'existent pas.
  • Si une table a été supprimée, tous les privilèges correspondant à cette table ne sont pas révoqués. Ainsi, si une nouvelle table est créée plus tard avec le même nom, tous les privilèges redeviennent réels. Pour révoquer les privilèges correspondant à la table supprimée, vous devez effectuer, par exemple, l' REVOKE ALL PRIVILEGES ON db.table FROM ALL requête.
  • Il n'y a pas de paramètres de durée de vie pour les privilèges.

Compte d'utilisateur

Un compte d'utilisateur est une entité qui permet d'autoriser quelqu'un à ClickHouse. Un compte utilisateur contient:

  • Informations d'Identification.
  • Privilège qui définissent l'étendue des requêtes que l'utilisateur peut effectuer.
  • Hôtes à partir desquels la connexion au serveur ClickHouse est autorisée.
  • Rôles accordés et par défaut.
  • Paramètres avec leurs contraintes qui s'appliquent par défaut lors de la connexion de l'utilisateur.
  • Profils de paramètres assignés.

Des privilèges à un compte d'utilisateur peuvent être accordés par GRANT requête ou en attribuant rôle. Pour révoquer les privilèges d'un utilisateur, ClickHouse fournit REVOKE requête. Pour lister les privilèges d'un utilisateur, utilisez - SHOW GRANTS déclaration.

Gestion des requêtes:

Paramètres Application

Les paramètres peuvent être définis de différentes manières: pour un compte utilisateur, dans ses profils de rôles et de paramètres accordés. Lors d'une connexion utilisateur, si un paramètre est défini dans différentes entités d'accès, la valeur et les contraintes de ce paramètre sont appliquées par les priorités suivantes (de plus haut à plus bas):

  1. Paramètre de compte utilisateur.
  2. Les paramètres de rôles par défaut du compte d'utilisateur. Si un paramètre est défini dans certains rôles, l'ordre de la mise en application n'est pas défini.
  3. Les paramètres dans les profils de paramètres attribués à un utilisateur ou à ses rôles par défaut. Si un paramètre est défini dans certains profils, l'ordre d'application des paramètres n'est pas défini.
  4. Paramètres appliqués à l'ensemble du serveur par défaut profil par défaut.

Rôle

Le rôle est un conteneur pour l'accès des entités qui peuvent être accordées à un compte d'utilisateur.

Rôle contient:

  • Privilège
  • Paramètres et contraintes
  • Liste des rôles attribués

Gestion des requêtes:

Les privilèges d'un rôle peuvent être accordés par GRANT requête. Pour révoquer les privilèges D'un rôle ClickHouse fournit REVOKE requête.

La Ligne Politique

La stratégie de ligne est un filtre qui définit les lignes disponibles pour un utilisateur ou pour un rôle. La stratégie de ligne contient des filtres pour une table spécifique et une liste de rôles et / ou d'utilisateurs qui doivent utiliser cette stratégie de ligne.

Gestion des requêtes:

Les Paramètres De Profil

Paramètres profil est une collection de paramètre. Le profil paramètres contient les paramètres et les contraintes, ainsi que la liste des rôles et/ou des utilisateurs auxquels ce quota est appliqué.

Gestion des requêtes:

Quota

Le Quota limite l'utilisation des ressources. Voir Quota.

Quota contient un ensemble de limites pour certaines durées, et la liste des rôles et/ou des utilisateurs qui devrait utiliser ce quota.

Gestion des requêtes:

Activation du contrôle D'accès piloté par SQL et de la gestion de Compte

  • Configurez un répertoire pour le stockage des configurations.

    Clickhouse stocke les configurations d'entité d'accès dans le dossier défini dans access_control_path paramètre de configuration du serveur.

  • Activez le contrôle D'accès piloté par SQL et la gestion de compte pour au moins un compte d'utilisateur.

    Par défaut, le contrôle D'accès piloté par SQL et la gestion des comptes sont activés pour tous les utilisateurs. Vous devez configurer au moins un utilisateur dans le users.xml fichier de configuration et affecter 1 au access_management paramètre.

Article Original