ovirt_auth – Модуль для управления аутентификацией в oVirt/RHV
Описание
- Этот модуль выполняет аутентификацию в движке oVirt/RHV и создаёт токен SSO, который должен в дальнейшем использоваться во всех других модулях oVirt/RHV, чтобы все модули не нуждались в выполнении входа и выхода. Данный модуль возвращает факт Ansible, называемый ovirt_auth. Каждый модуль может использовать этот факт в качестве параметра
authдля выполнения аутентификации.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.7
- ovirt-engine-sdk-python >= 4.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ca_file - | Файл PEM, содержащий доверенные сертификаты CA. Представленный сервером сертификат будет проверен с помощью этих сертификатов CA. Если параметр ca_file не установлен, используется системный хранилище сертификатов CA. Значение по умолчанию устанавливается переменной среды OVIRT_CAFILE. | |
| compress boolean |
| Флаг булевого типа, указывающий, должен ли SDK запросить у сервера отправку сжатых ответов. По умолчанию значение True. Обратите внимание, что это подсказка для сервера, и он может вернуть несжатые данные, даже если этот параметр установлен в True. |
| headers - добавлено в 2.4 | Словарь HTTP-заголовков, которые должны быть добавлены к каждому API-запросу. | |
| hostname - добавлено в 2.6 | Строка, содержащая имя хоста сервера. Например: server.example.com. Значение по умолчанию устанавливается переменной среды OVIRT_HOSTNAME. Требуется либо url, либо hostname. | |
| insecure boolean |
| Флаг булевого типа, указывающий, нужно ли проверять сертификат TLS сервера и имя хоста. |
| kerberos boolean |
| Флаг булевого типа, указывающий, нужно ли использовать аутентификацию Kerberos вместо стандартной аутентификации. |
| password - | Пароль пользователя. Значение по умолчанию устанавливается переменной среды OVIRT_PASSWORD. | |
| state - |
| Указывает, должен ли быть создан или аннулирован токен. |
| timeout - | Максимальное время ожидания ответа в секундах. Значение ноль (по умолчанию) означает ожидание бесконечно. Если таймаут истечёт до получения ответа, будет возбуждено исключение. | |
| 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 для получения билета, необходимо также аннулировать билет, когда он вам больше не нужен, иначе билет будет аннулирован движком при истечении срока действия. Пример того, как это сделать, можно найти в разделе «Примеры».
- Для использования этого модуля необходимо установить oVirt/RHV Python SDK. Для обеспечения установки с правильной версией вы можете создать следующую задачу: pip: name=ovirt-engine-sdk-python version=4.3.0
- Обратите внимание, что в 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_vm:
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
# User can login the oVirt using environment variable instead of variables
# in yaml file.
# This is mainly useful when using Ansible Tower or AWX, as it will work
# for Red Hat Virtualization credentials type.
- name: Obtain SSO token
ovirt_auth:
state: present
Возвращаемые значения
Общие возвращаемые значения описаны в документации. Ниже перечислены поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| ovirt_auth complex | success | Факты аутентификации, необходимые для выполнения аутентификации в oVirt/RHV. | |
| ca_file string | success | Файл CA, используемый для проверки SSL/TLS-соединения. Пример: ca.pem | |
| compress boolean | success | Флаг, указывающий, используется ли сжатие для соединения. Пример: True | |
| headers dictionary | success | Словарь HTTP-заголовков, которые должны быть добавлены к каждому API-запросу. | |
| insecure boolean | success | Флаг, указывающий, используется ли небезопасное соединение. | |
| kerberos boolean | success | Флаг, указывающий, используется ли Kerberos для аутентификации. | |
| timeout integer | success | Количество секунд ожидания ответа. | |
| token string | success | Токен SSO, используемый для подключения к движку oVirt/RHV. Пример: kdfVWp9ZgeewBXV-iq3Js1-xQJZPSEQ334FLb3eksoEPRaab07DhZ8ED8ghz9lJd-MQ2GqtRIeqhvhCkrUWQPw | |
| url string | success | URL конечной точки API oVirt/RHV движка. Пример: https://ovirt.example.com/ovirt-engine/api | |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом 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.9/modules/ovirt_auth_module.html