Spec-Zone.ru › Ansible

Модуль community.general.ldap_attrs — добавление или удаление нескольких значений атрибутов LDAP

Примечание

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

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

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

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

Добавлено в community.general 0.2.0

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

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

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

Требования

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

  • python-ldap

Параметры

Параметр

Комментарии

attributes

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

Атрибуты и значения, которые нужно добавить или удалить.

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

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

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

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

ordered

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

Если true, к значениям списков во всех атрибутах, указанных в текущей задаче, добавляются префиксы с индексами X-ORDERED. Это особенно полезно для атрибута olcAccess, чтобы упростить управление списками контроля доступа LDAP.

Варианты:

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

referrals_chasing

строка

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

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

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

disabled отключить переход по ссылкам-перенаправлениям. При этом для OPT_REFERRALS устанавливается значение off.

Варианты:

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

sasl_class

строка

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

Класс для использования при аутентификации SASL.

Варианты:

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

server_uri

строка

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

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

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

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

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

start_tls

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

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

Варианты:

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

state

строка

Состояние значений атрибутов. Если present, все указанные значения атрибутов добавляются, если они отсутствуют. Если absent, все указанные значения атрибутов удаляются, если они присутствуют. Если exact, набор значений атрибутов приводится в точности к указанному, без других значений. Если state=exact и значение атрибута пусто, удаляются все значения этого атрибута.

Варианты:

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

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

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

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

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

Примечания

Примечание

  • Работа выполняется только с атрибутами существующих записей. Для добавления или удаления записей целиком см. community.general.ldap_entry.
  • Если honor_binary=true, атрибут, содержащий параметр binary согласно RFC 4522, считается бинарным. Его содержимое необходимо указать в Base64; перед отправкой в LDAP оно будет декодировано. Если атрибут необходимо обрабатывать как бинарный, но он не содержит параметр binary, его можно перечислить в binary_attributes.
  • Для state=present и state=absent при обработке текстовых атрибутов все сравнения значений выполняются на сервере для максимальной точности. Для state=exact или бинарных атрибутов сравнение значений выполняется в Python, где правила сопоставления LDAP не учитываются. Обычно это работает корректно, однако теоретически возможны ложные изменения, если целевые и фактические значения семантически идентичны, но лексически различаются.
  • Поддержка бинарных значений добавлена в community.general 12.5.0.
  • По умолчанию для аутентификации предпринимается попытка использовать привязку SASL EXTERNAL через сокет домена UNIX. Например, это хорошо работает в стандартной установке Ubuntu, которая включает правило ACL cn=peercred,cn=external,cn=auth, позволяющее пользователю root изменять конфигурацию сервера. Если для доступа к серверу требуется простая привязка, передайте учётные данные в bind_dn и bind_pw.

Примеры

- name: Configure directory number 1 for example.com
  community.general.ldap_attrs:
    dn: olcDatabase={1}hdb,cn=config
    attributes:
      olcSuffix: 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_attrs:
    dn: olcDatabase={1}hdb,cn=config
    attributes:
      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
    state: exact

# An alternative approach with automatic X-ORDERED numbering
- name: Set up the ACL
  community.general.ldap_attrs:
    dn: olcDatabase={1}hdb,cn=config
    attributes:
      olcAccess:
        - >-
          to attrs=userPassword,shadowLastChange
          by self write
          by anonymous auth
          by dn="cn=admin,dc=example,dc=com" write
          by * none'
        - >-
          to dn.base="dc=example,dc=com"
          by dn="cn=admin,dc=example,dc=com" write
          by * read
    ordered: true
    state: exact

- name: Declare some indexes
  community.general.ldap_attrs:
    dn: olcDatabase={1}hdb,cn=config
    attributes:
      olcDbIndex:
        - objectClass eq
        - uid eq

- name: Set up a root user, which we can use later to bootstrap the directory
  community.general.ldap_attrs:
    dn: olcDatabase={1}hdb,cn=config
    attributes:
      olcRootDN: cn=root,dc=example,dc=com
      olcRootPW: "{SSHA}tabyipcHzhwESzRaGA7oQ/SDoBZQOGND"
    state: exact

- name: Replace a CA certificate
  community.general.ldap_attrs:
    dn: cn=ISRG Root X1,ou=ca,ou=certificates,dc=example,dc=org
    honor_binary: true
    state: exact
    attributes:
      cACertificate;binary: >-
        MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
        TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
        # ...

- name: Remove an attribute with a specific value
  community.general.ldap_attrs:
    dn: uid=jdoe,ou=people,dc=example,dc=com
    attributes:
      description: "An example user account"
    state: absent
    server_uri: ldap://localhost/
    bind_dn: cn=admin,dc=example,dc=com
    bind_pw: password

- name: Remove specified attribute(s) from an entry
  community.general.ldap_attrs:
    dn: uid=jdoe,ou=people,dc=example,dc=com
    attributes:
      description: []
    state: exact
    server_uri: ldap://localhost/
    bind_dn: cn=admin,dc=example,dc=com
    bind_pw: password

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

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

Ключ

Описание

modlist

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

Список изменённых параметров.

Возвращается: при успешном выполнении

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

Авторы

  • Jiri Tyr (@jtyr)
  • Alexander Korinek (@noles)
  • Maciej Delmanowski (@drybjed)

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

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

© 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_attrs_module.html

Spec-Zone.ru

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