Spec-Zone.ru › Ansible 2.9

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
строка
    Варианты:
  • простой
  • gssapi ←
Тип аутентификации, используемый при подключении к серверу Active Directory
При использовании simple, необходимо задать параметры username и password. Если не используется scheme=ldaps или start_tls=True, эти учетные данные передаются по сети в открытом виде.
Рекомендуется использовать gssapi, так как это автоматически шифрует данные.
При использовании gssapi, выполните kinit перед запуском Ansible для получения действительного Kerberos-тикета.
Нельзя использовать 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, или полное доменное имя (FQDN) конкретного контроллера домена.
Поддерживается как имя домена/хоста, так и явный 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, для повышения производительности рекомендуется сузить базу поиска.
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.9/plugins/lookup/laps_password.html

Spec-Zone.ru

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