Spec-Zone.ru › Ansible

Модуль community.clickhouse.clickhouse_user — создание или удаление пользователя ClickHouse с помощью интерфейса Client из clickhouse-driver

Примечание

Этот модуль входит в коллекцию community.clickhouse (версия 2.1.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.clickhouse. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.clickhouse.clickhouse_user.

Добавлено в community.clickhouse 0.4.0

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Создаёт или удаляет пользователя ClickHouse с помощью интерфейса Client из clickhouse-driver.
  • Модуль может только создавать и удалять пользователей без дополнительных параметров. Новые возможности будут добавлены в будущем.

Требования

Следующие требования должны быть выполнены на узле, на котором запускается этот модуль.

  • clickhouse-driver

Параметры

Параметр

Комментарии

authentication

dictionary

добавлено в community.clickhouse 2.1.0

Настройка аутентификации пользователя.

Поддерживается использование LDAP и различных методов хеширования паролей.

Нельзя использовать одновременно с устаревшими password и type_password.

password

string

Пароль или хеш.

server

string

Имя сервера (обязательно, если type=ldap).

type

string

Используемый метод аутентификации.

Варианты:

  • "not_identified"
  • "no_password"
  • "plaintext_password"
  • "sha256_password" ← (по умолчанию)
  • "sha256_hash"
  • "double_sha1_password"
  • "double_sha1_hash"
  • "bcrypt_password"
  • "bcrypt_hash"
  • "ldap"

client_kwargs

dictionary

Любые дополнительные именованные аргументы, передаваемые интерфейсу Client при создании его объекта.

По умолчанию: {}

cluster

string

Выполнять команду на всех узлах кластера.

Если кластер не настроен, выполнение команды завершится ошибкой.

default_roles

list / elements=string

добавлено в community.clickhouse 0.6.0

Назначает указанные роли ролями пользователя по умолчанию.

Роли должны быть явно предоставлены пользователю: вручную до использования этого аргумента или с помощью аргумента roles в той же задаче.

Чтобы добавить или удалить роли, используйте аргумент default_roles_mode.

Чтобы сбросить все роли по умолчанию, передайте пустой список ([]) и default_roles_mode=listed_only.

default_roles_mode

string

добавлено в community.clickhouse 0.6.0

При значении listed_only (по умолчанию) только роли, указанные в default_roles, становятся ролями пользователя по умолчанию. Все остальные роли перестают быть ролями по умолчанию.

При значении append роли, указанные в default_roles, добавляются к существующим ролям пользователя по умолчанию вместо сброса неуказанных ролей.

При значении remove роли, указанные в default_roles, удаляются из ролей пользователя по умолчанию.

Игнорируется, если не задан default_roles.

Варианты:

  • "append"
  • "listed_only" ← (по умолчанию)
  • "remove"

login_db

string

Соответствует аргументу Client(database='...').

Если не указан, используется значение аргумента по умолчанию для драйвера.

login_host

string

Соответствует аргументу Client(host='...').

По умолчанию: "localhost"

login_password

string

Соответствует аргументу Client(password='...').

Если не указан, используется значение аргумента по умолчанию для драйвера.

login_port

integer

Соответствует аргументу Client(port='...').

Если не указан, используется значение аргумента по умолчанию для драйвера.

login_user

string

Соответствует аргументу Client(user='...').

Если не указан, используется значение аргумента по умолчанию для драйвера.

Убедитесь, что у пользователя есть разрешения на чтение системных таблиц, перечисленных в разделе RETURN.

name

string / обязательный

Имя пользователя, которого нужно добавить или удалить.

password

string

Задаёт пароль пользователя.

Пароль можно передать в открытом виде или в виде хеша.

Нельзя использовать одновременно с authentication.

roles

list / elements=string

добавлено в community.clickhouse 0.6.0

Предоставляет пользователю указанные роли.

Чтобы добавить или удалить роли, используйте аргумент roles_mode.

Чтобы отозвать все роли, передайте пустой список ([]) и default_roles_mode=listed_only.

roles_mode

string

добавлено в community.clickhouse 0.6.0

При значении listed_only (по умолчанию) пользователь становится участником только ролей, указанных в roles. Пользователь будет исключён из всех остальных ролей.

При значении append роли, указанные в roles, добавляются к существующим ролям пользователя.

При значении remove роли, указанные в roles, удаляются из ролей пользователя.

Аргумент игнорируется, если не задан roles.

Варианты:

  • "append"
  • "listed_only" ← (по умолчанию)
  • "remove"

settings

list / elements=string

добавлено в community.clickhouse 0.5.0

Настройки с ограничениями, применяемыми по умолчанию при входе пользователя.

Также можно указать профиль, из которого будут наследоваться настройки.

Если параметр указан для существующего пользователя, настройки будут обновлены, только если они отличаются от текущих.

Для сравнения модуль получает текущие настройки из system.settings_profile_elements.

state

string

Состояние пользователя.

Если указано present, пользователь будет создан, если он не существует.

Если указано absent, пользователь будет удалён, если он существует.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

type_password

string

Тип передаваемого пароля (plaintext_password, sha256_password, sha256_hash…).

Подробности см. в разделе https://clickhouse.com/docs/en/sql-reference/statements/create/user.

Нельзя использовать одновременно с authentication.

По умолчанию: "sha256_password"

update_password

string

Если указано on_create, пароль будет задан только для новых пользователей. Если пользователь уже существует, значение password будет проигнорировано.

Если указано always, пароль будет обновляться всегда. Этот параметр не является идемпотентным: пароль будет обновлён, даже если он совпадает с паролем в базе данных. Если в будущем ClickHouse позволит получать хеши паролей и другие необходимые сведения, это поведение будет изменено.

Варианты:

  • "always"
  • "on_create" ← (по умолчанию)

user_hosts

list / elements=dictionary

добавлено в community.clickhouse 1.0.0

Ограничения по хостам для пользователя.

Это список словарей, каждый из которых указывает тип ограничения и хосты или шаблон, к которым оно применяется.

hosts

list / elements=string

Список хостов или шаблонов, с которых пользователю разрешено подключаться.

Этот параметр обязателен, если user_hosts.type не равно ANY или LOCAL.

type

string / обязательный

Метод проверки, определяющий, с каких хостов пользователям разрешено подключаться (ANY, LOCAL, IP, LIKE, NAME, REGEXP).

Если параметр указан для существующего пользователя, предыдущий тип ограничения по хостам и список хостов будут обновлены.

Подробности см. в разделе https://clickhouse.com/docs/en/sql-reference/statements/create/user.

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Поддерживает check_mode.

Примечания

Примечание

  • Дополнительные сведения об интерфейсе драйвера см. в документации clickhouse-driver.

Примеры

- name: Create user granting roles and setting default role
  community.clickhouse.clickhouse_user:
    login_host: localhost
    login_user: alice
    login_db: foo
    login_password: my_password
    name: test_user
    authentication:
      password: qwerty
      type: sha256_password
    roles:
    - accountant
    - manager
    default_roles:
    - accountant

- name: Append the sales role to test_user's roles
  community.clickhouse.clickhouse_user:
    login_host: localhost
    login_user: alice
    login_db: foo
    login_password: my_password
    name: test_user
    roles:
    - sales
    roles_mode: append

- name: Unset all test_user's default roles
  community.clickhouse.clickhouse_user:
    login_host: localhost
    login_user: alice
    login_db: foo
    login_password: my_password
    name: test_user
    default_roles: []

- name: Revoke all roles from test_user
  community.clickhouse.clickhouse_user:
    login_host: localhost
    login_user: alice
    login_db: foo
    login_password: my_password
    name: test_user
    roles: []

- name: If user exists, update password
  community.clickhouse.clickhouse_user:
    login_host: localhost
    login_user: alice
    login_db: foo
    login_password: my_password
    name: test_user
    authentication:
      password: qwerty123
    update_password: always

- name: Update user settings (idempotent - only updates if different)
  community.clickhouse.clickhouse_user:
    login_host: localhost
    login_user: alice
    login_db: foo
    login_password: my_password
    name: test_user
    settings:
      - max_memory_usage = 20000 READONLY
      - max_threads = 8

- name: Create user with specific settings
  community.clickhouse.clickhouse_user:
    login_host: localhost
    login_user: alice
    login_db: foo
    login_password: my_password
    name: test_user
    authentication:
      password: 9e69e7e29351ad837503c44a5971edebc9b7e6d8601c89c284b1b59bf37afa80
      type: sha256_hash
    cluster: test_cluster
    settings:
      - max_memory_usage = 15000 MIN 15000 MAX 16000 READONLY
      - PROFILE 'restricted'
    state: present

- name: Create a user that can only connect from a specified host
  community.clickhouse.clickhouse_user:
    login_host: localhost
    login_user: alice
    login_db: foo
    login_password: my_password
    name: test_user
    user_hosts:
      - type: NAME
        hosts:
          - 'host1'

- name: Update user host restrictions. Any previous host restrictions will be replaced. (idempotent - only updates if different)
  community.clickhouse.clickhouse_user:
    login_host: localhost
    login_user: alice
    login_db: foo
    login_password: my_password
    name: test_user
    user_hosts:
      - type: LIKE
        hosts:
          - '%.example.com'

- name: Drop user
  community.clickhouse.clickhouse_user:
    login_host: localhost
    login_user: alice
    login_db: foo
    login_password: my_password
    name: test_user
    state: absent

- name: Create user identified with ldap
  community.clickhouse.clickhouse_user:
    name: alice
    state: present
    authentication:
      type: ldap
      server: ad

- name: Create user identified with password
  community.clickhouse.clickhouse_user:
    name: alice
    state: present
    authentication:
      password: my_password

- name: Create user identified with passed hash
  community.clickhouse.clickhouse_user:
    name: alice
    state: present
    authentication:
      type: sha256_hash
      password: my_hash

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

executed_statements

list / elements=string

Выполненные операторы, изменяющие данные.

Возвращается: при успешном выполнении

Пример: ["CREATE USER test_user IDENTIFIED WITH ***** BY '*****'"]

Авторы

  • Aleksandr Vagachev (@aleksvagachev)
  • Andrew Klychkov (@Andersson007)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Сообщить о проблеме
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/clickhouse/clickhouse_user_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API