mprahl.lets-encrypt-route-53
lets-encrypt-route-53
これは、AmazonのRoute 53 (AWS) でDNSチャレンジを使ってLet's Encryptの署名付き証明書を自動生成するAnsibleロールです。
このロールを使用すると、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 - CSRに含めるDNSサブジェクト代替名(SAN)のリスト。同じドメインの
ler53_route_53_domain
で指定されたものを含めます。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がシークレットキーを自動的に決定します。
例のプレイブック
- 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
所有者