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

注意

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

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

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

要在剧本中使用它,请指定: 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)