community.general.ldap_attrs – Добавление или удаление нескольких значений атрибутов LDAP
Примечание
Этот плагин входит в коллекцию community.general (версия 1.3.2).
Для установки используйте: 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. |
| 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/ldap_attrs_module.html