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

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 es 0.8.3.
  • summon_conjur.version: Versión del proveedor de Summon-Conjur a instalar. El valor predeterminado es 0.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.

Acerca del proyecto

Grants Conjur machine identity to hosts

Instalar
ansible-galaxy install cyberark.conjur-host-identity
Licencia
apache-2.0
Descargas
32.5k
Propietario
CyberArk, the undisputed leader in Privileged Account Security, secures secrets used by machines and users to protect traditional and cloud-native apps.