mprahl.lets-encrypt-route-53

lets-encrypt-route-53

Dies ist eine Ansible-Rolle, die die Erstellung von von Let's Encrypt signierten Zertifikaten mit DNS-Herausforderungen auf Amazons Route 53 (AWS) automatisiert.

Bitte beachten Sie, dass im Rahmen dieser Rolle openssl, boto und pyOpenSSL installiert werden. Wenn Sie CentOS, RHEL oder Mac OS verwenden, wird die Rolle pip installieren und danach boto und pyOpenSSL in einer Python-Virtualenv installieren, da die paketierten Versionen entweder nicht verfügbar oder nicht aktuell genug sind. Bitte beachten Sie, dass EPEL auf CentOS und RHEL erforderlich ist.

Wenn Sie diese Rolle nicht auf Debian/Ubuntu, CentOS/Red Hat, Mac OS oder FreeBSD verwenden, müssen openssl, boto und pyOpenSSL manuell installiert werden, bevor Sie diese Rolle verwenden.

Anforderungen

Ansible 2.7+ wird für diese Rolle benötigt. Wenn Sie eine ältere Version von Ansible verwenden, benutzen Sie Version 4.2.1 dieser Rolle. Diese Rolle muss außerdem von root oder über sudo/become ausgeführt werden.

Rollentags

  • install - wird verwendet, um die Aufgaben zu kennzeichnen, die die erforderlichen Abhängigkeiten installieren.
  • openssl - wird verwendet, um die Aufgaben zu kennzeichnen, die die privaten Schlüssel und CSR generieren.

Rollenspezifische Variablen

Fakten, die von der Rolle gesetzt werden

  • ler53_cert_changed - wird auf True gesetzt, wenn das Zertifikat erstellt oder erneuert wurde.

Erforderliche Variablen

  • ler53_route_53_domain - die Route 53 (AWS) Domain, für die das SSL-Zertifikat erstellt wird. Dies ist ein erforderlicher Parameter, falls der Parameter ler53_route_53_zone_id nicht bereitgestellt wird.
  • ler53_route_53_zone_id - die Route 53 (AWS) zone_id, für die das SSL-Zertifikat erstellt wird. Dies ist ein erforderlicher Parameter, falls der Parameter ler53_route_53_domain nicht bereitgestellt wird. Verwenden Sie diesen Parameter, wenn Sie nicht über die AWS-Rechte verfügen, um route53:ListHostedZones durchzuführen.

