ovirt.ovirt.ovirt_auth 模块 – 管理 oVirt/RHV 身份验证的模块
注意
此模块是 ovirt.ovirt 集合 (版本 3.2.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install ovirt.ovirt
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定: ovirt.ovirt.ovirt_auth
。
ovirt.ovirt 1.0.0 中的新增功能
概要
此模块对 oVirt/RHV 引擎进行身份验证并创建 SSO 令牌,此令牌应在所有其他 oVirt/RHV 模块中使用,因此所有模块都不需要执行登录和注销操作。此模块返回一个名为 *ovirt_auth* 的 Ansible 事实。每个模块都可以使用此事实作为
auth
参数来执行身份验证。
要求
以下是执行此模块的主机所需的条件。
python >= 2.7
ovirt-engine-sdk-python >= 4.4.0
参数
参数 |
注释 |
---|---|
包含受信任 CA 证书的 PEM 文件。服务器提供的证书将使用这些 CA 证书进行验证。如果未设置 |
|
一个布尔标志,指示 SDK 是否应请求服务器发送压缩的响应。默认为 *True*。请注意,这是一个服务器提示,即使此参数设置为 *True*,它也可能返回未压缩的数据。 选项
|
|
要添加到每个 API 调用的 HTTP 标头的字典。 |
|
包含服务器主机名的字符串。例如:*server.example.com*。默认值由 *OVIRT_HOSTNAME* 环境变量设置。 需要 |
|
一个布尔标志,指示是否应检查服务器 TLS 证书和主机名。 选项
|
|
一个布尔标志,指示是否应使用 Kerberos 身份验证而不是默认的基本身份验证。 选项
|
|
使用 关闭与引擎的连接。 |
|
用户的密码。默认值由 *OVIRT_PASSWORD* 环境变量设置。 |
|
指定是否应创建或撤销令牌。 选项
|
|
等待响应的最大总时间(以秒为单位)。值为零(默认为)表示无限期等待。如果在收到响应之前超时过期,则会引发异常。 |
|
要使用的 SSO 令牌,而不是使用用户名/密码登录。默认值由 *OVIRT_TOKEN* 环境变量设置。 |
|
包含服务器 API URL 的字符串。例如:*https://server.example.com/ovirt-engine/api*。默认值由 *OVIRT_URL* 环境变量设置。 需要 |
|
用户名。例如:*admin@internal* 默认值由 *OVIRT_USERNAME* 环境变量设置。 |
注释
注意
每次使用 ovirt_auth 模块获取票证时,都需要在不再需要时撤销票证,否则票证将在过期时被引擎撤销。有关如何实现此目的的示例,请查看“示例”部分。
为了使用此模块,您必须安装 oVirt/RHV Python SDK。为了确保它以正确的版本安装,您可以创建以下任务:*pip: name=ovirt-engine-sdk-python version=4.4.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:
- ansible.builtin.include_vars: ovirt_password.yml
- name: Obtain SSO token with using username/password credentials
ovirt.ovirt.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.ovirt.ovirt_vm:
auth: "{{ ovirt_auth }}"
state: absent
name: myvm
always:
- name: Always revoke the SSO token
ovirt.ovirt.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/RHV 的身份验证。 返回:成功 |
|
用于验证 SSL/TLS 连接的 CA 文件。 返回:成功 示例: |
|
指示是否使用压缩连接的标志。 返回:成功 示例: |
|
要添加到每个 API 调用的 HTTP 标头的字典。 返回:成功 |
|
指示是否使用不安全连接的标志。 返回:成功 示例: |
|
指示是否使用 kerberos 进行身份验证的标志。 返回:成功 示例: |
|
等待响应的秒数。 返回:成功 示例: |
|
用于连接到 oVirt/RHV 引擎的 SSO 令牌。 返回:成功 示例: |
|
oVirt/RHV 引擎 API 端点的 URL。 返回:成功 示例: |