mprahl.lets-encrypt-route-53

lets-encrypt-route-53

Ceci est un rôle Ansible qui automatise la génération de certificats signés par Let's Encrypt avec des défis DNS sur Route 53 d'Amazon (AWS).

Veuillez noter qu'en utilisant ce rôle, openssl, boto, et pyOpenSSL seront installés. Si vous utilisez CentOS, RHEL, ou Mac OS, le rôle installera pip, puis boto et pyOpenSSL dans un virtualenv Python car les versions empaquetées ne sont pas disponibles ou ne sont pas assez récentes. Veuillez également noter que EPEL est nécessaire sur CentOS et RHEL.

Si vous n'utilisez pas ce rôle sur Debian/Ubuntu, CentOS/Red Hat, Mac OS ou FreeBSD, openssl, boto, et pyOpenSSL doivent être installés manuellement avant d'utiliser ce rôle.

Exigences

Ansible 2.7+ est requis pour ce rôle. Si vous utilisez une version plus ancienne d'Ansible, utilisez la version 4.2.1 de ce rôle. Ce rôle doit également être exécuté par root ou via sudo/devenir.

Étiquettes du Rôle

  • install - utilisée pour étiqueter les tâches d'installation des dépendances requises.
  • openssl - utilisée pour étiqueter les tâches de génération des clés privées et de CSR.

Variables du Rôle

Faits Définis Par Le Rôle

  • ler53_cert_changed - cela est défini sur True lorsque le certificat est créé ou renouvelé.

Variables Requises

  • ler53_route_53_domain - le domaine Route 53 (AWS) pour lequel le certificat SSL est généré. C'est un paramètre obligatoire, si le paramètre ler53_route_53_zone_id n'est pas fourni.
  • ler53_route_53_zone_id - le zone_id Route 53 (AWS) pour lequel le certificat SSL est généré. C'est un paramètre obligatoire, si le paramètre ler53_route_53_domain n'est pas fourni. Utilisez ce paramètre si vous n'avez pas les droits AWS pour effectuer route53:ListHostedZones.

Variables Optionnelles

  • ler53_cert_common_name - le nom commun pour le certificat SSL généré. Cela par défaut à la valeur de ansible_fqdn.
  • ler53_cert_sans - une liste de noms alternatifs de sujet DNS (SAN's) du même domaine que spécifié dans ler53_route_53_domain à inclure dans le CSR. Veuillez noter qu'un SAN DNS pour la valeur de ler53_cert_common_name est automatiquement ajouté et ne doit pas être ajouté à cette liste. Cette variable n'est pas définie par défaut.
  • ler53_cert_key_usages - une liste d'utilisations de clé à inclure dans le CSR (Let's Encrypt peut en restreindre certaines). Cela par défaut à digitalSignature et keyEncipherment.
  • ler53_key_size - la taille de la clé privée associée au certificat généré. Cela par défaut à 2048.
  • ler53_cert_dir - le chemin vers le répertoire pour stocker la clé privée, le CSR et le certificat. Cela par défaut à /etc/ssl/{{ ler53_cert_common_name }}.
  • ler53_key_file_name - le nom de fichier de la clé privée associée au certificat généré. Cela par défaut à {{ ler53_cert_common_name }}.key.
  • ler53_cert_file_name - le nom de fichier du certificat généré. Cela par défaut à {{ ler53_cert_common_name }}.crt.
  • ler53_csr_file_name - le nom de fichier de la demande de signature de certificat (CSR) générée. Cela par défaut à {{ ler53_cert_common_name }}.csr.
  • ler53_intermediate_file_name - le nom de fichier de l'AC intermédiaire téléchargé depuis Let's Encrypt. Cela par défaut à {{ ler53_cert_common_name }}.intermediate.pem.
  • ler53_cert_and_intermediate_file_name - le nom du fichier créé avec le certificat et l'AC intermédiaire concaténés ensemble. Cela par défaut à {{ ler53_cert_common_name }}.pem.
  • ler53_cert_files_mode - le mode/permissions de fichier à forcer sur la clé privée, le CSR, et le certificat. Cela par défaut à 0600.
  • ler53_cert_files_owner - le propriétaire du fichier à forcer sur la clé privée, le CSR, et le certificat. Cela par défaut à root.
  • ler53_cert_files_group - le groupe de fichiers à forcer sur la clé privée, le CSR, et le certificat. Cela par défaut à root.
  • ler53_account_email - un e-mail à associer avec votre compte Let's Encrypt. Veuillez consulter le Module Let's Encrypt pour plus d'informations.
  • ler53_account_key_size - la taille de la clé de compte Let's Encrypt qui est générée si elle n'est pas présente. Cela par défaut à 2048.
  • ler53_account_key_dir - le chemin vers le répertoire pour stocker la clé de compte Let's Encrypt. Cela par défaut à /etc/ssl/lets_encrypt.
  • ler53_account_key_file_name - le nom de fichier de la clé de compte Let's Encrypt. Cela par défaut à lets_encrypt_account.key.
  • ler53_cert_remaining_days_before_renewal - le nombre minimum de jours restants avant le renouvellement du certificat actuel. Cela par défaut à 10.
  • ler53_new_cert_when_csr_changes - supprimer le certificat existant lorsque le CSR change. Cela est utile lorsque vous changez le nom commun ou les SANs de votre certificat et que vous souhaitez générer un nouveau certificat sans attendre qu'il expire. Cela par défaut à false.
  • ler53_cert_extended_key_usages - Restrictions supplémentaires (par ex. authentification client, authentification serveur) sur les usages autorisés de la clé publique.
  • ler53_service_handlers - Une liste de dictionnaires décrivant les gestionnaires de service à exécuter lorsqu'un certificat est mis à jour au format {'name': 'httpd', 'state': 'restarted'}.
  • ler53_acme_directory - Le répertoire ACME à utiliser. Cela par défaut à https://acme-v02.api.letsencrypt.org/directory. Cela peut être utile de le remplacer si vous souhaitez tester ce rôle contre l'instance Let's Encrypt de test.
  • ler53_aws_access_key - la clé d'accès d'un utilisateur AWS qui est autorisé à ajouter des enregistrements au domaine pour lequel le certificat SSL est généré. Si non spécifié, le SDK AWS déterminera la clé d'accès.
  • ler53_aws_secret_key - la clé secrète d'un utilisateur AWS qui est autorisé à ajouter des enregistrements au domaine pour lequel le certificat SSL est généré. Si non spécifié, le SDK AWS déterminera la clé secrète.

Exemple de Playbook

- name: Générer un certificat SSL pour host.example.com
  hosts: host
  become: yes

  vars:
  - ler53_cert_common_name: host.example.com
  - ler53_route_53_domain: example.com

  roles:
  - mprahl.lets-encrypt-route-53

Licence

MIT

À propos du projet

automates the generation of Let's Encrypt signed certificates with DNS challenges on Amazon's Route 53 (AWS)

Installer
ansible-galaxy install mprahl.lets-encrypt-route-53
Licence
Unknown
Téléchargements
38.1k
Propriétaire