Spec-Zone.ru › Ansible 2.8

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, все указанные значения будут добавлены, если они отсутствуют.
Если absent, все указанные значения будут удалены, если они присутствуют.
Если exact, набор значений будет принудительно установлен в указанные и только в них.
Если state=точно и 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=наличие и state=отсутствует, все сравнения значений выполняются на сервере для максимальной точности. Для state=точно, значения сравниваются в Python, что очевидно игнорирует правила сопоставления LDAP. Это должно работать в большинстве случаев, но теоретически возможно увидеть ложные изменения, когда целевые и фактические значения семантически идентичны, но лексически различны.
  • Параметр params устарел в Ansible-2.7 из-за обхода обработки параметров Ansible. Параметр params начал запрещать установку параметра bind_pw в Ansible-2.7, поскольку установление этого параметра таким образом было небезопасно.

Примеры

- 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
#
# In the example below, 'args' is a task keyword, passed at the same level as the module
- name: Get rid of an unneeded attribute
  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"]]]


Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

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

Spec-Zone.ru

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