Spec-Zone.ru › Ansible 2.10

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

Примечание

Этот плагин входит в коллекцию community.windows (версия 1.2.0).

Для его установки используйте: ansible-galaxy collection install community.windows.

Чтобы использовать его в плейбуке, укажите: community.windows.laps_password.

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

Описание

  • Этот поиск возвращает пароль 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, чтобы получить действительный билет 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, чтобы найти только 1 хост.
При поиске в базе данных 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('community.windows.laps_password', 'SERVER', domain='dc01.ansible.com') }}"

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

- name: Use Simple auth over LDAPS
  set_fact:
    ansible_password: "{{ lookup('community.windows.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('community.windows.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('community.windows.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('community.windows.laps_password', 'windows-pc',
                                 domain='dc01.ansible.com',
                                 start_tls=True,
                                 ca_cert='/usr/local/share/certs/ad.pem') }}"

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

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

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



Авторы

  • 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.10/collections/community/windows/laps_password_lookup.html

Spec-Zone.ru

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