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 - | Максимальное время ожидания ответа в секундах. Значение ноль (по умолчанию) означает бесконечное ожидание. Если таймаут истекает до получения ответа, будет возбуждено исключение. | |
| 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.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
# 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 creadentials type.
- name: Obtain SSO token
ovirt_auth:
state: present
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращённое значение | Описание | |
|---|---|---|---|
| ovirt_auth сложный | успех | Факты аутентификации, необходимые для аутентификации в oVirt/RHV. | |
| ca_file путь | успех | Файл CA, используемый для проверки SSL/TLS-соединения. Пример: ca.pem | |
| compress булево | успех | Флаг, указывающий, используется ли сжатие для подключения. Пример: True | |
| headers словарь | успех | Словарь HTTP-заголовков, добавляемых к каждому API-запросу. | |
| insecure булево | успех | Флаг, указывающий, используется ли небезопасное соединение. | |
| kerberos булево | успех | Флаг, указывающий, используется ли Kerberos для аутентификации. | |
| timeout целое число | успех | Количество секунд ожидания ответа. | |
| token строка | успех | Токен SSO, используемый для подключения к движку oVirt/RHV. Пример: kdfVWp9ZgeewBXV-iq3Js1-xQJZPSEQ334FLb3eksoEPRaab07DhZ8ED8ghz9lJd-MQ2GqtRIeqhvhCkrUWQPw | |
| url строка | успех | 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.7/modules/ovirt_auth_module.html