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