ACME ベースの登録
以下の手順に従って、DigiCert® Trust Lifecycle Manager から Salt ノードに証明書を取得し、ACMEv2 プロトコルで要求を生成して、生成された証明書をダウンロードします。
開始する前に
Trust Lifecycle Manager では、登録方法として 3rd-party ACME client を指定した証明書プロファイルが必要です。このプロファイルは一般的な証明書プロパティを定義し、必要な ACME URL と外部アカウントバインディング(EAB)クレデンシャルを次のように提供します。
ACME ディレクトリの URL: Trust Lifecycle Manager から証明書を要求する ACME サーバーの URL。
鍵識別子(KID): Trust Lifecycle Manager アカウントで証明書プロファイルを識別します。
HMAC キー: 証明書要求中にアカウントの鍵を暗号化し、認証する際に使用されます。
統合ワークフロー
SaltStack 統合パッケージをダウンロードし、以下のサンプルファイルを取得します。
certificate_issuance_params.sls: DigiCert ACME クレデンシャルを設定するサンプルの Salt ピラーデータファイル。
copy_certificate_minion.sls: Salt マスターからミニオンへ証明書をコピーするサンプルのスクリプト。
request_certificate.sls: Salt ピラーからの ACME クレデンシャルを使用して、Salt マスターまたはミニオンで Trust Lifecycle Manager から証明書を要求してインストールするサンプルのスクリプト。
top.sls: DigiCert ACME クレデンシャルを含むデータファイルの場所を指定する Salt ピラーの「トップ」ファイルのサンプル。
注記
ダウンロード可能なサンプルファイルは、[コネクタの追加]>[インフラの自動化]>[SaltStack]を選択して、Trust Lifecycle Manager の[Integrations > Connectors]ページから入手することもできます。
サンプルファイルを使用して、ACME および証明書の詳細で Salt ピラーを設定します。
certificate_issuance_params.sls および top.sls ファイルを Salt ノード上の /srv/pillar ディレクトリにコピーします。
certificate_issuance_params.sls ファイルを更新し、以下のパラメータに値を指定します。
server_url: Trust Lifecycle Manager で対象となる証明書プロファイルの ACME ディレクトリの URL。eab_kid: 証明書プロファイルの ACME EAB 鍵識別子(KID)。eab_hmac_key: 証明書プロファイルの ACME EAB HMAC キー。domain: 発行する証明書のコモンネーム。
(オプション)識別しやすいように、certificate_issuance_params.sls ファイルの名前を変更します。このファイルの名前を変更する場合は、新しいファイル名を含めるように top.sls ファイルも必ず編集します。ファイル拡張子は変更しないでください。
Salt マスターまたはミニオンで Trust Lifecycle Manager から証明書を要求するには:
request_certificate.sls スクリプトを Salt ノード上の /srv/salt ディレクトリにコピーします。
(オプション)識別しやすいように、スクリプトの名前を変更します。ファイル拡張子は変更しないでください。
以下のようにスクリプトを実行します。2 つ目の引数としてローカル Salt ノード(マスターまたはミニオン)の ID を指定します。スクリプトの名前を変更した場合は、最後の引数としてその新しいスクリプト名を指定します。
Salt マスターから:
salt <salt-master-id> state.apply request_certificateSalt ミニオンから:
salt <salt-minion-id> state.apply request_certificate
Salt マスターで証明書を要求した場合は、次のように Salt ミニオンへコピーできます。
copy_certificate_minion.sls スクリプトを Salt マスターの /srv/salt ディレクトリにコピーします。
スクリプトを編集し、以下のように値を指定します。
name: 証明書をコピーするミニオン上のパス。source: マスター上の証明書の salt:// パス。
Salt マスターで、次のようにスクリプトを実行します。2 つ目の引数として、証明書のコピー先となる Salt ミニオンの ID を指定します。
salt <salt-minion-id> state.apply copy_certificate_minion
次の手順
証明書要求に成功すると、Salt ノードの /srv/salt ディレクトリに、コモンネームで識別される新しい証明書の一連のファイルが追加されます。
証明書は Trust Lifecycle Manager の[インベントリ]ビューにも表示されるので、それを監視して通知を設定することができます。