mprahl.lets-encrypt-route-53
lets-encrypt-route-53
这是一个自动化生成 Let's Encrypt 签名证书的 Ansible 角色,使用 DNS 挑战在亚马逊的 Route 53 (AWS) 上进行。
请注意,这个角色会安装 openssl
、boto 和 pyOpenSSL。如果您使用 CentOS、RHEL 或 Mac OS,角色会安装 pip
,然后在 Python 虚拟环境中安装 boto
和 pyOpenSSL
,因为打包版本不可用或不够新。请注意,CentOS 和 RHEL 需要EPEL。
如果您不是在 Debian/Ubuntu、CentOS/Red Hat、Mac OS 或 FreeBSD 上使用此角色,则必须在使用此角色之前手动安装 openssl
、boto
和 pyOpenSSL
。
需求
该角色需要 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 可能会限制某些用途)。默认值为
digitalSignature
和keyEncipherment
。 - 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
拥有者