mprahl.lets-encrypt-route-53

lets-encrypt-route-53

これは、AmazonのRoute 53 (AWS) でDNSチャレンジを使ってLet's Encryptの署名付き証明書を自動生成するAnsibleロールです。

このロールを使用すると、opensslboto、および pyOpenSSL がインストールされることに注意してください。CentOS、RHEL、またはMac OSを使用している場合、このロールはpipをインストールし、その後Pythonの仮想環境内にbotopyOpenSSLをインストールします。パッケージ版が利用できないか、古い場合に対応しています。CentOSとRHELではEPELが必要です。

Debian/Ubuntu、CentOS/Red Hat、Mac OS、またはFreeBSD以外の環境でこのロールを使用する場合は、opensslboto、および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が一部制限する場合があります)。デフォルトは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がシークレットキーを自動的に決定します。

例のプレイブック

- 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
所有者