Аутентификация Kerberos
Semaphore поддерживает аутентификацию Kerberos при запуске playbook на Windows-хостах через WinRM.
Настройка инвентаря
[windows]
hostname
[windows:vars]
ansible_port=5985
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore
ansible_winrm_transport=ntlm
ansible_winrm_kinit_mode=managed
ansible_winrm_scheme=http
Также убедитесь, что:
- Указаны имя пользователя и пароль (учётные данные Semaphore)
- При необходимости имя пользователя указано в формате
domain\\username(например,CORP\\admin)
Ключевая настройка:
ansible_winrm_kinit_mode=managed
Она указывает Ansible автоматически получать билет Kerberos, используя переданные имя пользователя и пароль, без необходимости вручную запускать kinit.
Пример playbook
- hosts: all
gather_facts: false
tasks:
- win_ping:
Этот playbook проверяет базовое подключение через WinRM + Kerberos.
Требования к хосту Semaphore UI
На хосте Semaphore установите следующие пакеты:
sudo apt install libkrb5-dev krb5-user
Затем отредактируйте /etc/krb5.conf и задайте realm по умолчанию (имя домена):
[libdefaults]
default_realm = YOUR.DOMAIN.NAME
Он должен совпадать с вашим доменом Active Directory.
Примечания
-
Запускать kinit вручную не нужно — Ansible сам получает билет, если задано
ansible_winrm_kinit_mode=managed. -
Работает с транспортом NTLM по умолчанию (SSL не требуется при использовании HTTP и
cert_validation=ignore).