consul_acl - Управление ключами и правилами доступа Consul ACL
Новая версия с 2.0.
Обзор
- Позволяет добавлять, изменять и удалять ключи ACL и связанные правила в кластере Consul через агент. Более подробную информацию об использовании и настройке ACL см. в https://www.consul.io/docs/guides/acl.html.
Требования (для хоста, на котором выполняется модуль)
- python >= 2.6
- python-consul
- pyhcl
- requests
Параметры
| параметр | обязательно | по умолчанию | значения | комментарии |
|---|---|---|---|---|
| host | нет | localhost | хост агента Consul, по умолчанию localhost | |
| mgmt_token | нет | токен управления необходим для манипуляции списками acl | ||
| name | нет | имя, которое должно быть ассоциировано с ключом acl. Для Consul оно не имеет значения. | ||
| port | нет | 8500 | порт, на котором работает агент Consul | |
| rules | нет | список правил, которые должны быть ассоциированы с заданным токеном | ||
| scheme (добавлен в 2.1)
| нет | http | схема протокола, на которой работает агент Consul | |
| state | нет | present |
| наличие или отсутствие пары ACL |
| token | нет | ключ токена, идентифицирующий набор правил ACL. Если сгенерирован Consul, это будет UUID | ||
| token_type | нет | client |
| тип токена, который должен быть создан: management или client |
| validate_certs (добавлен в 2.1)
| нет | True | проверять ли сертификат TLS агента Consul |
Примеры
- name: create an ACL with rules
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
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
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
consul_acl:
host: consul1.example.com
mgmt_token: some_management_acl
token: 172bd5c8-9fe9-11e4-b1b0-3c15c2c9fd5e
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие поля уникальны для данного модуля:
| имя | описание | возвращается | тип | пример |
|---|---|---|---|---|
| operation | выполненная операция над ACL | изменено | строка | update |
| rules | представление правил ACL в формате HCL JSON, как описано в документации Consul (https://www.consul.io/docs/guides/acl.html#rule-specification). | I(status) == "present" | строка | {'key': {'foo': {'policy': 'write'}, 'bar': {'policy': 'deny'}}} |
| token | токен, связанный с ACL (идентификатор ACL) | успех | строка | a2ec332f-04cf-6fba-e8b8-acf62444d3da |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантированно будет обратной совместим.
Для помощи в разработке модулей, если вас это интересует, пожалуйста, прочтите Информацию о сообществе и вклад, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/consul_acl_module.html