Spec-Zone.ru › Ansible 2.4

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

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

  • Обзор
  • Требования (к хосту, на котором выполняется модуль)
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Примечания
    • Статус

Обзор

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

Требования (к хосту, на котором выполняется модуль)

  • python-ldap

Параметры

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

Примеры

- 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"]]]

Примечания

Примечание

  • Этот модуль работает только со значениями атрибутов в существующих записях. Для добавления или удаления целых записей см. 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. Это должно работать в большинстве случаев, но теоретически возможно увидеть ложные изменения, когда целевые и фактические значения семантически идентичны, но лексически отличаются.

Статус

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

Для получения помощи в разработке модулей, если вы заинтересованы, ознакомьтесь с Информация о сообществе и участие, Тестирование Ansible и Разработка модулей.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/ldap_attr_module.html

Spec-Zone.ru

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