Spec-Zone.ru › Ansible 2.5

ldap_attr — Добавление или удаление значений атрибута LDAP.

Новая версия в 2.3.

  • Описание
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
    • Автор

Описание

  • Добавление или удаление значений атрибута LDAP.

Требования

Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.

  • python-ldap

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
bind_dn Значение по умолчанию:
None
DN для привязки. Если этот параметр опущен, будет попытка привязки SASL с механизмом EXTERNAL. Если параметр пуст, будет использована анонимная привязка.
bind_pw Значение по умолчанию:
None
Пароль, используемый с bind_dn.
dn
обязательно
DN записи, которую нужно изменить.
name
обязательно
Имя атрибута, который нужно изменить.
server_uri Значение по умолчанию:
ldapi:///
URI сервера LDAP. Значение по умолчанию позволяет подключающемуся клиенту LDAP искать сокет домена UNIX в стандартном месте.
start_tls
    Варианты:
  • да
  • нет ←
Если true, будет использовано расширение START_TLS LDAP.
state
    Варианты:
  • present ←
  • absent
  • exact
Состояние значений атрибутов. Если present, все указанные значения будут добавлены, если их нет. Если absent, все указанные значения будут удалены, если они присутствуют. Если exact, набор значений будет точно таким, как указано, и никаких других. Если state=exact и value пусто, все значения этого атрибута будут удалены.
validate_certs
(добавлен в 2.4)
    Варианты:
  • да ←
  • нет
Если no, сертификаты SSL не будут проверяться. Это следует использовать только на сайтах с самоподписанными сертификатами.
values
обязательно
Значение(я) для добавления или удаления. Может быть строкой или списком строк. Для передачи списка строк требуется сложный формат аргумента (см. примеры).

Примечания

Примечание

  • Этот модуль обрабатывает только атрибуты существующих записей. Чтобы добавить или удалить целые записи, см. 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
  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
  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
  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
  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
  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
- name: Get rid of an unneeded attribute
  ldap_attr:
    dn: uid=jdoe,ou=people,dc=example,dc=com
    name: shadowExpire
    values: ""
    state: exact
    params: "{{ ldap_auth }}"

Возвращаемые значения

Общие возвращаемые значения описаны здесь, ниже приведены поля, уникальные для этого модуля:

Ключ Возвращаемое значение Описание
modlist
список
успех
список измененных параметров

Пример:
[[2, "olcRootDN", ["cn=root,dc=example,dc=com"]]]


Статус

Этот модуль помечен как preview, что означает, что его интерфейс не гарантируется обратной совместимостью.

Автор

  • 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.5/modules/ldap_attr_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API