mprahl.lets-encrypt-route-53

lets-encrypt-route-53

这是一个自动化生成 Let's Encrypt 签名证书的 Ansible 角色,使用 DNS 挑战在亚马逊的 Route 53 (AWS) 上进行。

请注意,这个角色会安装 opensslbotopyOpenSSL。如果您使用 CentOS、RHEL 或 Mac OS,角色会安装 pip,然后在 Python 虚拟环境中安装 botopyOpenSSL,因为打包版本不可用或不够新。请注意,CentOS 和 RHEL 需要EPEL

如果您不是在 Debian/Ubuntu、CentOS/Red Hat、Mac OS 或 FreeBSD 上使用此角色,则必须在使用此角色之前手动安装 opensslbotopyOpenSSL

需求

该角色需要 Ansible 2.7 及以上版本。如果您使用较旧版本的 Ansible,请使用此角色的 4.2.1 版本。此角色还必须由 root 用户或通过 sudo/become 运行。

角色标签

  • install - 用于标记安装所需依赖项的任务。
  • openssl - 用于标记生成私钥和 CSR 的任务。

角色变量

角色设置的事实

  • ler53_cert_changed - 当证书被创建或更新时,这个值会被设置为 True

必需变量

  • ler53_route_53_domain - 生成 SSL 证书的 Route 53 (AWS) 域名。如果没有提供参数 ler53_route_53_zone_id,这是一个必需参数。
  • ler53_route_53_zone_id - 生成 SSL 证书的 Route 53 (AWS) zone_id。如果没有提供参数 ler53_route_53_domain,这是一个必需参数。如果您没有权限执行 route53:ListHostedZones,请使用这个参数。

可选变量

  • ler53_cert_common_name - 生成的 SSL 证书的通用名称。默认值为 ansible_fqdn
  • ler53_cert_sans - 与 ler53_route_53_domain 中指定的同一域名的 DNS 主题备用名称 (SAN) 列表。请注意,ler53_cert_common_name 的 DNS SAN 会自动添加,不应该被添加到此列表。此变量默认未定义。
  • ler53_cert_key_usages - 包含在 CSR 中的密钥用途列表(Let's Encrypt 可能会限制某些用途)。默认值为 digitalSignaturekeyEncipherment
  • ler53_key_size - 与生成的证书配对的私钥大小。默认值为 2048
  • ler53_cert_dir - 存储私钥、CSR 和证书的目录路径。默认值为 /etc/ssl/{{ ler53_cert_common_name }}
  • ler53_key_file_name - 与生成的证书配对的私钥文件名。默认值为 {{ ler53_cert_common_name }}.key
  • ler53_cert_file_name - 生成的证书文件名。默认值为 {{ ler53_cert_common_name }}.crt
  • ler53_csr_file_name - 生成的证书签名请求 (CSR) 的文件名。默认值为 {{ ler53_cert_common_name }}.csr
  • ler53_intermediate_file_name - 从 Let's Encrypt 下载的中间 CA 的文件名。默认值为 {{ ler53_cert_common_name }}.intermediate.pem
  • ler53_cert_and_intermediate_file_name - 创建的文件名,包含证书和中间 CA。默认值为 {{ ler53_cert_common_name }}.pem
  • ler53_cert_files_mode - 私钥、CSR 和证书的文件权限。默认值为 0600
  • ler53_cert_files_owner - 私钥、CSR 和证书的文件拥有者。默认值为 root
  • ler53_cert_files_group - 私钥、CSR 和证书的文件组。默认值为 root
  • ler53_account_email - 与您的 Let's Encrypt 账户关联的电子邮件。有关更多信息,请查看 Let's Encrypt Module
  • ler53_account_key_size - 如果生成的 Let's Encrypt 账户密钥不存在,则使用的密钥大小。默认值为 2048
  • ler53_account_key_dir - 存储 Let's Encrypt 账户密钥的目录路径。默认值为 /etc/ssl/lets_encrypt
  • ler53_account_key_file_name - Let's Encrypt 账户密钥的文件名。默认值为 lets_encrypt_account.key
  • ler53_cert_remaining_days_before_renewal - 当前证书有效且需要续订的最小天数。默认值为 10
  • ler53_new_cert_when_csr_changes - 当 CSR 更改时删除现有证书。这在您更改证书的通用名称或 SAN 时非常有用,您可以生成新证书而无需等待其过期。默认值为 false
  • ler53_cert_extended_key_usages - 对公钥可以使用的目的的额外限制(例如:客户端身份验证、服务器身份验证)。
  • ler53_service_handlers - 描述服务处理程序的字典列表,当证书更新时以 {'name': 'httpd', 'state': 'restarted'} 的格式运行。
  • ler53_acme_directory - 要使用的 ACME 目录。默认值为 https://acme-v02.api.letsencrypt.org/directory。如果您想对测试 Let's Encrypt 实例进行测试,这可能会很有用。
  • ler53_aws_access_key - 允许向生成 SSL 证书的域添加记录的 AWS 用户的访问密钥。如果未指定,AWS SDK 将 自动确定 访问密钥。
  • ler53_aws_secret_key - 允许向生成 SSL 证书的域添加记录的 AWS 用户的秘密密钥。如果未指定,AWS SDK 将 自动确定 秘密密钥。

示例 Playbook

- name:  host.example.com 生成 SSL 证书
  hosts: host
  become: yes

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

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

许可

MIT

关于项目

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

安装
ansible-galaxy install mprahl.lets-encrypt-route-53
许可证
Unknown
下载
38.1k
拥有者