community.general.consul_acl – Управление ключами и правилами доступа Consul ACL
Примечание
Этот плагин входит в коллекцию community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general
Для использования в playbook укажите: community.general.consul_acl
Обзор
- Позволяет добавлять, изменять и удалять ключи ACL и связанные правила в кластере Consul через агента. Подробнее о настройке и использовании ACL см. https://www.consul.io/docs/guides/acl.html.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться данный модуль.
- python-consul
- pyhcl
- requests
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| host
строка
|
Значение по умолчанию: "localhost" |
Хост агента Consul, по умолчанию localhost |
| mgmt_token
строка / обязательно
|
Для управления списками ACL необходим токен управления |
|
| name
строка
|
Имя, которое должно быть связано с ключом ACL, оно невидимо для Consul |
|
| port
целое число
|
Значение по умолчанию: 8500 |
Порт, на котором работает агент Consul |
| rules
список / элементы=строка
|
Правила, которые должны быть связаны с данным токеном |
|
| scheme
строка
|
Значение по умолчанию: "http" |
Схема протокола, на котором работает агент Consul |
| state
строка
|
|
Требуется ли пара ACL (present или absent) |
| token
строка
|
Ключ токена, идентифицирующий набор правил ACL. Если сгенерирован Consul, это будет UUID |
|
| token_type
строка
|
|
Тип токена, который должен быть создан |
| validate_certs
булево
|
|
Нужно ли проверять TLS-сертификат агента Consul |
Примеры
- name: Create an ACL with rules
community.general.consul_acl:
host: consul1.example.com
mgmt_token: some_management_acl
name: Foo access
rules:
- key: "foo"
policy: read
- key: "private/foo"
policy: deny
- name: Create an ACL with a specific token
community.general.consul_acl:
host: consul1.example.com
mgmt_token: some_management_acl
name: Foo access
token: my-token
rules:
- key: "foo"
policy: read
- name: Update the rules associated to an ACL token
community.general.consul_acl:
host: consul1.example.com
mgmt_token: some_management_acl
name: Foo access
token: some_client_token
rules:
- event: "bbq"
policy: write
- key: "foo"
policy: read
- key: "private"
policy: deny
- keyring: write
- node: "hgs4"
policy: write
- operator: read
- query: ""
policy: write
- service: "consul"
policy: write
- session: "standup"
policy: write
- name: Remove a token
community.general.consul_acl:
host: consul1.example.com
mgmt_token: some_management_acl
token: 172bd5c8-9fe9-11e4-b1b0-3c15c2c9fd5e
state: absent
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| operation
строка
|
changed | Выполненная операция над ACL Пример: update |
| rules
строка
|
status == "present" | Представление правил ACL в формате HCL JSON, как описано в документации Consul (https://www.consul.io/docs/guides/acl.html#rule-specification). Пример: {'key': {'bar': {'policy': 'deny'}, 'foo': {'policy': 'write'}}} |
| token
строка
|
success | Токен, связанный с ACL (ID ACL) Пример: a2ec332f-04cf-6fba-e8b8-acf62444d3da |
Авторы
- Steve Gargan (@sgargan)
- Colin Nolan (@colin-nolan)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/consul_acl_module.html