Ansible初心者 証明書のCSR作成


0. はじめに

Ansibleで証明書のCSRを作成する。
準備として、作業ディレクトリの作成とユーザ/グループの作成を実施。

- name: Create work directory
  file:
    state: directory
    path: "{{ tmp_dir }}"

1. 秘密鍵の作成

openssl_privatekeyモジュールを利用して秘密鍵を作成。

- name: Generate OpenSSL private key.
  openssl_privatekey:
    path: "{{ tmp_dir }}/{{ private_key_name }}.key"
    type: "{{ private_key_type }}"
    size: "{{ private_key_size }}"
    owner: "{{ private_key_owner }}"
    group: "{{ private_key_group }}"
    mode: '0600'

変数を設定するvarsファイルは以下の通り。

private_key_name: "test"
private_key_type: "RSA"
private_key_size: "2048"
private_key_owner: "apache"
private_key_group: "apache"

2. CSRの作成

openssl_csrモジュールを利用してCSRを作成。

- name: Generate an OpenSSL certificate signing request.
  openssl_csr:
    path: "{{ tmp_dir }}/{{ csr_common_name }}.csr"
    privatekey_path: "{{ tmp_dir }}/{{ private_key_name }}.key"
    country_name: "{{ csr_country_name }}"
    state_or_province_name: "{{ csr_state_or_province_name }}"
    locality_name: "{{ csr_locality_name }}"
    organization_name: "{{ csr_organization_name }}"
    organizational_unit_name: "{{ csr_organizational_unit_name }}"
    common_name: "{{ csr_common_name }}"
    owner: "{{ csr_owner }}"
    group: "{{ csr_group }}"
    mode: '0600'

変数を設定するvarsファイルは以下の通り。

csr_country_name: "JP"
csr_state_or_province_name: "Tokyo"
csr_locality_name: "Chuo-ku"
csr_organization_name: "XXX"
csr_organizational_unit_name: "xxx"
csr_common_name: "test"
csr_owner: "apache"
csr_group: "apache"

3. 実行結果確認

管理対象サーバを確認し、秘密鍵とCSRが作成されていることを確認

-rw-------. 1 apache apache 1675  9月 24 22:57 test.key
-rw-------. 1 apache apache 1033  9月 24 22:57 test.csr

4. おわりに

今回はcsrの作成を実施したが、次回は自己証明書を作成しHTTPS通信を行う。
ご参考:自己証明書の作成