Поиск community.hashi_vault.vault_list — выполнение операции перечисления в HashiCorp Vault
Примечание
Этот плагин поиска входит в коллекцию community.hashi_vault (версия 7.1.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.hashi_vault. Для использования этого плагина поиска требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.hashi_vault.vault_list.
Добавлено в community.hashi_vault 4.1.0
- Краткое описание
- Требования
- Термины
- Именованные параметры
- Примечания
- См. также
- Примеры
- Возвращаемое значение
Краткое описание
- Выполняет универсальную операцию перечисления по заданному пути в HashiCorp Vault.
Требования
Следующие компоненты требуются на локальном управляющем узле, который выполняет этот поиск.
-
hvac(библиотека Python) - Подробные сведения о требованиях см. на странице требований к коллекции.
Термины
Параметр | Комментарии |
|---|---|
Термины строка / обязательный | Путь (пути) в Vault для перечисления. |
Параметры-ключевые слова
Здесь описаны параметры-ключевые слова lookup-плагина. Это значения key1=value1, key2=value2 и так далее в следующих примерах: lookup('community.hashi_vault.vault_list', key1=value1, key2=value2, ...) и query('community.hashi_vault.vault_list', key1=value1, key2=value2, ...)
Параметр | Комментарии |
|---|---|
auth_method string | Используемый метод аутентификации. Метод аутентификации Метод аутентификации
Метод аутентификации Метод аутентификации Варианты:
Конфигурация:
|
aws_access_key псевдонимы: aws_access_key_id string | Ключ доступа AWS. Конфигурация:
|
aws_iam_server_id string добавлено в community.hashi_vault 0.2.0 | Если задано, устанавливает значение для заголовка Конфигурация:
|
aws_profile псевдонимы: boto_profile string | |
aws_secret_key псевдонимы: aws_secret_access_key string | Секретный ключ AWS, соответствующий ключу доступа. Конфигурация:
|
aws_security_token string | Токен безопасности AWS при использовании временных ключей доступа и секретных ключей. Конфигурация:
|
azure_client_id string добавлено в community.hashi_vault 3.2.0 | Идентификатор клиента (также известный как идентификатор приложения) субъекта-службы Azure AD или управляемого удостоверения. Должен быть UUID. Если не задано, будет использоваться управляемое удостоверение, назначенное системой. Конфигурация:
|
azure_client_secret string добавлено в community.hashi_vault 3.2.0 | Секрет клиента субъекта-службы Azure AD. Конфигурация:
|
azure_resource string добавлено в community.hashi_vault 3.2.0 | URL ресурса для приложения, зарегистрированного в Azure Active Directory. Обычно его не следует изменять относительно значения по умолчанию. По умолчанию: Конфигурация:
|
azure_tenant_id string добавлено в community.hashi_vault 3.2.0 | Идентификатор клиента Azure Active Directory (также известный как идентификатор каталога) субъекта-службы. Должен быть UUID. Обязателен при использовании субъекта-службы для аутентификации в Vault, например, если заданы оба параметра azure_client_id и azure_client_secret. Необязателен при использовании управляемого удостоверения для аутентификации в Vault. Конфигурация:
|
ca_cert псевдонимы: cacert string | Путь к сертификату, используемому для аутентификации. Если он не задан никаким другим способом, будет использоваться переменная среды Конфигурация:
|
cert_auth_private_key path добавлено в community.hashi_vault 1.4.0 | Для аутентификации Конфигурация:
|
cert_auth_public_key path добавлено в community.hashi_vault 1.4.0 | Для аутентификации Конфигурация:
|
jwt string | JSON Web Token (JWT), используемый для аутентификации в Vault с помощью JWT. Конфигурация:
|
mount_point string | Точка монтирования Vault. Если не задана, используется точка монтирования по умолчанию для соответствующего метода аутентификации. Не применяется для аутентификации по токену. Конфигурация:
|
namespace string | Пространство имен Vault, в котором хранятся секреты. Для этого параметра требуется HVAC версии 0.7.0+ и Vault версии 0.11+. Этого также можно добиться, добавив пространство имен в начало точки монтирования аутентификации и/или пути к секрету (например, Если задана переменная среды Конфигурация:
|
password string | Пароль для аутентификации. Конфигурация:
|
proxies any добавлено в community.hashi_vault 1.1.0 | URL прокси-серверов, используемых для доступа к службе Vault. Значение может быть строкой или словарем. Если это словарь, укажите схему (например, Если это строка, укажите один URL, который будет использоваться в качестве прокси для схем Строка, которую можно интерпретировать как словарь, будет преобразована в словарь (см. примеры). Для ресурсов HTTP и HTTPS можно указать разные прокси. Если параметр не задан, используются переменные среды библиотеки Requests. Конфигурация:
|
region string | Регион AWS, для которого создается подключение. Конфигурация:
|
retries any добавлено в community.hashi_vault 1.3.0 | Позволяет повторять запросы при ошибках на основе класса Retry библиотеки urllib3. В этой коллекции заданы рекомендуемые значения по умолчанию для повторных подключений к Vault. Для этого параметра можно указать положительное число (целое) или словарь. Если параметр не задан или число равно Число задает общее количество повторов; для остальных параметров используются значения коллекции по умолчанию. Значение-словарь используется непосредственно для инициализации класса Подробные сведения о повторах см. в руководстве пользователя коллекции. Конфигурация:
|
retry_action string добавлено в community.hashi_vault 1.3.0 | Управляет тем, показывать ли сообщения о повторах и каким образом. Не влияет на запросы, которые не повторяются. Варианты:
Конфигурация:
|
role_id string | Идентификатор или имя роли Vault. Используется в методах аутентификации Для аутентификации Для аутентификации Конфигурация:
|
secret_id string | Идентификатор секрета для аутентификации Vault AppRole. Конфигурация:
|
timeout integer добавлено в community.hashi_vault 1.3.0 | Задает время ожидания подключения в секундах. Если параметр не задан, используется значение по умолчанию библиотеки Конфигурация:
|
token string | Токен Vault. Токен можно указать явно, через перечисленные переменные [env], а также через переменную среды Если токен не задан явно или через переменные среды, плагин проверит наличие файла токена, определяемого параметрами token_path и token_file. Порядок загрузки токена (используется первое найденное значение): Конфигурация:
|
token_file string | Если токен не задан, будет предпринята попытка прочитать его из этого файла в token_path. По умолчанию: Конфигурация:
|
token_path string | Если токен не указан, будет предпринята попытка прочитать файл token_file по этому пути. Конфигурация:
|
token_validate boolean добавлено в community.hashi_vault 0.2.0 | При аутентификации по токену перед его использованием будет выполнена операция Отключите эту функцию, если у вашего токена нет возможности Варианты:
Конфигурация:
|
url string | URL-адрес службы Vault. Если значение не указано иным способом, будет использоваться значение переменной окружения Если также не задан Конфигурация:
|
username string | Имя пользователя для аутентификации. Конфигурация:
|
validate_certs boolean | Управляет проверкой и валидацией SSL-сертификатов; обычно отключать её следует только для самоподписанных сертификатов. Если задано значение Если не заданы ни validate_certs, ни Варианты:
Конфигурация:
|
Примечание
Для каждого типа записи (переменная Ansible, переменная окружения и т. д.) перечисленные выше параметры конфигурации упорядочены по приоритету от низкого к высокому. Например, переменная, находящаяся ниже в списке, переопределит переменную, расположенную выше. Типы записей также упорядочены по приоритету от низкого к высокому. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- При совместном использовании именованных и позиционных параметров позиционные параметры необходимо указывать перед именованными:
lookup('community.hashi_vault.vault_list', term1, term2, key1=value1, key2=value2)иquery('community.hashi_vault.vault_list', term1, term2, key1=value1, key2=value2)
См. также
См. также
- community.hashi_vault.vault_list
-
Выполняет операцию перечисления элементов в HashiCorp Vault.
Примеры
- name: List all secrets at a path
ansible.builtin.debug:
msg: "{{ lookup('community.hashi_vault.vault_list', 'secret/metadata', url='https://vault:8201') }}"
# For kv2, the path needs to follow the pattern 'mount_point/metadata' or 'mount_point/metadata/path' to list all secrets in that path
- name: List access policies
ansible.builtin.debug:
msg: "{{ lookup('community.hashi_vault.vault_list', 'sys/policies/acl', url='https://vault:8201') }}"
- name: Perform multiple list operations with a single Vault login
vars:
paths:
- secret/metadata
- sys/policies/acl
ansible.builtin.debug:
msg: "{{ lookup('community.hashi_vault.vault_list', *paths, auth_method='userpass', username=user, password=pwd) }}"
- name: Perform multiple list operations with a single Vault login in a loop
vars:
paths:
- secret/metadata
- sys/policies/acl
ansible.builtin.debug:
msg: '{{ item }}'
loop: "{{ query('community.hashi_vault.vault_list', *paths, auth_method='userpass', username=user, password=pwd) }}"
- name: Perform list operations with a single Vault login in a loop (via with_)
vars:
ansible_hashi_vault_auth_method: userpass
ansible_hashi_vault_username: '{{ user }}'
ansible_hashi_vault_password: '{{ pwd }}'
ansible.builtin.debug:
msg: '{{ item }}'
with_community.hashi_vault.vault_list:
- secret/metadata
- sys/policies/acl
- name: Create fact consisting of list of dictionaries each with secret name (e.g. username) and value of a key (e.g. 'password') within that secret
ansible.builtin.set_fact:
credentials: >-
{{
credentials
| default([]) + [
{
'username': item,
'password': lookup('community.hashi_vault.vault_kv2_get', item, engine_mount_point='vpn-users').secret.password
}
]
}}
loop: "{{ query('community.hashi_vault.vault_list', 'vpn-users/metadata')[0].data['keys'] }}"
no_log: true
- ansible.builtin.debug:
msg: "{{ credentials }}"
- name: Create the same as above without looping, and only 2 logins
vars:
secret_names: >-
{{
query('community.hashi_vault.vault_list', 'vpn-users/metadata')
| map(attribute='data')
| map(attribute='keys')
| flatten
}}
secret_values: >-
{{
lookup('community.hashi_vault.vault_kv2_get', *secret_names, engine_mount_point='vpn-users')
| map(attribute='secret')
| map(attribute='password')
| flatten
}}
credentials_dict: "{{ dict(secret_names | zip(secret_values)) }}"
ansible.builtin.set_fact:
credentials_dict: "{{ credentials_dict }}"
credentials_list: "{{ credentials_dict | dict2items(key_name='username', value_name='password') }}"
no_log: true
- ansible.builtin.debug:
msg:
- "Dictionary: {{ credentials_dict }}"
- "List: {{ credentials_list }}"
- name: List all userpass users and output the token policies for each user
ansible.builtin.debug:
msg: "{{ lookup('community.hashi_vault.vault_read', 'auth/userpass/users/' + item).data.token_policies }}"
loop: "{{ query('community.hashi_vault.vault_list', 'auth/userpass/users')[0].data['keys'] }}"
Возвращаемое значение
Ключ | Описание |
|---|---|
Возвращаемое значение list / elements=dictionary | Необработанный результат чтения по указанному пути. Возвращается: success |
Ссылки на коллекцию
© 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/hashi_vault/vault_list_lookup.html