Optionale Variablen

  • ler53_cert_common_name - der gemeinsame Name für das zu erstellende SSL-Zertifikat. Standardmäßig wird der Wert von ansible_fqdn verwendet.
  • ler53_cert_sans - eine Liste von DNS-Subject Alternative Names (SANs) der gleichen Domain, wie in ler53_route_53_domain angegeben, die im CSR enthalten sein sollen. Bitte beachten Sie, dass ein DNS-SAN für den Wert von ler53_cert_common_name automatisch hinzugefügt wird und nicht in diese Liste aufgenommen werden sollte. Diese Variable ist standardmäßig nicht definiert.
  • ler53_cert_key_usages - eine Liste von Schlüsselverwendungen, die im CSR enthalten sein sollen (Let's Encrypt kann einige einschränken). Standardmäßig ist dies digitalSignature und keyEncipherment.
  • ler53_key_size - die Größe des privaten Schlüssels, der mit dem zu erstellenden Zertifikat gekoppelt ist. Standardmäßig ist dies 2048.
  • ler53_cert_dir - der Pfad zum Verzeichnis, um den privaten Schlüssel, CSR und das Zertifikat zu speichern. Standardmäßig ist dies /etc/ssl/{{ ler53_cert_common_name }}.
  • ler53_key_file_name - der Dateiname des privaten Schlüssels, der mit dem zu erstellenden Zertifikat gekoppelt ist. Standardmäßig ist dies {{ ler53_cert_common_name }}.key.
  • ler53_cert_file_name - der Dateiname des zu erstellenden Zertifikats. Standardmäßig ist dies {{ ler53_cert_common_name }}.crt.
  • ler53_csr_file_name - der Dateiname des zu erstellenden Certificate Signing Request (CSR). Standardmäßig ist dies {{ ler53_cert_common_name }}.csr.
  • ler53_intermediate_file_name - der Dateiname der von Let's Encrypt heruntergeladenen intermediären CA. Standardmäßig ist dies {{ ler53_cert_common_name }}.intermediate.pem.
  • ler53_cert_and_intermediate_file_name - der Name der Datei, die mit dem Zertifikat und der übergeordneten CA zusammengeführt wurde. Standardmäßig ist dies {{ ler53_cert_common_name }}.pem.
  • ler53_cert_files_mode - die Dateiberechtigungen, die für den privaten Schlüssel, CSR und das Zertifikat durchgesetzt werden. Standardmäßig ist dies 0600.
  • ler53_cert_files_owner - der Dateibesitzer, der für den privaten Schlüssel, CSR und das Zertifikat durchgesetzt wird. Standardmäßig ist dies root.
  • ler53_cert_files_group - die Datei-Gruppe, die für den privaten Schlüssel, CSR und das Zertifikat durchgesetzt wird. Standardmäßig ist dies root.
  • ler53_account_email - eine E-Mail-Adresse, die mit Ihrem Let's Encrypt-Konto verknüpft wird. Weitere Informationen finden Sie im Let's Encrypt-Modul.
  • ler53_account_key_size - die Größe des Let's Encrypt-Kontóschlüssels, der erstellt wird, wenn er nicht vorhanden ist. Standardmäßig ist dies 2048.
  • ler53_account_key_dir - der Pfad zum Verzeichnis, um den Let's Encrypt-Kontóschlüssel zu speichern. Standardmäßig ist dies /etc/ssl/lets_encrypt.
  • ler53_account_key_file_name - der Dateiname des Let's Encrypt-Kontóschlüssels. Standardmäßig ist dies lets_encrypt_account.key.
  • ler53_cert_remaining_days_before_renewal - die Mindestanzahl von Tagen, die das aktuelle Zertifikat gültig ist, bevor es erneuert wird. Standardmäßig sind dies 10.
  • ler53_new_cert_when_csr_changes - löscht das vorhandene Zertifikat, wenn sich der CSR ändert. Dies ist nützlich, wenn Sie den gemeinsamen Namen oder die SANs Ihres Zertifikats ändern und ein neues Zertifikat generieren möchten, ohne auf das Ablaufen zu warten. Standardmäßig ist dies false.
  • ler53_cert_extended_key_usages - Zusätzliche Einschränkungen (z. B. Client-Authentifizierung, Server-Authentifizierung) zu den zulässigen Zwecken, für die der öffentliche Schlüssel verwendet werden kann.
  • ler53_service_handlers - Eine Liste von Dictionaries, die Service-Handler beschreiben, die bei der Aktualisierung eines Zertifikats ausgeführt werden sollen, im Format {'name': 'httpd', 'state': 'restarted'}.
  • ler53_acme_directory - Das zu verwendende ACME-Verzeichnis. Dies ist standardmäßig https://acme-v02.api.letsencrypt.org/directory. Dies kann nützlich sein, um die Rolle gegen die Testinstanz von Let's Encrypt zu testen.
  • ler53_aws_access_key - der Zugangsschlüssel zu einem AWS-Benutzer, der berechtigt ist, Datensätze zur Domain, für die das SSL-Zertifikat erstellt wird, hinzuzufügen. Wenn nicht angegeben, ermittelt das AWS SDK den Zugangsschlüssel.
  • ler53_aws_secret_key - der geheime Schlüssel zu einem AWS-Benutzer, der berechtigt ist, Datensätze zur Domain, für die das SSL-Zertifikat erstellt wird, hinzuzufügen. Wenn nicht angegeben, ermittelt das AWS SDK den geheimen Schlüssel.

Beispiel-Playbook

- name: Generieren Sie ein SSL-Zertifikat für 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

Lizenz

MIT

Über das Projekt

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

Installieren
ansible-galaxy install mprahl.lets-encrypt-route-53
Lizenz
Unknown
Downloads
38.1k
Besitzer