ovirt_auth – Модуль для управления аутентификацией в oVirt/RHV
Новый в версии 2.2.
Обзор
- Этот модуль выполняет аутентификацию в 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 - | Максимальное время ожидания ответа в секундах. Значение 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 для получения билета, вам необходимо аннулировать билет, когда вы больше в нём не нуждаетесь, в противном случае билет будет аннулирован движком при истечении срока действия. Пример, как это сделать, вы найдёте в разделе Примеры.
- Для использования этого модуля необходимо установить 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_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
# 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 | успех | Факты аутентификации, необходимые для выполнения аутентификации в oVirt/RHV. | |
| ca_file строка | успех | Файл CA, используемый для проверки подключения SSL/TLS. Пример: ca.pem | |
| compress boolean | успех | Флаг, указывающий, используется ли сжатие для соединения. Пример: True | |
| headers словарь | успех | Словарь HTTP-заголовков, добавляемых к каждому API-запросу. | |
| insecure boolean | успех | Флаг, указывающий, используется ли небезопасное соединение. | |
| kerberos boolean | успех | Флаг, указывающий, используется ли Kerberos для аутентификации. | |
| timeout целое число | успех | Количество секунд, ожидаемых для ответа. | |
| token строка | успех | Токен SSO, используемый для подключения к движку oVirt/RHV. Пример: kdfVWp9ZgeewBXV-iq3Js1-xQJZPSEQ334FLb3eksoEPRaab07DhZ8ED8ghz9lJd-MQ2GqtRIeqhvhCkrUWQPw | |
| url строка | успех | URL конечной точки API oVirt/RHV-движка. Пример: https://ovirt.example.com/ovirt-engine/api | |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.8/modules/ovirt_auth_module.html