Spec-Zone.ru › Ansible 2.8

laps_password – Извлечение пароля LAPS для сервера

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

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

Обзор

  • Этот поиск возвращает пароль LAPS, заданный для сервера из базы данных Active Directory.
  • См. https://github.com/jborean93/ansible-lookup-laps_password для получения дополнительной информации об установке предварительных требований и тестировании.

Требования

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

  • python-ldap

Параметры

Параметр Варианты/Значения по умолчанию Конфигурация Комментарии
_terms
строка / обязательно
Имя хоста для извлечения пароля LAPS.
Это Common Name (CN) хоста.
allow_plaintext
логическое
    Варианты:
  • нет ←
  • да
При установке значения yes, разрешит отправку трафика без шифрования.
Сильно рекомендуется не изменять это значение, чтобы избежать раскрытия учетных данных в сети.
Используйте scheme=ldaps, auth=gssapi, или start_tls=yes для обеспечения шифрования трафика.
auth
строка
    Варианты:
  • simple
  • gssapi ←
Тип аутентификации для подключения к серверу Active Directory
При использовании simple, необходимо установить параметры username и password. Если не использовать scheme=ldaps или start_tls=True, то эти учетные данные будут переданы в открытом виде в сетевом трафике.
Рекомендуется использовать gssapi, так как это автоматически зашифрует трафик.
При использовании gssapi, выполните kinit перед запуском Ansible, чтобы получить действительный кероберовский билет.
Нельзя использовать gssapi, когда установлен scheme=ldaps или start_tls=True.
ca_cert
строка
Путь к файлу сертификата CA в формате PEM для проверки сертификатов.
Проверка сертификатов используется, когда scheme=ldaps или start_tls=yes.
Это может привести к ошибкам на хостах со старой установкой OpenLDAP, например, MacOS. Необходимо обновить OpenLDAP перед переустановкой python-ldap для устранения неполадок.

псевдонимы: cacert_file
domain
строка / обязательно
Домен для поиска пароля LAPS.
Это может быть имя домена Windows, видимое контроллеру Ansible из DNS, или полное доменное имя конкретного контроллера домена.
Поддерживает имя домена/хоста или явную LDAP-URI с заполненным домен/хост.
Если задана URI, параметры port и scheme игнорируются.
password
строка
Пароль для username.
Необходим, когда установлен username.
port
целое число
Порт LDAP для связи.
Если kdc уже является LDAP-URI, то этот параметр игнорируется.
scheme
-
    Варианты:
  • ldap ←
  • ldaps
Схема LDAP для использования.
При использовании ldap, рекомендуется установить auth=gssapi, или start_tls=yes, в противном случае трафик будет в открытом виде.
Хост Active Directory должен быть настроен на ldaps с сертификатом, прежде чем его можно будет использовать.
Если kdc уже является LDAP-URI, то этот параметр игнорируется.
search_base
строка
Изменяет базу поиска, используемую при поиске хоста в Active Directory.
По умолчанию ищет в defaultNamingContext сервера Active Directory.
Если найдено несколько совпадений, требуется более явная search_base, чтобы найти только один хост.
Если ищется большая база данных Active Directory, рекомендуется сузить search_base для повышения производительности.
start_tls
логическое
    Варианты:
  • нет ←
  • да
При scheme=ldap, будет использоваться расширение StartTLS для шифрования трафика, отправляемого по сети.
Это требует настройки Active Directory с сертификатом, поддерживающим StartTLS.
Этот параметр игнорируется, если scheme=ldaps, поскольку трафик уже зашифрован.
username
строка
Требуется при использовании auth=simple.
Имя пользователя для аутентификации.
Рекомендуется использовать имя пользователя в формате UPN, например username@DOMAIN.COM.
Требуется, когда auth=simple, и не поддерживается, когда auth=gssapi.
Вызовите kinit вне Ansible, если auth=gssapi необходимо.
validate_certs
строка
    Варианты:
  • никогда
  • разрешить
  • попробовать
  • требовать ←
При использовании scheme=ldaps или start_tls=yes, это управляет поведением проверки сертификатов.
demand приведет к ошибке, если не предоставлен сертификат или предоставлен неверный сертификат.
try приведет к ошибке для неверных сертификатов, но продолжит выполнение, если сертификат не предоставлен.
allow запросит и проверит сертификат, но продолжит выполнение даже если он неверен.
never не запросит сертификат от сервера, поэтому проверка не выполняется.

Примечания

Примечание

  • Если хост был найден, но у него отсутствовал атрибут пароля LAPS ms-Mcs-AdmPwd, поиск завершится ошибкой.
  • В связи с конфиденциальностью данных, передаваемых по сети, настоятельно рекомендуется использовать auth=gssapi, scheme=ldaps, или start_tls=yes.
  • Отказ от использования одного из вышеперечисленных параметров приведет к передаче учетных данных пользователя и пароля LAPS в открытом виде.
  • В некоторых случаях это может не сработать на хосте со старой установкой OpenLDAP, например, на MacOS. Рекомендуется установить последнюю версию OpenLDAP и скомпилировать python-ldap на её основе. См. https://keathmilligan.net/python-ldap-and-macos/ для получения дополнительной информации.

Примеры

# This isn't mandatory but it is a way to call kinit from within Ansible before calling the lookup
- name: call kinit to retrieve Kerberos token
  expect:
    command: kinit username@ANSIBLE.COM
    responses:
      (?i)password: SecretPass1
  no_log: True

- name: Get the LAPS password using Kerberos auth, relies on kinit already being called
  set_fact:
    ansible_password: "{{ lookup('laps_password', 'SERVER', domain='dc01.ansible.com') }}"

- name: Specific the domain host using an explicit LDAP URI
  set_fact:
    ansible_password: "{{ lookup('laps_password', 'SERVER', domain='ldap://ansible.com:389') }}"

- name: Use Simple auth over LDAPS
  set_fact:
    ansible_password: "{{ lookup('laps_password', 'server',
                                 domain='dc01.ansible.com',
                                 auth='simple',
                                 scheme='ldaps',
                                 username='username@ANSIBLE.COM',
                                 password='SuperSecret123') }}"

- name: Use Simple auth with LDAP and StartTLS
  set_fact:
    ansible_password: "{{ lookup('laps_password', 'app01',
                                 domain='dc01.ansible.com',
                                 auth='simple',
                                 start_tls=True,
                                 username='username@ANSIBLE.COM',
                                 password='SuperSecret123') }}"

- name: Narrow down the search base to a an OU
  set_fact:
    ansible_password: "{{ lookup('laps_password', 'sql10',
                                 domain='dc01.ansible.com',
                                 search_base='OU=Databases,DC=ansible,DC=com') }}"

- name: Set certificate file to use when validating the TLS certificate
  set_fact:
    ansible_password: "{{ lookup('laps_password', 'windows-pc',
                                 domain='dc01.ansible.com',
                                 start_tls=True,
                                 ca_cert='/usr/local/share/certs/ad.pem') }}"

Значения возврата

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

Ключ Возвращаемое значение Описание
_raw
строка
Пароль(и) LAPS для запрошенного(ых) хоста(ов).



Статус

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

Авторы

  • Jordan Borean (@jborean93)

Подсказка

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

Подсказка

Параметры конфигурации для каждого типа имеют порядок приоритета «низкий-высокий». Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше.

© 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/plugins/lookup/laps_password.html

Spec-Zone.ru

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