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

Apache 2.0

Información del autor

Copyright 2020 caermeglaeddyv

Acerca del proyecto

Linux / Kubernetes Administrator

Instalar
ansible-galaxy install caermeglaeddyv.ansible_role_cfssl
Licencia
apache-2.0
Descargas
148
Propietario