timorunge.freeipa_client

freeipa_client

Este rol instala y configura el cliente FreeIPA según tus necesidades.

En combinación con freeipa (Github), es posible (y ha sido probado) usar freeipa_client con la versión más reciente de FreeIPA en Debian 9.4 y Ubuntu >= 18.04 (mira la sección de ejemplos).

Requisitos

Este rol requiere Ansible 2.5.0 o superior.

Puedes usar pip para instalar (y definir) una versión estable:

pip install ansible==2.7.9

Todos los requisitos de plataforma están listados en el archivo de metadatos.

Para configurar este rol correctamente, es necesario que puedas comunicarte por los puertos requeridos con un Servidor FreeIPA (Repositorio de Github).

Instalación

ansible-galaxy install timorunge.freeipa_client

Variables del Rol

Es necesario establecer las siguientes variables para que este rol funcione (sin personalización). Estas variables no tienen valores predeterminados:

# Dominio DNS principal de la implementación IPA
# Tipo: Str
freeipa_client_domain: example.com
# El nombre del host de esta máquina (FQDN)
# Tipo: Str
freeipa_client_fqdn: srv-1-eu-central-1.example.com
# Contraseña para unirse al reino IPA
# Tipo: Str
freeipa_client_password: Passw0rd
# Principal para usar al unirse al reino IPA
# Tipo: Str
freeipa_client_principal: admin
# Nombre del reino Kerberos de la implementación IPA
# Tipo: Str
freeipa_client_realm: EXAMPLE.COM
# FQDN del servidor IPA
# Tipo: Str
freeipa_client_server: ipa.example.com

Las variables que se pueden pasar a este rol y una breve descripción de ellas son las siguientes. (Para todas las variables, consulta defaults/main.yml)

# El comando base para la instalación de FreeIPA
# Tipo: Str
freeipa_client_install_base_command: ipa-client-install --unattended

# Las opciones de instalación predeterminadas de FreeIPA
# Tipo: Lista
freeipa_client_install_options:
  - "--domain={{ freeipa_client_domain }}"
  - "--server={{ freeipa_client_server }}"
  - "--realm={{ freeipa_client_realm }}"
  - "--principal={{ freeipa_client_principal }}"
  - "--password={{ freeipa_client_password }}"
  - "--mkhomedir"
  - "--hostname={{ freeipa_client_fqdn }}"
  - "--force-join"

Ejemplos

Para mantener el documento conciso, se han eliminado las opciones de instalación. Puedes encontrar las opciones de instalación en este documento o en la página man en línea para ipa-client-install.

1) Instalar el cliente FreeIPA con configuraciones predeterminadas

- hosts: freeipa-clients
  vars:
    freeipa_client_domain: example.com
    freeipa_client_server: ipa.example.com
    freeipa_client_realm: EXAMPLE.COM
    freeipa_client_principal: admin
    freeipa_client_password: Passw0rd
    freeipa_client_fqdn: srv-1-eu-central-1.example.com
  roles:
    - timorunge.freeipa_client

2) Instalar el servidor FreeIPA con opciones de instalación personalizadas

- hosts: freeipa-clients
  vars:
    freeipa_client_domain: example.com
    freeipa_client_server: ipa.example.com
    freeipa_client_realm: EXAMPLE.COM
    freeipa_client_principal: admin
    freeipa_client_password: Passw0rd
    freeipa_client_fqdn: srv-1-eu-central-1.example.com
    freeipa_client_install_options:
      - "--no-ntp"
      - "--ssh-trust-dns"
      - "--ip-address=172.20.1.2"
      - "--ip-address=172.20.2.2"
  roles:
    - timorunge.freeipa_client

3) Instalar el cliente FreeIPA y agregar múltiples servidores IPA

- hosts: freeipa-clients
  vars:
    freeipa_client_domain: example.com
    freeipa_client_server:
      - ipa-eu-central-1.example.com
      - ipa-eu-west-1.example.com
      - ipa-eu-west-2.example.com
      - ipa-eu-west-3.example.com
      - ipa.example.com
    freeipa_client_realm: EXAMPLE.COM
    freeipa_client_principal: admin
    freeipa_client_password: Passw0rd
    freeipa_client_fqdn: srv-1-eu-central-1.example.com
    freeipa_client_install_options:
      - "--server={{ freeipa_client_server | join(' --server=') }}"
  roles:
    - timorunge.freeipa_client

Opciones de instalación del cliente FreeIPA

Una descripción general de las opciones de instalación para ipa-client-install (4.6.4).

Uso: ipa-client-install [opciones]

