Модуль community.general.ldap_entry – добавление и удаление записей LDAP
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.general.ldap_entry.
Краткое описание
- Добавляет или удаляет записи LDAP. Этот модуль проверяет только наличие или отсутствие записи LDAP, но не её атрибуты. Чтобы проверить значения атрибутов записи, см. community.general.ldap_attrs.
Требования
На хосте, выполняющем этот модуль, должны быть установлены следующие компоненты.
- python-ldap
Параметры
Параметр | Комментарии |
|---|---|
attributes словарь | Если Значение каждого атрибута может быть строкой для атрибутов с одним значением или списком строк для атрибутов с несколькими значениями. Если вы задаёте значения этого параметра в YAML, учтите, что для повышения читаемости длинных строк можно использовать блочные модификаторы YAML, как показано в примерах для этого модуля. Обратите внимание: если используются значения, которые YAML/ansible-core интерпретирует как другие типы, например Если По умолчанию: |
binary_attributes список / элементы=строка добавлен в community.general 12.5.0 | Если Указанные значения атрибутов будут преобразованы из Base64. По умолчанию: |
bind_dn строка | DN для привязки. Если этот параметр не указан, по умолчанию используется привязка SASL с механизмом EXTERNAL. Если параметр пуст, используется анонимная привязка. |
bind_pw строка | Пароль для использования с По умолчанию: |
ca_path путь добавлен в community.general 6.5.0 | Задаёт путь к файлу PEM с сертификатами CA. |
client_cert путь добавлен в community.general 7.1.0 | Файл цепочки сертификатов в формате PEM для аутентификации SSL-клиента. Обязателен, если задан |
client_key путь добавлен в community.general 7.1.0 | Файл в формате PEM с закрытым ключом для аутентификации SSL-клиента. Обязателен, если задан |
dn строка / обязательный | DN записи, которую нужно добавить или удалить. |
honor_binary логическое значение добавлен в community.general 12.5.0 | Если Варианты:
|
objectClass список / элементы=строка | Если |
recursive логическое значение добавлен в community.general 4.6.0 | Если Варианты:
|
referrals_chasing строка добавлен в community.general 2.0.0 | Задаёт поведение при обработке ссылок-переадресаций.
Варианты:
|
sasl_class строка добавлен в community.general 2.0.0 | Класс для аутентификации SASL. Варианты:
|
server_uri строка | Параметр Значение по умолчанию позволяет базовой клиентской библиотеке LDAP искать UNIX-сокет в расположении по умолчанию. Обратите внимание: при использовании нескольких URI невозможно определить, к какому из них подключится клиент. Для URI с дополнительными полями, особенно при использовании запятых, поведение не определено. По умолчанию: |
start_tls логическое значение | Использовать расширение LDAP START_TLS, если задано значение Варианты:
|
state строка | Целевое состояние записи. Варианты:
|
validate_certs логическое значение | Если задано значение Используйте этот параметр только на сайтах с самоподписанными сертификатами. Варианты:
|
xorder_discovery строка добавлен в community.general 6.4.0 | Задаёт поведение при обработке упорядоченных DN (Xordered DN).
Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может выполняться в режиме |
diff_mode | Поддержка: нет | В режиме diff возвращает сведения об изменениях (или о возможных изменениях в |
Примечания
Примечание
- По умолчанию для аутентификации выполняется привязка SASL EXTERNAL через UNIX-сокет. Например, это хорошо работает со стандартной установкой Ubuntu, которая включает правило ACL
cn=peercred,cn=external,cn=auth, позволяющее пользователю root изменять конфигурацию сервера. Если для доступа к серверу требуется простая привязка, передайте учётные данные вbind_dnиbind_pw.
Примеры
- name: Make sure we have a parent entry for users
community.general.ldap_entry:
dn: ou=users,dc=example,dc=com
objectClass: organizationalUnit
- name: Make sure we have an admin user
community.general.ldap_entry:
dn: cn=admin,dc=example,dc=com
objectClass:
- simpleSecurityObject
- organizationalRole
- myPhotoObject
binary_attributes:
- myPhoto
attributes:
description: An LDAP administrator
userPassword: "{SSHA}tabyipcHzhwESzRaGA7oQ/SDoBZQOGND"
myPhoto: >-
/9j/4AAQSkZJRgABAQAAAQABAAD/4gIcSUNDX1BST0ZJTEUAAQEAAAIMbGNt
cwIQAABtbnRyUkdCIFhZWiAH3AABABkAAwApADlhY3NwQVBQTAAAAAAAAAAA
# ...
- name: Make sure a CA certificate is present
community.general.ldap_attrs:
dn: cn=ISRG Root X1,ou=ca,ou=certificates,dc=example,dc=org
honor_binary: true
objectClass:
- pkiCA
- applicationProcess
attributes:
cn: ISRG Root X1
cACertificate;binary: >-
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
# ...
- name: Set possible values for attributes elements
community.general.ldap_entry:
dn: cn=admin,dc=example,dc=com
objectClass:
- simpleSecurityObject
- organizationalRole
attributes:
description: An LDAP Administrator
roleOccupant:
- cn=Chocs Puddington,ou=Information Technology,dc=example,dc=com
- cn=Alice Stronginthebrain,ou=Information Technology,dc=example,dc=com
olcAccess:
- >-
{0}to attrs=userPassword,shadowLastChange
by self write
by anonymous auth
by dn="cn=admin,dc=example,dc=com" write
by * none'
- >-
{1}to dn.base="dc=example,dc=com"
by dn="cn=admin,dc=example,dc=com" write
by * read
- name: Get rid of an old entry
community.general.ldap_entry:
dn: ou=stuff,dc=example,dc=com
state: absent
server_uri: ldap://localhost/
bind_dn: cn=admin,dc=example,dc=com
bind_pw: password
#
# The same as in the previous example but with the authentication details
# stored in the ldap_auth variable:
#
# ldap_auth:
# server_uri: ldap://localhost/
# bind_dn: cn=admin,dc=example,dc=com
# bind_pw: password
#
# In the example below, 'args' is a task keyword, passed at the same level as the module
- name: Get rid of an old entry
community.general.ldap_entry:
dn: ou=stuff,dc=example,dc=com
state: absent
args: "{{ ldap_auth }}"
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/ldap_entry_module.html