デプロイ
証明書を、TLS を終端する場所へ直接プッシュします — 検証とロールバック付き。
概要
証明書をエクスポートして手動でインストールする代わりに、DuoKey は TLS を終端するデバイスやサービスへ直接デプロイできます。すべてのデプロイは結果を検証し、必要に応じてロールバックできるジョブとして実行されます。
| デプロイ先 | コネクタの注記 |
|---|---|
| F5 BIG-IP | iControl REST — cert+key または cert のみをデプロイ、検出、テスト、ロールバック |
| Fortinet FortiGate | デプロイとロールバック |
| Azure App Service | アプリサービスへの証明書バインド |
| Entra ID | App Proxy と App Registration |
| Microsoft IIS · Active Directory / LDAPS · Windows CAPI | エージェント方式(PowerShell)— デプロイ先にバインドされたスキャナーエージェントが、ローカルまたは WinRM 経由でインポート/バインドを実行 |
| Nginx · Java Keystore | SSH — Cockpit が直接接続し、証明書/鍵を配置(または keystore にインポート)してリロード/再起動コマンドを実行 |
| Apache HTTPD | 現時点では設定のみ — デプロイ先の作成は可能ですが、実際のデプロイはまだ未接続です |
| ServiceNow CMDB | 在庫/有効期限の同期(TLS 終端先ではありません) |
デプロイジョブのライフサイクル
| 状態 | 意味 |
|---|---|
| pending | ジョブが作成され、まだ開始されていない |
| running | 証明書をデプロイ先にプッシュしている |
| validating | デプロイ先が新しい証明書を提供していることを確認している |
| succeeded / failed | 最終結果 |
| rolled_back | 完了後に元に戻された |
ロールバックは、ジョブ完了後に許可される唯一の遷移であり、これにより不具合のあるプッシュを以前の証明書に戻すことができます。F5 と Fortinet には専用のロールバックエンドポイントがあり、汎用デプロイ先はデプロイジョブ API を通じてロールバックされます。
コネクタの操作
すべてのコネクタは、検出 / インベントリ / 追加 / 削除 / 再エンロールという統一された一連の操作を共有しており、異種のデプロイ先にまたがる証明書管理を一貫したものにします。再利用可能な接続プロファイルは、デプロイ先の認証情報を一度だけ保存し、テストや再バインドが可能です。
F5 BIG-IP
F5 デプロイ先を登録する
F5 デプロイ先(管理アドレスと認証情報)を追加し、テストを実行して接続性を確認します。
デプロイする
証明書と鍵をデプロイするか、鍵がすでに存在する場合は証明書のみをデプロイします。ジョブは SSL プロファイルのバインディングを検証します。
必要に応じてロールバックする
検証に失敗した場合や変更が正しく動作しない場合は、ジョブを以前の証明書にロールバックします。
Microsoft IIS、Active Directory / LDAPS、Windows CAPI(エージェント)
これら 3 つのデプロイ先は同じ実行モデルを共有しています — Keyfactor 方式の Universal Orchestrator パターンです。オンプレミスのスキャナーエージェントが Cockpit に登録され、デプロイ先にバインドされます。Cockpit が直接接続する代わりに、エージェントが自身のハートビート周期でデプロイジョブを取得し、ローカルで(またはリモートホストに対して WinRM 経由で)実行します。
エージェントをエンロールして起動する
Windows ホスト(または WinRM でそこへ接続するマシン)上で、Cockpit UI の Scanner Agents → Generate installer で生成した使い捨てのインストールトークンを使い、一度だけエンロールします:
dke-scanner-agent enroll --server https://<cockpit-host> --token <enrollment-token>これにより、発行されたエージェントの ID と API キーが ~/.dke/agent.toml(モード 0600)に書き込まれます。次に、Cockpit に接続してハートビートを送信し、デプロイジョブをポーリングする永続エージェントプロセスを起動します:
dke-scanner-agent agentデプロイジョブを有効にするための特別なフラグは不要です — エンロールされたすべてのエージェントは自動的に cert_deploy 機能を報告するため、エンロールして起動した時点でウィザードのエージェント選択に表示されます。ジョブが取得されるためには、プロセスが(ログオフで終了する対話セッションではなく)Windows サービスとして稼働し続ける必要があります。--heartbeat-interval や --config を含む完全な CLI リファレンスはエージェントモードを参照してください。
デプロイ先をエージェントにバインドする
デプロイウィザードで、そのデプロイ先に対してエンロール済みのエージェントを選択します。エージェントが直接稼働していないリモートホストの場合は、代わりに WinRM トランスポートを選択し、リモートホストのユーザー名、パスワード、ポート、TLS 設定を指定します。
デプロイ先を登録する
Microsoft IIS:サイト名、バインドのホストヘッダーとポート、マシンストア(LocalMachine\My または WebHosting)、SNI。Active Directory / LDAPS:DC の専用ストア NTDS\My、ドメインコントローラーの FQDN、再起動なしのインプレース LDAPS リロード。Windows CAPI:SSL バインドの IP/ポート、および netsh http add sslcert に必要なアプリケーション GUID。
デプロイする
Cockpit は管理対象の証明書を解決し、PFX を構築して暗号化されたジョブをキューに登録します。エージェントはそれを取得して証明書を Windows 証明書ストアにインポートし、バインドします(IIS サイトバインディング、LDAPS リロード、または netsh http add sslcert バインディング)。その後、結果を報告し、デプロイジョブが更新されます。
マシン証明書ストアへのインポートおよび IIS や CAPI のバインドには、昇格した PowerShell コンテキストが必要です(エージェントは powershell.exe を実行し、Import-Module WebAdministration、Import-PfxCertificate -CertStoreLocation Cert:\LocalMachine\My、netsh http add sslcert を呼び出します)。dke-scanner-agent agent は LocalSystem または管理者権限のサービスアカウントで動作する Windows サービスとしてインストールしてください — 管理者権限のない対話型コンソールセッションでは、エージェント自体は正常に起動しハートビートを送信できても、これらの手順はアクセス拒否エラーで失敗します。
Nginx と Java Keystore(SSH)
Cockpit はこれら 2 つのデプロイ先に SSH 経由で直接接続します — エージェントは不要です。
デプロイ先を登録する
SSH ホスト、ポート、ユーザー名に加えて、パスワードまたは秘密鍵(PEM、任意でパスフレーズ保護)のいずれかを指定します — 任意で SHA-256 のホストキーフィンガープリントを固定できます。Nginx では、証明書と鍵のファイルパス、リロードコマンドも指定します。Java Keystore では、keystore のパス、エイリアス、keystore の種類(PKCS12 または従来の JKS)、keystore パスワード、任意の再起動コマンドを指定します。
接続をテストする
SSH の認証情報が機能することを確認し、すでにデプロイされているものを報告します — Nginx の場合は証明書ファイルの openssl x509 による読み取り、Java Keystore の場合は keystore ファイルの存在確認です。
デプロイする
Nginx:Cockpit は SSH 経由で証明書と秘密鍵を設定済みのパスに書き込み、その後リロードコマンドを実行します。Java Keystore:Cockpit は管理対象の証明書からローカルで PKCS#12 を構築し、SSH でホストへ転送して、設定済みのエイリアスで keytool -importkeystore によりインポートし、その後任意の再起動コマンドを実行します。
ホストキーフィンガープリントを空のままにすると、初回接続時にホストが提示する鍵がそのまま信頼されます。本番環境では、デプロイ先で SHA-256 フィンガープリントを固定してください。
API リファレンス
デプロイ先の管理、デプロイジョブの実行とロールバック、再利用可能な接続プロファイルの保存、ServiceNow CMDB への在庫同期は、すべてプラットフォーム API を通じてプログラムからも利用できます。