caermeglaeddyv.ansible_role_cfssl
Rol de Ansible: CFSSL
Este rol se utiliza para generar perfiles y certificados de cfssl.
Por ahora, hace lo siguiente:
- genera certificados de CA raíz y de servidor de cfssl.
Requisitos
Estos no son requisitos estrictos y puede que no funcione con otras versiones que no sean las probadas. De todos modos, siéntete libre de probarlo tú mismo, sugerir la adición de nuevas funcionalidades y contribuir.
El rol se ha probado con:
- Versión de Ansible >= 2.8.6
cfssl y cfssljson deben estar instalados en localhost si la variable cfssl_create está configurada como True (por defecto).
Variables del Rol
Variables y sus descripciones copiadas de defaults/main.yml
# Variable que es común para la mayoría de los proyectos, usada en
# archivos de configuración o nombres de archivos/directorios.
# Por defecto, se usa como referencia para la variable cfssl_project_dir:
cfssl_project_name: test
# Variable que es común para la mayoría de los proyectos, utilizada como
# directorio de trabajo del proyecto en localhost para el rol.
# Actualmente se usa para almacenar los certificados creados:
cfssl_project_dir: "{{ cfssl_project_name }}"
# Nombre común para la CA raíz:
cfssl_ca_cn: "cfssl root ca"
# Algoritmo de clave para la CA raíz:
cfssl_ca_key_algo: "rsa"
# Tamaño de clave para la CA raíz:
cfssl_ca_key_size: 4096
# Nombres distinguidos para la CA raíz:
cfssl_ca_names:
- c: "Neverland"
l: "Rivia"
o: "Witchers"
ou: "Caer Morhen"
# Caducidad del certificado del servidor en horas:
cfssl_server_expiry: "17520h"
# Tipos de uso del certificado:
cfssl_server_usages:
- firma digital
- cifrado de claves
- autenticación de servidor
# Nombre común para el certificado del servidor:
cfssl_server_cn: "server"
# Algoritmo de clave para el certificado del servidor:
cfssl_server_key_algo: "rsa"
# Tamaño de clave para el certificado del servidor:
cfssl_server_key_size: 2048
# Nombres distinguidos para el certificado del servidor:
cfssl_server_names:
- c: "Neverland"
l: "Rivia"
o: "Witchers"
ou: "Caer Morhen"
# Nombres de host, nombres DNS y/o direcciones IP para las que
# el certificado del servidor será firmado. Si los nombres de host
# y direcciones IP de tu servidor son diferentes de los que están en el inventario,
# proporciónalos manualmente usando esta variable:
cfssl_server_hosts: []
# Prefijo que se añadirá a cada nombre de archivo generado:
cfssl_prefix: test
Dependencias
cfssl y cfssljson deben estar instalados en localhost si la variable cfssl_create está configurada como True (por defecto).
Ejemplo de Playbook
---
- hosts: localhost
gather_facts: false
become: no
tasks:
- name: Comprobar que la versión de ansible >=2.8.6
assert:
msg: Ansible debe ser v2.8.6 o superior
that:
- ansible_version.string is version("2.8.6", ">=")
tags:
- check
vars:
ansible_connection: local
- hosts: all
become: yes
tasks:
- import_role:
name: cfssl
Ejemplos más detallados (inventarios, playbooks, etc.) de este y otros roles se pueden encontrar aquí.
Se recomienda encarecidamente comenzar tus implementaciones de prueba desde allí, especialmente si usas Google Cloud Platform o VMware vCenter como tu infraestructura, ya que ese repositorio contiene ejemplos de Packer y Terraform para construir plantillas e implementar máquinas en estas plataformas.
Licencia
Información del autor
Copyright 2020 caermeglaeddyv
ansible-galaxy install caermeglaeddyv.ansible_role_cfssl