ovirt_auth - Модуль для управления аутентификацией в oVirt/RHV
Новый в версии 2.2.
Обзор
- Этот модуль выполняет аутентификацию в oVirt/RHV-движке и создаёт токен SSO, который в дальнейшем должен использоваться во всех других модулях oVirt/RHV, чтобы все модули не нуждались в выполнении входа и выхода. Этот модуль возвращает факт Ansible, называемый ovirt_auth. Каждый модуль может использовать этот факт в качестве параметра
authдля выполнения аутентификации.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.7
- ovirt-engine-sdk-python >= 4.0.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ca_file | Файл PEM, содержащий доверенные сертификаты CA. Представленный сервером сертификат будет проверен с использованием этих сертификатов CA. Если параметр ca_file не установлен, используется системное хранилище сертификатов CA. Значение по умолчанию задаётся переменной окружения OVIRT_CAFILE. | |
| compress | Флаг булевого типа, указывающий, должен ли SDK запрашивать у сервера отправку сжатых ответов. Значение по умолчанию — True. Обратите внимание, что это подсказка для сервера, и он может возвращать несжатые данные даже при установке этого параметра в True. | |
| headers (добавлено в 2.4) | Словарь HTTP-заголовков, которые необходимо добавить к каждому API-запросу. | |
| insecure | Флаг булевого типа, указывающий, нужно ли проверять серверный TLS-сертификат и имя хоста. | |
| kerberos | Флаг булевого типа, указывающий, должна ли использоваться аутентификация Kerberos вместо стандартной аутентификации по протоколу basic. | |
| password | Пароль пользователя. Значение по умолчанию задаётся переменной окружения OVIRT_PASSWORD. | |
| state |
| Указывает, должен ли создаваться или аннулироваться токен. |
| timeout | Максимальное время ожидания ответа в секундах. Значение ноль (по умолчанию) означает ожидание бесконечно. Если таймаут истекает до получения ответа, будет возбуждено исключение. | |
| token (добавлено в 2.5) | Токен SSO, который необходимо использовать вместо входа с именем пользователя и паролем. Значение по умолчанию задаётся переменной окружения OVIRT_TOKEN. | |
| url | Строка, содержащая базовый URL-адрес сервера. Например: https://server.example.com/ovirt-engine/api. Значение по умолчанию задаётся переменной окружения OVIRT_URL. | |
| username | Имя пользователя. Например: admin@internal. Значение по умолчанию задаётся переменной окружения OVIRT_USERNAME. |
Примечания
Примечание
- Каждый раз, когда вы используете модуль ovirt_auth для получения билета, вам необходимо также аннулировать билет, когда он вам больше не нужен, иначе билет будет аннулирован движком при истечении срока его действия. Пример того, как это сделать, см. в разделе Примеры.
- Для использования этого модуля необходимо установить Python SDK oVirt/RHV. Для обеспечения установки с правильной версией можно создать следующую задачу: pip: name=ovirt-engine-sdk-python version=4.0.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
# 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 complex | успех | Факты аутентификации, необходимые для выполнения аутентификации в oVirt/RHV. | |
| timeout int | успех | Количество секунд ожидания ответа. | |
| url string | успех | URL-адрес конечной точки API oVirt/RHV-движка. Пример: https://ovirt.example.com/ovirt-engine/api | |
| insecure bool | успех | Флаг, указывающий, используется ли небезопасное соединение. | |
| kerberos bool | успех | Флаг, указывающий, используется ли Kerberos для аутентификации. | |
| compress bool | успех | Флаг, указывающий, используется ли сжатие для соединения. Пример: True | |
| headers dict | успех | Словарь HTTP-заголовков, которые необходимо добавить к каждому API-запросу. | |
| token string | успех | Токен SSO, используемый для подключения к oVirt/RHV-движку. Пример: kdfVWp9ZgeewBXV-iq3Js1-xQJZPSEQ334FLb3eksoEPRaab07DhZ8ED8ghz9lJd-MQ2GqtRIeqhvhCkrUWQPw | |
| ca_file path | успех | Файл CA, используемый для проверки SSL/TLS-соединения. Пример: ca.pem | |
Статус
Этот модуль помечен как предварительный, что означает, что его интерфейс не гарантируется обратной совместимостью.
Автор
- 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.5/modules/ovirt_auth_module.html