Модуль community.general.ldap_attrs — добавление или удаление нескольких значений атрибутов LDAP
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.general.ldap_attrs.
Добавлено в community.general 0.2.0
Краткое описание
- Добавление или удаление нескольких значений атрибутов LDAP.
Требования
На узле, выполняющем этот модуль, необходимы следующие компоненты.
- 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 | Если Варианты:
|
ordered логическое значение | Если Варианты:
|
referrals_chasing строка добавлено в community.general 2.0.0 | Задаёт поведение при обработке ссылок-перенаправлений.
Варианты:
|
sasl_class строка добавлено в community.general 2.0.0 | Класс для использования при аутентификации SASL. Варианты:
|
server_uri строка | Параметр Значение по умолчанию позволяет базовой клиентской библиотеке LDAP искать сокет домена UNIX в стандартном расположении. Обратите внимание: при использовании нескольких URI определить, к какому из них подключится клиент, невозможно. Поведение URI с дополнительными полями, особенно при использовании запятых, не определено. По умолчанию: |
start_tls логическое значение | Если установлено значение Варианты:
|
state строка | Состояние значений атрибутов. Если Варианты:
|
validate_certs логическое значение | Если установлено значение Используйте этот параметр только на узлах с самоподписанными сертификатами. Варианты:
|
xorder_discovery строка добавлено в community.general 6.4.0 | Задаёт поведение при обработке упорядоченных DN (Xordered DN).
Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Модуль можно запускать в режиме |
diff_mode | Поддержка: полная добавлено в community.general 8.5.0 | В режиме diff возвращает сведения об изменениях (или возможных изменениях в |
Примечания
Примечание
- Работа выполняется только с атрибутами существующих записей. Для добавления или удаления записей целиком см. community.general.ldap_entry.
- Если
honor_binary=true, атрибут, содержащий параметрbinaryсогласно RFC 4522, считается бинарным. Его содержимое необходимо указать в Base64; перед отправкой в LDAP оно будет декодировано. Если атрибут необходимо обрабатывать как бинарный, но он не содержит параметрbinary, его можно перечислить вbinary_attributes. - Для
state=presentиstate=absentпри обработке текстовых атрибутов все сравнения значений выполняются на сервере для максимальной точности. Дляstate=exactили бинарных атрибутов сравнение значений выполняется в Python, где правила сопоставления LDAP не учитываются. Обычно это работает корректно, однако теоретически возможны ложные изменения, если целевые и фактические значения семантически идентичны, но лексически различаются. - Поддержка бинарных значений добавлена в community.general 12.5.0.
- По умолчанию для аутентификации предпринимается попытка использовать привязку SASL EXTERNAL через сокет домена UNIX. Например, это хорошо работает в стандартной установке Ubuntu, которая включает правило ACL
cn=peercred,cn=external,cn=auth, позволяющее пользователю root изменять конфигурацию сервера. Если для доступа к серверу требуется простая привязка, передайте учётные данные вbind_dnиbind_pw.
Примеры
- name: Configure directory number 1 for example.com
community.general.ldap_attrs:
dn: olcDatabase={1}hdb,cn=config
attributes:
olcSuffix: dc=example,dc=com
state: exact
# The complex argument format is required here to pass a list of ACL strings.
- name: Set up the ACL
community.general.ldap_attrs:
dn: olcDatabase={1}hdb,cn=config
attributes:
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
state: exact
# An alternative approach with automatic X-ORDERED numbering
- name: Set up the ACL
community.general.ldap_attrs:
dn: olcDatabase={1}hdb,cn=config
attributes:
olcAccess:
- >-
to attrs=userPassword,shadowLastChange
by self write
by anonymous auth
by dn="cn=admin,dc=example,dc=com" write
by * none'
- >-
to dn.base="dc=example,dc=com"
by dn="cn=admin,dc=example,dc=com" write
by * read
ordered: true
state: exact
- name: Declare some indexes
community.general.ldap_attrs:
dn: olcDatabase={1}hdb,cn=config
attributes:
olcDbIndex:
- objectClass eq
- uid eq
- name: Set up a root user, which we can use later to bootstrap the directory
community.general.ldap_attrs:
dn: olcDatabase={1}hdb,cn=config
attributes:
olcRootDN: cn=root,dc=example,dc=com
olcRootPW: "{SSHA}tabyipcHzhwESzRaGA7oQ/SDoBZQOGND"
state: exact
- name: Replace a CA certificate
community.general.ldap_attrs:
dn: cn=ISRG Root X1,ou=ca,ou=certificates,dc=example,dc=org
honor_binary: true
state: exact
attributes:
cACertificate;binary: >-
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
# ...
- name: Remove an attribute with a specific value
community.general.ldap_attrs:
dn: uid=jdoe,ou=people,dc=example,dc=com
attributes:
description: "An example user account"
state: absent
server_uri: ldap://localhost/
bind_dn: cn=admin,dc=example,dc=com
bind_pw: password
- name: Remove specified attribute(s) from an entry
community.general.ldap_attrs:
dn: uid=jdoe,ou=people,dc=example,dc=com
attributes:
description: []
state: exact
server_uri: ldap://localhost/
bind_dn: cn=admin,dc=example,dc=com
bind_pw: password
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
modlist список / элементы=строка | Список изменённых параметров. Возвращается: при успешном выполнении Пример: |
Ссылки на коллекцию
© 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_attrs_module.html