cyberark.conjur-host-identity
Rol de Ansible de Conjur
Este rol de Ansible proporciona la capacidad de otorgar identidad de máquina de Conjur a un host. Una vez que un host tiene una identidad creada por este rol, se pueden recuperar secretos de manera segura utilizando la herramienta Summon.
Lectura Recomendada
- Para aprender más sobre Conjur, pruébalo.
- Para saber más sobre cómo Conjur se puede integrar con Ansible, visita la Documentación de Integración.
- Para saber más sobre Summon, la herramienta que te permite exportar valores secretos recuperados de Conjur a tus aplicaciones, visita la Página Web de Summon.
- Para aprender más sobre otras formas de integrarte con Conjur, visita la documentación de Conjur.
Requisitos
- Conjur v1+ o Conjur Enterprise (anteriormente DAP) v10+
- Conjur Enterprise v4
- Ansible v2.8
Si utilizas Ansible v2.9+, te recomendamos considerar el uso de nuestra Colección de Ansible.
Usando ansible-conjur-host-identity con Conjur Open Source
¿Estás utilizando este proyecto con Conjur Open Source? Entonces recomendamos encarecidamente elegir la versión de este proyecto a partir de la última versión de la suite OSS de Conjur. Los mantenedores de Conjur realizan pruebas adicionales en las versiones de la suite para asegurar la compatibilidad. Cuando sea posible, actualiza tu versión de Conjur para que coincida con la última versión de la suite; al usar integraciones, elige la última versión de la suite que coincida con tu versión de Conjur. Para cualquier pregunta, contáctanos en Discourse.
Instrucciones de Uso
Instala el rol de Conjur usando el siguiente comando en tu directorio de playbook:
$ ansible-galaxy install cyberark.conjur-host-identity
El rol de Conjur proporciona un método para "Conjurar" o establecer la identidad de Conjur de un nodo remoto con Ansible. Luego, se puede otorgar al nodo acceso con el menor privilegio para recuperar los secretos que necesite de manera segura.
Variables del Rol
conjur_appliance_url
*
: La URL de la instancia de Conjur / Conjur Enterprise a la que te estás conectando. Al conectarte a un clúster maestro HA de Conjur Enterprise, esta sería la URL del balanceador de carga maestro.conjur_account
*
: El nombre de la cuenta para la instancia de Conjur a la que te estás conectando.conjur_host_factory_token
*
: Token Host Factory para la inscripción de capas. Esto debe ser especificado en el entorno del host controlador de Ansible.conjur_host_name
*
: Nombre de la identidad del host que la fábrica de hosts debe crear.conjur_ssl_certificate
: La cadena de certificados CA x509 codificados en PEM para la instancia de Conjur Enterprise a la que te estás conectando. Este valor se puede obtener ejecutando el comando:$ openssl s_client -showcerts -servername [CONJUR_DNS_NAME] -connect [CONJUR_DNS_NAME]:443 < /dev/null 2> /dev/null
conjur_validate_certs
: Valor booleano que indica si el cliente debe validar los certificados del servidor Conjur.summon.version
: Versión de Summon a instalar. El valor predeterminado es0.8.3
.summon_conjur.version
: Versión del proveedor de Summon-Conjur a instalar. El valor predeterminado es0.5.3
.
Las variables marcadas con *
son campos obligatorios. Las otras variables son necesarias para funcionar con un endpoint de Conjur HTTPS, pero no son obligatorias si se ejecuta con un endpoint de Conjur HTTP.
Ejemplo de Playbook
Configura un nodo remoto con una identidad de Conjur y Summon:
- hosts: servers
roles:
- role: cyberark.conjur-host-identity
conjur_appliance_url: 'https://conjur.myorg.com/api',
conjur_account: 'myorg',
conjur_host_factory_token: "{{lookup('env', 'HFTOKEN')}}",
conjur_host_name: "{{inventory_hostname}}"
Este ejemplo:
- Registra el host con Conjur, añadiéndolo a la capa específica para el token de fábrica de hosts proporcionado.
- Instala Summon con el proveedor de Summon-Conjur para la recuperación de secretos de Conjur.
Summon y Administradores de Servicios
Con Summon instalado, usar Conjur con un Administrador de Servicios (como SystemD) se vuelve muy fácil. Aquí hay un ejemplo simple de un archivo de SystemD conectándose a Conjur:
[Unit]
Description=DemoApp
After=network-online.target
[Service]
User=DemoUser
#Environment=CONJUR_MAJOR_VERSION=4
ExecStart=/usr/local/bin/summon --yaml 'DB_PASSWORD: !var staging/demoapp/database/password' /usr/local/bin/myapp
El ejemplo anterior usa Summon para recuperar la contraseña almacenada en staging/myapp/database/password
, configurarla como una variable de entorno DB_PASSWORD
y proporcionársela al proceso de la aplicación demo. Usando Summon, el secreto se mantiene fuera del disco. Si el servicio se reinicia, Summon recupera la contraseña nuevamente al iniciar la aplicación.
Dependencias
Ninguna
Recomendaciones
- Importante: Agrega
no_log: true
a cada tarea que use datos sensibles, de lo contrario, esos datos pueden imprimirse en los registros. - Establece los permisos de los archivos de Ansible al mínimo. Ansible utiliza los permisos del usuario que lo ejecuta.
Contribuciones
Damos la bienvenida a las contribuciones de todo tipo a este repositorio. Para obtener instrucciones sobre cómo empezar y descripciones de nuestros flujos de trabajo de desarrollo, consulta nuestra guía de contribuciones.
Licencia
Copyright (c) 2020 CyberArk Software Ltd. Todos los derechos reservados.
Este repositorio está licenciado bajo la Licencia Apache 2.0 - consulta LICENSE
para más detalles.
ansible-galaxy install cyberark.conjur-host-identity