Authentification Kerberos
Semaphore prend en charge l'authentification Kerberos lors de l'exécution de playbooks sur des hôtes Windows via WinRM.
Configuration de l'inventaire
[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
Assurez-vous également que :
- Un nom d'utilisateur et un mot de passe sont fournis (identifiants Semaphore)
- Le format de l'utilisateur est
domain\\username(par exempleCORP\\admin) si nécessaire
Le paramètre essentiel est :
ansible_winrm_kinit_mode=managed
Il indique à Ansible d'obtenir automatiquement un ticket Kerberos à partir du nom d'utilisateur et du mot de passe fournis, sans que vous ayez à exécuter kinit manuellement.
Exemple de playbook
- hosts: all
gather_facts: false
tasks:
- win_ping:
Ce playbook vérifie la connectivité de base via WinRM + Kerberos.
Prérequis sur l'hôte Semaphore UI
Sur l'hôte Semaphore, installez les paquets suivants :
sudo apt install libkrb5-dev krb5-user
Modifiez ensuite /etc/krb5.conf et définissez votre realm par défaut (nom de domaine) :
[libdefaults]
default_realm = YOUR.DOMAIN.NAME
Il doit correspondre à votre domaine Active Directory.
Remarques
-
Vous n'avez pas besoin d'exécuter kinit manuellement : Ansible se charge de l'obtention du ticket lorsque
ansible_winrm_kinit_mode=managedest défini. -
Fonctionne avec le transport NTLM par défaut (aucun SSL requis si vous utilisez HTTP et
cert_validation=ignore).