Spec-Zone.ru › Ansible

Модуль community.general.ldap_entry – добавление и удаление записей LDAP

Примечание

Этот модуль входит в коллекцию community.general (версия 12.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.general.ldap_entry.

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры

Краткое описание

  • Добавляет или удаляет записи LDAP. Этот модуль проверяет только наличие или отсутствие записи LDAP, но не её атрибуты. Чтобы проверить значения атрибутов записи, см. community.general.ldap_attrs.

Требования

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

  • python-ldap

Параметры

Параметр

Комментарии

attributes

словарь

Если state=present, атрибуты, необходимые для создания записи. Существующие записи никогда не изменяются. Чтобы проверить определённые значения атрибутов существующей записи, используйте модуль community.general.ldap_attrs.

Значение каждого атрибута может быть строкой для атрибутов с одним значением или списком строк для атрибутов с несколькими значениями.

Если вы задаёте значения этого параметра в YAML, учтите, что для повышения читаемости длинных строк можно использовать блочные модификаторы YAML, как показано в примерах для этого модуля.

Обратите внимание: если используются значения, которые YAML/ansible-core интерпретирует как другие типы, например yes, no (логические значения) или 2.10 (число с плавающей запятой), заключайте их в кавычки, если это строки. В противном случае в LDAP могут быть отправлены неверные значения.

Если honor_binary=true, атрибут, включающий параметр binary согласно RFC 4522, будет считаться двоичным. Его содержимое необходимо указать в Base64; перед отправкой в LDAP оно будет декодировано. Если атрибут необходимо обрабатывать как двоичный, но он не содержит параметр binary, его можно указать в binary_attributes. Поддержка двоичных значений добавлена в community.general 12.5.0.

По умолчанию: {}

binary_attributes

список / элементы=строка

добавлен в community.general 12.5.0

Если state=present, здесь необходимо указать атрибуты, значения которых должны обрабатываться как необработанные последовательности байтов.

Указанные значения атрибутов будут преобразованы из Base64.

По умолчанию: []

bind_dn

строка

DN для привязки. Если этот параметр не указан, по умолчанию используется привязка SASL с механизмом EXTERNAL.

Если параметр пуст, используется анонимная привязка.

bind_pw

строка

Пароль для использования с bind_dn.

По умолчанию: ""

ca_path

путь

добавлен в community.general 6.5.0

Задаёт путь к файлу PEM с сертификатами CA.

client_cert

путь

добавлен в community.general 7.1.0

Файл цепочки сертификатов в формате PEM для аутентификации SSL-клиента.

Обязателен, если задан client_key.

client_key

путь

добавлен в community.general 7.1.0

Файл в формате PEM с закрытым ключом для аутентификации SSL-клиента.

Обязателен, если задан client_cert.

dn

строка / обязательный

DN записи, которую нужно добавить или удалить.

honor_binary

логическое значение

добавлен в community.general 12.5.0

Если state=present и этот параметр имеет значение true, атрибуты, имена которых включают параметр binary, будут автоматически обрабатываться как последовательности байтов в кодировке Base64, даже если они не указаны в binary_attributes.

Варианты:

  • false ← (по умолчанию)
  • true

objectClass

список / элементы=строка

Если state=present, значение или список значений, используемых при создании записи. Это может быть строка или список строк.

recursive

логическое значение

добавлен в community.general 4.6.0

Если state=delete, флаг указывает, следует ли удалить одну запись или всю ветвь.

Варианты:

  • false ← (по умолчанию)
  • true

referrals_chasing

строка

добавлен в community.general 2.0.0

Задаёт поведение при обработке ссылок-переадресаций.

anonymous следовать ссылкам-переадресациям анонимно. Это поведение используется по умолчанию.

disabled отключить обработку ссылок-переадресаций. Это отключает OPT_REFERRALS.

Варианты:

  • "disabled"
  • "anonymous" ← (по умолчанию)

sasl_class

строка

добавлен в community.general 2.0.0

Класс для аутентификации SASL.

Варианты:

  • "external" ← (по умолчанию)
  • "gssapi"

server_uri

строка

Параметр server_uri может содержать список URI, разделённых запятыми или пробелами и включающих только поля схемы, хоста и порта.

Значение по умолчанию позволяет базовой клиентской библиотеке LDAP искать UNIX-сокет в расположении по умолчанию.

Обратите внимание: при использовании нескольких URI невозможно определить, к какому из них подключится клиент.

Для URI с дополнительными полями, особенно при использовании запятых, поведение не определено.

По умолчанию: "ldapi:///"

start_tls

логическое значение

Использовать расширение LDAP START_TLS, если задано значение true.

Варианты:

  • false ← (по умолчанию)
  • true

state

строка

Целевое состояние записи.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

validate_certs

логическое значение

Если задано значение false, сертификаты SSL не проверяются.

Используйте этот параметр только на сайтах с самоподписанными сертификатами.

Варианты:

  • false
  • true ← (по умолчанию)

xorder_discovery

строка

добавлен в community.general 6.4.0

Задаёт поведение при обработке упорядоченных DN (Xordered DN).

enable выполняет поиск ONELEVEL ниже родительского RDN, чтобы найти соответствующий DN.

disable всегда использует DN без изменений (переданный параметром dn).

auto выполняет поиск только в том случае, если первый RDN не содержит номера индекса ({x}).

Варианты:

  • "enable"
  • "auto" ← (по умолчанию)
  • "disable"

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может выполняться в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой объект.

diff_mode

Поддержка: нет

В режиме diff возвращает сведения об изменениях (или о возможных изменениях в check_mode).

Примечания

Примечание

  • По умолчанию для аутентификации выполняется привязка SASL EXTERNAL через UNIX-сокет. Например, это хорошо работает со стандартной установкой Ubuntu, которая включает правило ACL cn=peercred,cn=external,cn=auth, позволяющее пользователю root изменять конфигурацию сервера. Если для доступа к серверу требуется простая привязка, передайте учётные данные в bind_dn и bind_pw.

Примеры

- name: Make sure we have a parent entry for users
  community.general.ldap_entry:
    dn: ou=users,dc=example,dc=com
    objectClass: organizationalUnit

- name: Make sure we have an admin user
  community.general.ldap_entry:
    dn: cn=admin,dc=example,dc=com
    objectClass:
      - simpleSecurityObject
      - organizationalRole
      - myPhotoObject
    binary_attributes:
      - myPhoto
    attributes:
      description: An LDAP administrator
      userPassword: "{SSHA}tabyipcHzhwESzRaGA7oQ/SDoBZQOGND"
      myPhoto: >-
        /9j/4AAQSkZJRgABAQAAAQABAAD/4gIcSUNDX1BST0ZJTEUAAQEAAAIMbGNt
        cwIQAABtbnRyUkdCIFhZWiAH3AABABkAAwApADlhY3NwQVBQTAAAAAAAAAAA
        # ...

- name: Make sure a CA certificate is present
  community.general.ldap_attrs:
    dn: cn=ISRG Root X1,ou=ca,ou=certificates,dc=example,dc=org
    honor_binary: true
    objectClass:
      - pkiCA
      - applicationProcess
    attributes:
      cn: ISRG Root X1
      cACertificate;binary: >-
        MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
        TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
        # ...

- name: Set possible values for attributes elements
  community.general.ldap_entry:
    dn: cn=admin,dc=example,dc=com
    objectClass:
      - simpleSecurityObject
      - organizationalRole
    attributes:
      description: An LDAP Administrator
      roleOccupant:
        - cn=Chocs Puddington,ou=Information Technology,dc=example,dc=com
        - cn=Alice Stronginthebrain,ou=Information Technology,dc=example,dc=com
      olcAccess:
        - >-
          {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

- name: Get rid of an old entry
  community.general.ldap_entry:
    dn: ou=stuff,dc=example,dc=com
    state: absent
    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 old entry
  community.general.ldap_entry:
    dn: ou=stuff,dc=example,dc=com
    state: absent
  args: "{{ ldap_auth }}"

Авторы

  • Jiri Tyr (@jtyr)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Задать вопрос
  • Сообщить об ошибке
  • Запросить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/ldap_entry_module.html

Spec-Zone.ru

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