community.general.ldap_attrs – Добавление или удаление нескольких значений атрибутов LDAP
Примечание
Этот плагин входит в состав коллекции community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в книге задач укажите: community.general.ldap_attrs.
Новое в версии 0.2.0: коллекции community.general
Обзор
- Добавление или удаление нескольких значений атрибутов LDAP.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- python-ldap
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes словарь / обязательный | Атрибуты и значения для добавления или удаления. Требуется сложный формат аргумента, чтобы передать список строк (см. примеры). | |
| bind_dn строка | DN для связи. Если этот параметр опущен, будет использоваться SASL-соединение с механизмом EXTERNAL по умолчанию. Если параметр пустой, используется анонимное соединение. | |
| bind_pw строка | Пароль, используемый с bind_dn. | |
| dn строка / обязательный | DN записи для добавления или удаления. | |
| ordered булево |
| Если yes, значения списка будут предваряться индексами X-ORDERED во всех атрибутах, указанных в текущей задаче. Это особенно полезно с атрибутом olcAccess для удобного управления списками контроля доступа LDAP. |
| referrals_chasing строка добавлено в версии 2.0.0 коллекции community.general |
| Устанавливает поведение поиска рефералов. anonymous следует рефералам анонимно. Это поведение по умолчанию.disabled отключает поиск рефералов. Это устанавливает OPT_REFERRALS в значение выкл. |
| sasl_class строка добавлено в версии 2.0.0 коллекции community.general |
| Класс, используемый для аутентификации SASL. Возможные варианты: external, gssapi. |
| server_uri строка | По умолчанию: "ldapi:///" | URI сервера LDAP. Значение по умолчанию позволяет подлежащей библиотеке клиента LDAP искать сокет доменного имени UNIX по умолчанию. |
| start_tls булево |
| Если true, будет использован расширение START_TLS LDAP. |
| state строка |
| Состояние значений атрибутов. Если present, все указанные значения атрибутов будут добавлены, если их нет. Если absent, все указанные значения атрибутов будут удалены, если они присутствуют. Если exact, набор значений атрибутов будет точно соответствовать предоставленным и никаких других. Если state=exact и значение атрибута value пустое, все значения этого атрибута будут удалены. |
| validate_certs булево |
| Если установлено no, сертификаты SSL не будут проверены.Это следует использовать только на сайтах, использующих самозаверяющие сертификаты. |
Примечания
Примечание
- Это касается только атрибутов в существующих записях. Чтобы добавить или удалить целые записи, см. community.general.ldap_entry.
- Настройки аутентификации по умолчанию попытаются использовать SASL-соединение EXTERNAL через сокет доменного имени UNIX. Это хорошо работает с установкой Ubuntu по умолчанию, например, которая включает правило ACL cn=peercred,cn=external,cn=auth, позволяющее root изменять конфигурацию сервера. Если вам нужно использовать простое соединение для доступа к серверу, передайте учетные данные в bind_dn и bind_pw.
- Для state=present и state=absent все сравнения значений выполняются на сервере для максимальной точности. Для state=exact значения сравниваются в Python, что, очевидно, игнорирует правила соответствия LDAP. Это должно работать в большинстве случаев, но теоретически возможны ложные изменения, когда целевые и фактические значения семантически идентичны, но лексически различаются.
Примеры
- 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: yes
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: 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 список / элементы=строка | успех | список измененных параметров Пример: [[2, "olcRootDN", ["cn=root,dc=example,dc=com"]]] |
Авторы
- Jiri Tyr (@jtyr)
- Alexander Korinek (@noles)
- Maciej Delmanowski (@drybjed)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/ldap_attrs_module.html