community.general.ldap_attr – Добавление или удаление значений атрибутов LDAP
Примечание
Этот плагин входит в состав коллекции community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в плейбуке укажите: community.general.ldap_attr.
УСТАРЕВШЕ
- Удалино в
-
версии 3.0.0
- Почему
-
Текущий модуль «ldap_attr» не поддерживает добавление или удаление атрибутов LDAP с зависимостями objectClass.
- Альтернатива
-
Используйте community.general.ldap_attrs вместо него. Устарело в community.general 0.2.0.
Обзор
- Добавление или удаление значений атрибутов LDAP.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python-ldap
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| bind_dn строка | DN для привязки. Если этот параметр опущен, мы попробуем выполнить привязку SASL с механизмом EXTERNAL по умолчанию. Если параметр пустой, используется анонимная привязка. | |
| bind_pw строка | Пароль для использования с bind_dn. | |
| dn строка / обязательно | DN записи для добавления или удаления. | |
| name строка / обязательно | Имя атрибута для изменения. | |
| referrals_chasing строка добавлено в 2.0.0 community.general |
| Установите поведение отслеживания рефереров. anonymous анонимно отслеживать рефереры. Это поведение по умолчанию.disabled отключить отслеживание рефереров. Это устанавливает OPT_REFERRALS в значение off. |
| 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 не будут проверены.Это следует использовать только на сайтах, использующих самозаверенные сертификаты. |
| values сырое / обязательно | Значение(я) для добавления или удаления. Это может быть строка или список строк. Сложный формат аргумента необходим для передачи списка строк (см. примеры). |
Примечания
Примечание
- Этот модуль работает только с атрибутами существующих записей. Чтобы добавить или удалить целые записи, см. 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. Это должно работать в большинстве случаев, но теоретически возможны ложные изменения, когда целевые и фактические значения семантически идентичны, но лексически различны.
- Параметр params был удален из-за обхода обработки параметров Ansible. Параметр params начал запрещать установку параметра bind_pw в Ansible-2.7, так как установление параметра таким способом было небезопасно.
Примеры
- name: Configure directory number 1 for example.com
community.general.ldap_attr:
dn: olcDatabase={1}hdb,cn=config
name: olcSuffix
values: 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_attr:
dn: olcDatabase={1}hdb,cn=config
name: olcAccess
values:
- >-
{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
- name: Declare some indexes
community.general.ldap_attr:
dn: olcDatabase={1}hdb,cn=config
name: olcDbIndex
values: "{{ item }}"
with_items:
- objectClass eq
- uid eq
- name: Set up a root user, which we can use later to bootstrap the directory
community.general.ldap_attr:
dn: olcDatabase={1}hdb,cn=config
name: "{{ item.key }}"
values: "{{ item.value }}"
state: exact
with_dict:
olcRootDN: cn=root,dc=example,dc=com
olcRootPW: "{SSHA}tabyipcHzhwESzRaGA7oQ/SDoBZQOGND"
- name: Get rid of an unneeded attribute
community.general.ldap_attr:
dn: uid=jdoe,ou=people,dc=example,dc=com
name: shadowExpire
values: []
state: exact
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 unneeded attribute
community.general.ldap_attr:
dn: uid=jdoe,ou=people,dc=example,dc=com
name: shadowExpire
values: []
state: exact
args: "{{ ldap_auth }}"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращено | Описание |
|---|---|---|
| modlist список / элементы=строка | успех | список измененных параметров Пример: [[2, "olcRootDN", ["cn=root,dc=example,dc=com"]]] |
Статус
- Этот модуль будет удален в версии 3.0.0. [устаревший]
- Дополнительная информация в УСТАРЕВШЕ.
Авторы
- Jiri Tyr (@jtyr)
© 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_attr_module.html