ovirt_auth - Модуль для управления аутентификацией в oVirt/RHV
Новый в версии 2.2.
Описание
- Этот модуль выполняет аутентификацию в системе oVirt/RHV и создаёт токен SSO, который следует использовать в других модулях oVirt/RHV, чтобы другим модулям не нужно было выполнять вход и выход. Данный модуль возвращает факт Ansible, называемый ovirt_auth. Каждый модуль может использовать этот факт в качестве параметра
authдля выполнения аутентификации.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.7
- ovirt-engine-sdk-python >= 4.2.4
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ca_file | Файл PEM, содержащий доверенные сертификаты CA. Сертификат, представленный сервером, будет проверен с помощью этих сертификатов CA. Если параметр ca_file не задан, используется системное хранилище сертификатов CA. Значение по умолчанию устанавливается переменной среды OVIRT_CAFILE. | |
| compress | Логический флаг, указывающий, должен ли SDK запросить у сервера отправку сжатых ответов. Значение по умолчанию — True. Обратите внимание, что это лишь рекомендация для сервера, и он может возвращать несжатые данные даже при установке этого параметра в True. | |
| headers (добавлено в 2.4) | Словарь HTTP-заголовков, которые должны быть добавлены к каждому вызову API. | |
| hostname (добавлено в 2.6) | Строка, содержащая имя хоста сервера. Например: server.example.com. Значение по умолчанию устанавливается переменной среды OVIRT_HOSTNAME. Требуется либо url, либо hostname. | |
| insecure | Логический флаг, указывающий, должны ли быть проверены сертификат TLS сервера и имя хоста. | |
| kerberos | Логический флаг, указывающий, должна ли использоваться аутентификация Kerberos вместо стандартной аутентификации по основанию. | |
| password | Пароль пользователя. Значение по умолчанию устанавливается переменной среды OVIRT_PASSWORD. | |
| state |
| Указывает, нужно ли создавать или аннулировать токен. |
| timeout | Максимальное общее время ожидания ответа в секундах. Значение 0 (по умолчанию) означает бесконечное ожидание. Если таймаут истечёт до получения ответа, будет выброшено исключение. | |
| token (добавлено в 2.5) | Токен SSO, который используется вместо входа с именем пользователя/паролем. Значение по умолчанию устанавливается переменной среды OVIRT_TOKEN. | |
| url | Строка, содержащая URL API сервера. Например: https://server.example.com/ovirt-engine/api. Значение по умолчанию устанавливается переменной среды OVIRT_URL. Требуется либо url, либо hostname. | |
| username | Имя пользователя. Например: admin@internal. Значение по умолчанию устанавливается переменной среды OVIRT_USERNAME. |
Примечания
Примечание
- Каждый раз, когда вы используете модуль ovirt_auth для получения билета, вам необходимо также аннулировать билет, когда он больше не нужен, иначе билет будет аннулирован системой при истечении срока действия. Пример того, как это сделать, см. в разделе "Примеры".
- Для использования этого модуля необходимо установить Python SDK oVirt/RHV. Чтобы убедиться, что он установлен с правильной версией, вы можете создать следующую задачу: pip: name=ovirt-engine-sdk-python version=4.2.4
- Обратите внимание, что в oVirt/RHV 4.1 для использования пользователя, который не является администратором, необходимо включить переменную ENGINE_API_FILTER_BY_DEFAULT в системе. В oVirt/RHV 4.2 и более поздних версиях она включена по умолчанию.
Примеры
- block:
# Create a vault with `ovirt_password` variable which store your
# oVirt/RHV user's password, and include that yaml file with variable:
- include_vars: ovirt_password.yml
- name: Obtain SSO token with using username/password credentials
ovirt_auth:
url: https://ovirt.example.com/ovirt-engine/api
username: admin@internal
ca_file: ca.pem
password: "{{ ovirt_password }}"
# Previous task generated I(ovirt_auth) fact, which you can later use
# in different modules as follows:
- ovirt_vms:
auth: "{{ ovirt_auth }}"
state: absent
name: myvm
always:
- name: Always revoke the SSO token
ovirt_auth:
state: absent
ovirt_auth: "{{ ovirt_auth }}"
# When user will set following environment variables:
# OVIRT_URL = https://fqdn/ovirt-engine/api
# OVIRT_USERNAME = admin@internal
# OVIRT_PASSWORD = the_password
# He can login the oVirt using environment variable instead of variables
# in yaml file.
# This is mainly usefull when using Ansible Tower or AWX, as it will work
# for Red Hat Virtualization creadentials type.
- name: Obtain SSO token
ovirt_auth:
state: present
Возвращаемые значения
Общие возвращаемые значения описаны в разделе. Ниже приведены поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| ovirt_auth сложный | success | Факты аутентификации, необходимые для аутентификации в oVirt/RHV. | |
| token строка | success | Токен SSO, используемый для подключения к серверу oVirt/RHV. Пример: kdfVWp9ZgeewBXV-iq3Js1-xQJZPSEQ334FLb3eksoEPRaab07DhZ8ED8ghz9lJd-MQ2GqtRIeqhvhCkrUWQPw | |
| url строка | success | URL конечной точки API сервера oVirt/RHV. Пример: https://ovirt.example.com/ovirt-engine/api | |
| ca_file путь | success | Файл CA, используемый для проверки SSL/TLS-соединения. Пример: ca.pem | |
| insecure bool | success | Флаг, указывающий, используется ли небезопасное соединение. | |
| timeout int | success | Количество секунд ожидания ответа. | |
| compress bool | success | Флаг, указывающий, используется ли сжатие для подключения. Пример: True | |
| kerberos bool | success | Флаг, указывающий, используется ли Kerberos для аутентификации. | |
| headers dict | success | Словарь HTTP-заголовков, которые добавляются к каждому вызову API. | |
Статус
Этот модуль помечен как экспериментальный, что означает, что интерфейс не гарантирует обратную совместимость.
Техническое обслуживание
Этот модуль помечен как сообщественный, что означает, что его поддерживает сообщество Ansible. Подробнее см. в разделе "Техническое обслуживание и поддержка модулей".
Список других модулей, поддерживаемых сообществом Ansible, см. в этом разделе.
Автор
- Ondra Machacek (@machacekondra)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/ovirt_auth_module.html