AWS Private CA で構築するプライベート PKI - 証明書の自動発行とローテーション
プライベート認証局を構築し、内部サービス間の mTLS 証明書を自動発行する。証明書のライフサイクル管理と CRL の設計を紹介します。
Private CA の概要
Private CA はプライベート証明書の発行 / 管理を自動化するマネージド認証局サービスです。ACM (AWS Certificate Manager) がパブリック証明書を無料で発行するのに対し、Private CA は組織内部で使用するプライベート証明書を発行します。マイクロサービス間の mTLS、VPN クライアント認証、IoT デバイス認証など、パブリック証明書では対応できないユースケースに使用します。Private CA は RSA 2048/4096 および ECDSA P256/P384 の鍵アルゴリズムに対応しており、X.509 v3 拡張を含む証明書を発行します。CA の作成から証明書発行までの操作は API で実行でき、API の呼び出しは CloudTrail に記録されます。
証明書の発行と mTLS
Private CA で発行した証明書をサービス間の mTLS に使用すると、通信の暗号化に加えてクライアントの認証も実現できます。短期証明書を使用すると、証明書の失効リスト (CRL) の管理の手間が減ります。証明書の有効期間が短いため、漏洩した証明書が悪用できる期間が短くなります。ACM との統合で ALB にプライベート証明書を自動デプロイし、内部 ALB を HTTPS 化します。EKS 環境では cert-manager と Private CA Issuer プラグインを組み合わせ、Pod 単位で証明書を自動発行 / ローテーションする構成にできます。
証明書テンプレートと自動化
Private CA は証明書テンプレートでサーバー証明書、クライアント証明書、コード署名証明書など用途別の証明書を発行します。 ACM との統合で、 Private CA が発行した証明書を ALB や API Gateway に自動デプロイし、更新も自動化されます。短期証明書 (有効期間 7 日以下) は、CRL (証明書失効リスト) の管理を簡素化します。 OCSP (Online Certificate Status Protocol) レスポンダーで証明書の有効性をリアルタイムに検証する構成も可能です。 CloudFormation や Terraform で CA の作成と証明書の発行を自動化し、 IaC で PKI インフラを管理します。
ユースケース別の設計パターン
マイクロサービス間 mTLS では、サービスごとに短期証明書を発行し、証明書の SAN (Subject Alternative Name) にサービス名を記載してサービスディスカバリと統合します。IoT デバイス認証では、デバイス製造時に Private CA から証明書を事前発行し、AWS IoT Core のジャストインタイム登録 (JITR) と連携してデバイスの初回接続時に自動プロビジョニングします。VPN クライアント認証では、AWS Client VPN のサーバー証明書とクライアント証明書の両方を Private CA で発行し、相互認証を構成します。コード署名では、CI/CD パイプラインに Private CA の証明書を組み込み、ビルド成果物 (Lambda 関数のデプロイパッケージ等) に署名して改ざんを検知する仕組みを構築します。
設計のベストプラクティスと落とし穴
CA 階層は 2 層 (ルート CA + 中間 CA) または 3 層 (ルート CA + ポリシー CA + 発行 CA) で構成します。ルート CA は証明書発行後すぐに無効化 (disable) し、中間 CA のみを運用することで、ルート鍵の不正使用リスクを低減します。CRL は S3 バケットに公開でき、バケットのアクセスポリシーを誤ると証明書の検証が失敗するため、バケットポリシーの設定を確かめます。OCSP レスポンダーを有効にすると、クライアントは CRL をダウンロードせずに証明書の状態を確かめられます。CA の有効期限が切れると、その CA の証明書を使うサービスが停止することがあります。CloudWatch アラームで CA の残り有効期間を監視し、有効期限の前にアラートを出します。
Private CA の料金
Private CA の料金は、CA ごとの月額料金と、発行した証明書の数に応じた料金で決まります。短期証明書モードでは、CA の月額料金が割引されます。CA の階層構造 (ルート CA → 中間 CA) で、ルート CA をオフラインにして中間 CA のみを運用する設計があります。
まとめ
Private CA は組織内部のプライベート証明書をマネージドに発行 / 管理するサービスです。短期証明書 (7 日以下) で CRL 管理を簡素化し、ACM 統合で証明書のデプロイと更新を自動化します。mTLS でサービス間の相互認証を行い、CA の階層構造 (ルート CA + 中間 CA) で PKI を構成します。
参考資料 (AWS 公式)
本ページの一次情報は AWS 公式サイトと公式ドキュメントです。最新の仕様と料金は次の公式ページで確認できます。
本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。