community.general.ldap_search 模块 – 在 LDAP 服务器中搜索条目

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定:community.general.ldap_search

community.general 0.2.0 中的新增功能

概要

  • 返回 LDAP 搜索的结果。

要求

执行此模块的主机需要以下要求。

  • python-ldap

参数

参数

注释

attrs

列表 / 元素=字符串

用于限制结果的属性列表。使用实际列表或逗号分隔的字符串。

base64_attributes

列表 / 元素=字符串

在 community.general 7.0.0 中添加

如果提供,则返回的所有属性值(在此选项中列出)都将进行 Base64 编码。

如果此列表中出现特殊值 *,则所有属性都将进行 Base64 编码。

所有其他属性值都将转换为 UTF-8 字符串。如果它们包含二进制数据,请注意将忽略无效的 UTF-8 字节。

bind_dn

字符串

要绑定的 DN。如果省略此项,我们将尝试使用 EXTERNAL 机制进行 SASL 绑定作为默认值。

如果为空,我们将使用匿名绑定。

bind_pw

字符串

bind_dn 一起使用的密码。

默认值: ""

ca_path

路径

在 community.general 6.5.0 中添加

设置包含 CA 证书的 PEM 文件的路径。

client_cert

路径

在 community.general 7.1.0 中添加

用于 SSL 客户端身份验证的 PEM 格式证书链文件。

如果定义了 client_key,则需要此项。

client_key

路径

在 community.general 7.1.0 中添加

包含用于 SSL 客户端身份验证的私钥的 PEM 格式文件。

如果定义了 client_cert,则需要此项。

dn

字符串 / 必需

要在其中搜索的 LDAP DN。

filter

字符串

用于过滤 LDAP 搜索结果。

默认值: "(objectClass=*)"

page_size

整数

在 community.general 7.1.0 中添加

执行简单的分页结果搜索 (RFC 2696) 时的页面大小。可以调整此设置以减少超时和服务器限制的问题。

将页面大小设置为 0 (默认值) 将禁用分页搜索。

默认值: 0

referrals_chasing

字符串

在 community.general 2.0.0 中添加

设置转介追踪行为。

anonymous 匿名跟踪转介。这是默认行为。

disabled 禁用转介追踪。这会将 OPT_REFERRALS 设置为关闭。

选项

  • "disabled"

  • "anonymous" ← (默认)

sasl_class

字符串

在 community.general 2.0.0 中添加

用于 SASL 身份验证的类。

选项

  • "external" ← (默认)

  • "gssapi"

schema

布尔值

设置为 true 以返回条目的完整属性模式,而不是它们的属性值。如果提供,则会覆盖 attrs

选项

  • false ← (默认)

  • true

scope

字符串

要使用的LDAP范围。

subordinate 需要LDAPv3从属功能扩展。

children 等同于“子树”范围。

选项

  • "base" ← (默认)

  • "onelevel"

  • "subordinate"

  • "children"

server_uri

字符串

server_uri 参数可以是包含只有模式、主机和端口字段的URI的逗号或空格分隔列表。

默认值允许底层的LDAP客户端库在其默认位置查找UNIX域套接字。

请注意,当使用多个URI时,您无法确定客户端连接到哪个URI。

对于包含附加字段的URI,尤其是在使用逗号时,行为未定义。

默认: "ldapi:///"

start_tls

布尔值

如果为true,我们将使用START_TLS LDAP扩展。

选项

  • false ← (默认)

  • true

validate_certs

布尔值

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

这仅应在使用自签名证书的站点上使用。

选项

  • false

  • true ← (默认)

xorder_discovery

字符串

在community.general 6.4.0中添加

设置处理Xordered DN的方式。

enable 将在高级RDN下方执行 ONELEVEL 搜索以查找匹配的DN。

disable 将始终使用未修改的DN(由 dn 参数传递)。

auto 仅当第一个RDN不包含索引号({x})时才执行搜索。

选项

  • "enable"

  • "auto" ← (默认)

  • "disable"

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 中运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

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

备注

注意

  • 默认身份验证设置将尝试通过UNIX域套接字使用SASL EXTERNAL绑定。例如,这与默认的Ubuntu安装配合良好,其中包含 cn=peercred,cn=external,cn=auth ACL规则,允许root修改服务器配置。如果您需要使用简单绑定来访问您的服务器,请在 bind_dnbind_pw 中传递凭据。

示例

- name: Return all entries within the 'groups' organizational unit.
  community.general.ldap_search:
    dn: "ou=groups,dc=example,dc=com"
  register: ldap_groups

- name: Return GIDs for all groups
  community.general.ldap_search:
    dn: "ou=groups,dc=example,dc=com"
    scope: "onelevel"
    attrs:
      - "gidNumber"
  register: ldap_group_gids

作者

  • Sebastian Pfahl (@eryx12o45)