Autenticación Kerberos
Semaphore admite la autenticación Kerberos al ejecutar playbooks contra hosts Windows mediante WinRM.
Configuración del inventario
[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
Asegúrese también de que:
- Se proporcionan un nombre de usuario y una contraseña (credenciales de Semaphore)
- El formato del usuario es
domain\\username(p. ej.,CORP\\admin) si es necesario
El ajuste clave es:
ansible_winrm_kinit_mode=managed
Esto indica a Ansible que obtenga automáticamente un ticket de Kerberos usando el nombre de usuario y la contraseña proporcionados, sin necesidad de ejecutar kinit manualmente.
Playbook de ejemplo
- hosts: all
gather_facts: false
tasks:
- win_ping:
Esto verifica la conectividad básica mediante WinRM + Kerberos.
Requisitos del host de Semaphore UI
En el host de Semaphore, instale los siguientes paquetes:
sudo apt install libkrb5-dev krb5-user
A continuación, edite /etc/krb5.conf y establezca su realm predeterminado (nombre de dominio):
[libdefaults]
default_realm = YOUR.DOMAIN.NAME
Debe coincidir con su dominio de Active Directory.
Notas
-
No necesita ejecutar kinit manualmente: Ansible se encarga de obtener el ticket cuando
ansible_winrm_kinit_mode=managedestá configurado. -
Funciona con el transporte NTLM predeterminado (no se necesita SSL si se usa HTTP y
cert_validation=ignore).