подстановка community.hashi_vault.vault_login — выполнение операции входа в 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_login.
Добавлено в community.hashi_vault 2.2.0
- Краткое описание
- Требования
- Аргументы
- Параметры ключевых слов
- Примечания
- См. также
- Примеры
- Возвращаемое значение
Краткое описание
- Выполняет операцию входа по указанному пути в HashiCorp Vault и возвращает ответ на вход, включая токен.
Требования
Перечисленные ниже компоненты должны быть установлены на локальном управляющем узле, который выполняет эту подстановку.
-
hvac(библиотека Python) - Подробные сведения о требованиях см. на странице требований к коллекции.
Аргументы
Параметр | Комментарии |
|---|---|
Аргументы строка | Этот параметр не используется, и любые переданные аргументы будут проигнорированы. |
Параметры ключевых слов
В этом разделе описаны параметры ключевых слов подстановки. В следующих примерах это значения key1=value1, key2=value2 и т. д.: lookup('community.hashi_vault.vault_login', key1=value1, key2=value2, ...) и query('community.hashi_vault.vault_login', 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 Конфигурация:
|
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), используемый для JWT-аутентификации в Vault. Конфигурация:
|
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_login', term1, term2, key1=value1, key2=value2)иquery('community.hashi_vault.vault_login', term1, term2, key1=value1, key2=value2) - Этот lookup не использует тип string и некорректно работает в циклах. Возвращается только один ответ.
- Вход в систему — это операция записи (создание токена, сохранённого в хранилище), поэтому этот модуль всегда сообщает
changed=True, за исключением случаев использования аутентификацииtoken, поскольку в этом случае новый токен не создаётся. Однако в сценариях Ansible может быть полезнее задатьchanged_when=false, если вы проверяете идемпотентность целевой системы. - Метод аутентификации
noneнедопустим для этого плагина, поскольку возвращать нечего. - При аутентификации
tokenфактический вход в систему не выполняется. Вместо этого дополнительная информация о переданном токене возвращается в структуре, похожей на ответы при входе в систему. - Метод аутентификации
tokenвозвращает полную информацию, только если token_validate=True. Если у токена нет возможностиlookup-self, операция завершится ошибкой. Если token_validate=False, в структуре будет возвращено только значение самого токена.
См. также
См. также
- community.hashi_vault.vault_login
-
Выполняет операцию входа в HashiCorp Vault.
- Фильтр community.hashi_vault.vault_login_token
-
Официальная документация по плагину фильтра
community.hashi_vault.vault_login_token.
Примеры
- name: Set a fact with a lookup result
set_fact:
login_data: "{{ lookup('community.hashi_vault.vault_login', url='https://vault', auth_method='userpass', username=user, password=pwd) }}"
- name: Retrieve an approle role ID (token via filter)
community.hashi_vault.vault_read:
url: https://vault:8201
auth_method: token
token: '{{ login_data | community.hashi_vault.vault_login_token }}'
path: auth/approle/role/role-name/role-id
register: approle_id
- name: Retrieve an approle role ID (token via direct dict access)
community.hashi_vault.vault_read:
url: https://vault:8201
auth_method: token
token: '{{ login_data.auth.client_token }}'
path: auth/approle/role/role-name/role-id
register: approle_id
- name: Login with GCP auth
set_fact:
gcp_login: "{{ lookup('community.hashi_vault.vault_login', auth_method='gcp', role_id='myroleid', jwt='myjwt', url='https://vault:8200') }}"
- name: Read a secret using the GCP login token
community.hashi_vault.vault_read:
url: https://vault:8200
token: '{{ gcp_login.auth.client_token }}'
path: secret/data/foo
Возвращаемое значение
Ключ | Описание |
|---|---|
Возвращаемое значение list / elements=dictionary | Результат входа с использованием указанного метода аутентификации. Возвращается: успешно |
|
auth dictionary |
Элемент Возвращается: успешно |
|
client_token string |
Содержит токен, предоставленный операцией входа в систему (или входной токен, если auth_method=token). Возвращается: успешно |
|
data dictionary |
Элемент Возвращается: успешно, если доступно |
Ссылки на коллекцию
© 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_login_lookup.html