community.general.ipa_role 模块 – 管理 FreeIPA 角色

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了这个集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general

要在 Playbook 中使用它,请指定:community.general.ipa_role

概要

  • 使用 FreeIPA API 在 FreeIPA 服务器中添加、修改和删除角色。

参数

参数

注释

cn

别名:name

字符串 / 必需

角色名称。

不能更改,因为它是唯一标识符。

description

字符串

此角色组的描述。

group

列表 / 元素=字符串

分配给此角色的组名称列表。

如果传递一个空列表,则所有分配的组都将从此角色中取消分配。

如果省略该选项,则不会检查或更改组。

如果传递该选项,则所有未传递的已分配组都将从此角色中取消分配。

host

列表 / 元素=字符串

要分配的主机名称列表。

如果传递一个空列表,则所有已分配的主机都将从此角色中取消分配。

如果省略该选项,则不会检查或更改主机。

如果传递该选项,则所有未传递的已分配主机都将从此角色中取消分配。

hostgroup

列表 / 元素=字符串

要分配的主机组名称列表。

如果传递一个空列表,则所有分配的主机组都将从此角色中删除。

如果省略该选项,则不会检查或更改主机组。

如果传递该选项,则所有未传递的已分配主机组都将从此角色中取消分配。

ipa_host

字符串

IPA 服务器的 IP 或主机名。

如果未在任务中指定该值,则将改用环境变量 IPA_HOST 的值。

如果环境变量 IPA_HOST 和该值均未在任务中指定,则将使用 DNS 来尝试发现 FreeIPA 服务器。

FreeIPA 中需要的相关条目是 ipa-ca 条目。

如果任务中既没有 DNS 条目,也没有环境变量 IPA_HOST,也没有该值,则将使用默认值。

默认值: "ipa.example.com"

ipa_pass

字符串

管理用户的密码。

如果未在任务中指定该值,则将改用环境变量 IPA_PASS 的值。

请注意,如果 urllib_gssapi 库可用,则可以使用 GSSAPI 向 FreeIPA 进行身份验证。

如果环境变量 KRB5CCNAME 可用,则模块将使用此 Kerberos 凭据缓存来向 FreeIPA 服务器进行身份验证。

如果环境变量 KRB5_CLIENT_KTNAME 可用,并且 KRB5CCNAME 不可用;则模块将使用此 Kerberos keytab 进行身份验证。

如果 GSSAPI 不可用,则需要使用 ipa_pass

ipa_port

整数

FreeIPA/IPA 服务器的端口。

如果未在任务中指定该值,则将改用环境变量 IPA_PORT 的值。

如果环境变量 IPA_PORT 和该值均未在任务中指定,则将设置默认值。

默认值: 443

ipa_prot

字符串

IPA 服务器使用的协议。

如果未在任务中指定该值,则将改用环境变量 IPA_PROT 的值。

如果环境变量 IPA_PROT 和该值均未在任务中指定,则将设置默认值。

选择

  • "http"

  • "https" ← (默认)

ipa_timeout

整数

指定连接的空闲超时时间(以秒为单位)。

对于批量操作,您可能需要增加此值,以避免来自 IPA 服务器的超时。

如果未在任务中指定该值,则将改用环境变量 IPA_TIMEOUT 的值。

如果环境变量 IPA_TIMEOUT 和该值均未在任务中指定,则将设置默认值。

默认值: 10

ipa_user

字符串

IPA 服务器上使用的管理帐户。

如果未在任务中指定该值,则将改用环境变量 IPA_USER 的值。

如果环境变量 IPA_USER 和该值均未在任务中指定,则将设置默认值。

默认值: "admin"

权限

列表 / 元素=字符串

授予角色的权限列表。

如果传递一个空列表,则将删除所有已分配的权限。

如果省略此选项,则不会检查或更改权限。

如果传递此选项,则将删除所有未传递的已分配权限。

服务

列表 / 元素=字符串

要分配的服务名称列表。

如果传递一个空列表,则将从该角色中删除所有已分配的服务。

如果省略此选项,则不会检查或更改服务。

如果传递此选项,则将从角色中删除所有未传递的已分配服务。

状态

字符串

要确保的状态。

选择

  • "缺席"

  • "present" ← (默认)

用户

列表 / 元素=字符串

要分配的用户名列表。

如果传递一个空列表,则将从该角色中删除所有已分配的用户。

如果省略此选项,则不会检查或更改用户。

验证证书

布尔值

这仅在 ipa_prothttps 时适用。

如果设置为 false,则不会验证 SSL 证书。

仅应在个人控制的站点上使用自签名证书时,将其设置为 false

选择

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持: 完全

可以在 check_mode 中运行,并返回更改的状态预测,而无需修改目标。

diff_mode

支持:

当处于 diff 模式时,将返回有关已更改(或可能需要在 check_mode 中更改)的内容的详细信息。

示例

- name: Ensure role is present
  community.general.ipa_role:
    name: dba
    description: Database Administrators
    state: present
    user:
    - pinky
    - brain
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret

- name: Ensure role with certain details
  community.general.ipa_role:
    name: another-role
    description: Just another role
    group:
    - editors
    host:
    - host01.example.com
    hostgroup:
    - hostgroup01
    privilege:
    - Group Administrators
    - User Administrators
    service:
    - service01

- name: Ensure role is absent
  community.general.ipa_role:
    name: dba
    state: absent
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret

返回值

常见的返回值记录在 此处,以下是此模块独有的字段

描述

角色

字典

IPA API 返回的角色。

返回: 总是

作者

  • Thomas Krahn (@Nosmoht)