Spec-Zone.ru › Ansible

Модуль community.clickhouse.clickhouse_grants – управление разрешениями пользователей и ролей ClickHouse

Примечание

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

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

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

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

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

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

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

  • Предоставляет, обновляет или отзывает права доступа пользователей и ролей ClickHouse.
  • Модуль использует клиентский интерфейс clickhouse-driver.

Требования

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

  • clickhouse-driver

Параметры

Параметр

Комментарии

client_kwargs

словарь

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

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

cluster

строка

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

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

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

exclusive

логическое значение

Если задано значение false (по умолчанию), модуль добавит права, указанные в privileges, к правам, которые уже есть у grantee.

Если задано значение true, модуль отзовёт все текущие права у grantee перед предоставлением новых.

Варианты:

  • false ← (по умолчанию)
  • true

grantee

строка / обязательный

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

login_db

строка

То же, что и аргумент Client(database='...').

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

login_host

строка

То же, что и аргумент Client(host='...').

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

login_password

строка

То же, что и аргумент Client(password='...').

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

login_port

целое число

То же, что и аргумент Client(port='...').

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

login_user

строка

То же, что и аргумент Client(user='...').

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

Убедитесь, что у пользователя есть разрешения на чтение системных таблиц, перечисленных в разделе ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ.

privileges

список / элементы=словарь

Права для предоставления. Этот параметр обязателен, если state имеет значение present.

Это список словарей, каждый из которых задаёт набор прав для объекта базы данных.

grant_option

логическое значение

Логическое значение, применяемое ко всем правам в этом наборе.

Если указано, оно переопределяет индивидуальные настройки параметра grant option в privs.

Варианты:

  • false
  • true

object

строка / обязательный

Объект базы данных, для которого предоставляются права.

Используйте *.* для глобальных прав, database.* для всех таблиц в базе данных и database.table для конкретной таблицы.

privs

словарь / обязательный

Словарь прав.

Ключи — названия прав, например CREATE USER или SELECT(column1, column2).

Значения — логические значения, определяющие, предоставлять ли право с параметром WITH GRANT OPTION.

Также можно использовать параметр grant_option, чтобы применить одинаковую настройку ко всем правам в этом наборе.

state

строка

Если present, модуль предоставит или обновит права.

Если absent, модуль отзовёт все права у grantee.

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

Примечания

Примечание

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

Примеры

- name: Grant global privileges to a user
  community.clickhouse.clickhouse_grants:
    grantee: alice
    privileges:
      - object: '*.*'
        privs:
          "ALTER USER": true       # With grant option
          "CREATE DATABASE": false # Without grant option
          "CREATE USER": false     # Without grant option

- name: Grant privileges on a specific database
  community.clickhouse.clickhouse_grants:
    grantee: bob
    privileges:
      - object: 'infra.*'
        privs:
          "SELECT": true  # With grant option
          "INSERT": false # Without grant option

- name: Grant privileges on a cluster
  community.clickhouse.clickhouse_grants:
    grantee: bob
    cluster: test_cluster
    privileges:
      - object: 'infra.*'
        privs:
          "SELECT": true  # With grant option
          "INSERT": false # Without grant option

- name: Grant SELECT on specific columns of a table
  community.clickhouse.clickhouse_grants:
    grantee: carol
    privileges:
      - object: 'sales.customers'
        privs:
          "SELECT(name, email)": false # Without grant option

- name: Replace all existing privileges for a user
  community.clickhouse.clickhouse_grants:
    grantee: david
    exclusive: true
    privileges:
      - object: 'bar.*'
        privs:
          "SELECT": false  # Without grant option

- name: Revoke all privileges from a user
  community.clickhouse.clickhouse_grants:
    grantee: eve
    state: absent

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

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

Ключ

Описание

diff

словарь

Различия между предыдущим и текущим состояниями.

Возвращается только при включённом режиме diff (с --diff или в check_mode).

Возвращается: если включён режим diff или check_mode имеет значение true

after

словарь

Права после изменения.

Возвращается: всегда

Пример: {"*.*": {"CREATE USER": false}, "foo.*": {"DELETE": true, "INSERT": false, "SELECT": true}}

before

словарь

Права до изменения.

Возвращается: всегда

Пример: {"*.*": {"CREATE USER": false}, "foo.*": {"INSERT": false, "SELECT": true}}

executed_statements

список / элементы=строка

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

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

Пример: ["GRANT SELECT ON foo.* TO alice", "REVOKE INSERT ON foo.* FROM alice"]

Авторы

  • Andrew Klychkov (@Andersson007)
  • Fabian Kohn (@fako1024)

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

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

© 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_grants_module.html

Spec-Zone.ru

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