LIP-Computing.ssl-certs

ansible-role-ssl-certs

SSL証明書の生成および/またはデプロイを行います。

Ansible Galaxyで利用可能: LIP-Computing.ssl-certs

自己署名SSL証明書を生成する例

 - hosts: all
   roles:
     - LIP-Computing.ssl-certs

これにより、次のパスに証明書と秘密鍵が作成されます:

  • /etc/ssl/myserver.mydomain.com.key
  • /etc/ssl/myserver.mydomain.com.pem

SSL証明書をデプロイする例

下記に2つのプレイブックの例を示しています:

 - hosts: all
   roles:
    - role: LIP-Computing.ssl-certs
      ssl_certs_common_name: "example.com"
 - hosts: all
   roles:
    - role: LIP-Computing.ssl-certs
      ssl_certs_common_name: "myhost.mydomain"
      ssl_certs_country: "PT"
      ssl_certs_locality: "Lisbon"
      ssl_certs_organization: "LIP"
      ssl_certs_state: "Lisbon"
      ssl_certs_path_owner: "root"
      ssl_certs_path_group: "root"
      ssl_certs_generate_dh_param: true

証明書は files/ssl/example.com.keyfiles/ssl/example.com.pem に配置する必要があります。存在しない場合は、指定した共通名を使用して 自己署名 の証明書が /etc/ssl/example.com.key/etc/ssl/example.com.pem に生成されます。

ローカルの鍵/pemファイルを使用してSSL証明書をデプロイする例

 - hosts: all
   roles:
    - role: LIP-Computing.ssl-certs
      ssl_certs_local_privkey_path: '/path/to/example.com.key'
      ssl_certs_local_cert_path: '/path/to/example.com.pem'

変数に保存されたSSL証明書をデプロイする例

SSL証明書と鍵は単なるテキストであり、変数として保存できます。これは、Ansible Vaultを使用する際に便利です。

以下は、例としての変数データです。テキストのインデントに注意してください。これは、テンプレートモジュールを介して正しくテキストを挿入するために必要です。

ssl_certs_local_privkey_data: |
  -----BEGIN RSA PRIVATE KEY-----
  MIIEpQIBAAKCAQEAu2uhv2cjoN4F3arUZ5cDrwuxf3koCwrKSK75as0WZoxYrpyw
  Lyx9ldyD4nGabVep0R/uAgQ/HqEf2jC7WIvGcEq8bHB9PyEEWzT8IjKQX0YTc//4
  gkHBkpyU0fVrj5nkc30EIbcbH4RHRDwye4VhP/iCPchDG7OqvCyOdm8=
  -----END RSA PRIVATE KEY-----
ssl_certs_local_cert_data: |
  -----BEGIN CERTIFICATE-----
  MIIDmzCCAoOgAwIBAgIJAKWMlgLwrBzXMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNV
  QAL3naEfBSZBl0tBohuxn8Xd3yLPuKGUOk3pSL1IJy0Ca6p+QwjkaZUd9X3gf1V2
  SEfYSaGPvfIlSuHIshno
  -----END CERTIFICATE-----

その後、最初の例のように役割を含めるだけです。

私のNginx役割(jdauphant.nginx)でこの役割を使用する例

 - hosts: all
   roles:
     - LIP-Computing.ssl-certs
       ssl_certs_generate_dh_param: true
     - role: jdauphant.nginx
       nginx_configs:
          ssl:
               - ssl_certificate_key {{ssl_certs_privkey_path}}
               - ssl_certificate     {{ssl_certs_cert_path}}
               - ssl_dhparam         {{ssl_certs_dhparam_path}}
       nginx_sites:
          default:
               - listen 443 ssl
               - server_name _
               - root "/usr/share/nginx/html"
               - index index.html
プロジェクトについて

Generate and/or deploy SSL certificate

インストール
ansible-galaxy install LIP-Computing.ssl-certs
ライセンス
bsd-2-clause
ダウンロード
70
所有者
LIP Computing group