Opciones:
  --version             muestra el número de versión del programa y sale
  -h, --help            muestra este mensaje de ayuda y sale
  -U, --unattended      la (des)instalación desatendida nunca solicita al usuario
  --uninstall           desinstala una instalación existente. La desinstalación puede
                        ejecutarse con la opción --unattended

  Opciones básicas:
    -p PRINCIPAL, --principal=PRINCIPAL
                        principal para usar al unirse al reino IPA
    --ca-cert-file=FILE
                        carga el certificado CA desde este archivo
    --ip-address=IP_ADDRESS
                        Especifica la dirección IP que debe añadirse al DNS. Esta
                        opción puede usarse varias veces
    --all-ip-addresses  Todas las direcciones IP enrutables configuradas en cualquier interfaz
                        se agregarán al DNS
    --domain=DOMAIN_NAME
                        dominio DNS principal de la implementación IPA (no
                        necesariamente relacionado con el nombre de host actual)
    --server=SERVER     FQDN del servidor IPA
    --realm=REALM_NAME  nombre del reino Kerberos de la implementación IPA (típicamente
                        un nombre en mayúsculas del dominio DNS principal)
    --hostname=HOST_NAME
                        El nombre del host de esta máquina (FQDN). Si se especifica, 
                        el nombre del host se establecerá y la configuración del sistema 
                        se actualizará para persistir después de reiniciar. Por defecto, 
                        se utiliza el resultado de la llamada getfqdn() del módulo socket de Python.

  Opciones del cliente:
    -w PASSWORD, --password=PASSWORD
                        contraseña para unirse al reino IPA (asume contraseña masiva
                        a menos que también se establezca el principal)
    -W                  Solicitar una contraseña para unirse al reino IPA
    --noac              no modificar el nsswitch.conf y la configuración PAM
    -f, --force         forzar la configuración del conf de LDAP/Kerberos
    --configure-firefox
                        configura Firefox para usar credenciales del dominio IPA
    --firefox-dir=FIREFOX_DIR
                        especifica el directorio donde está instalado Firefox (por
                        ejemplo: '/usr/lib/firefox')
    -k KEYTAB, --keytab=KEYTAB
                        ruta al keytab respaldado de una inscripción anterior
    --mkhomedir         crea directorios de inicio para usuarios en su primer inicio de sesión
    --force-join        Fuerza la inscripción del cliente incluso si ya está inscrito
    --ntp-server=NTP_SERVER
                        servidor ntp a utilizar. Esta opción puede usarse varias
                        veces
    -N, --no-ntp        no configurar ntp
    --force-ntpd        detener y deshabilitar cualquier servicio de sincronización de tiempo y fecha
                        además de ntpd
    --nisdomain=NISDOMAIN
                        nombre de dominio NIS
    --no-nisdomain      no configurar el nombre del dominio NIS
    --ssh-trust-dns     configurar el cliente OpenSSH para confiar en los registros SSHFP de DNS
    --no-ssh            no configurar el cliente OpenSSH
    --no-sshd           no configurar el servidor OpenSSH
    --no-sudo           no configurar SSSD como fuente de datos para sudo
    --no-dns-sshfp      no crear automáticamente registros DNS SSHFP
    --kinit-attempts=KINIT_ATTEMPTS
                        número de intentos para obtener el TGT de host (predeterminado es 5).
    --request-cert      solicitar un certificado para la máquina

  Opciones de SSSD:
    --fixed-primary     Configurar sssd para usar un servidor fijo como servidor IPA
                        primario
    --permit            deshabilitar reglas de acceso por defecto, permitir todo el acceso.
    --enable-dns-updates
                        Configura la máquina para intentar actualizaciones de DNS cuando la
                        dirección IP cambie.
    --no-krb5-offline-passwords
                        Configurar SSSD para no almacenar la contraseña del usuario cuando el
                        servidor está fuera de línea
    --preserve-sssd     Preservar la configuración antigua de SSSD si es posible

  Opciones de automontaje:
    --automount-location=AUTOMOUNT_LOCATION
                        Ubicación de automontaje

  Opciones de registro y salida:
    -v, --verbose       imprimir información de depuración
    -d, --debug         alias para --verbose (obsoleto)
    -q, --quiet         salida solo errores
    --log-file=FILE     registrar en el archivo dado

Pruebas

Estado de la construcción

Las pruebas en Travis se realizan con Docker y docker_test_runner. Las pruebas en Travis realizan análisis y verificaciones de sintaxis.

Para más detalles y comprobaciones adicionales, consulta la configuración de docker_test_runner y el entrypoint de Docker.

# Pruebas localmente:
curl https://raw.githubusercontent.com/timorunge/docker-test-runner/master/install.sh | sh
./docker_test_runner.py -f tests/docker_test_runner.yml

Dependencias

Este rol requiere un Servidor FreeIPA (Repositorio de Github) en funcionamiento.

Licencia

Licencia BSD 3-Clause "Nueva" o "Revisada"

Información del Autor

  • Timo Runge
Acerca del proyecto

FreeIPA Identity Management Client provisioning.

Instalar
ansible-galaxy install timorunge.freeipa_client
Licencia
bsd-3-clause
Descargas
12.1k
Propietario