View a markdown version of this page

ACME 証明書の自動化 - AWS Certificate Manager

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ACME 証明書の自動化

AWS Certificate Manager (ACM) は、証明書の発行とライフサイクル管理を自動化するための業界標準の方法である、自動証明書管理環境 (ACME) プロトコルをサポートしています。ACME 証明書の自動化を使用すると、オンプレミスサーバー、Kubernetes クラスター、ハイブリッド環境などのカスタマーマネージドインフラストラクチャで実行されているワークロードに対して、パブリックに信頼された証明書を発行できます。

ACME とは

ACME は RFC 8555 で定義されているインターネットプロトコルで、machine-to-machine通信を通じて証明書の発行を自動化します。手動証明書リクエストの代わりに、ACME クライアントは ACME サーバーと直接通信して、証明書を自動的にリクエストして取得します。

Certbot や cert-manager などの ACME クライアントは広く利用でき、多くのアプリケーションプラットフォームと統合されています。これらのクライアントは、最初の発行や有効期限前の更新など、証明書のライフサイクル全体を処理します。

ACME と ACM の連携方法

ACM は、ACME エンドポイントを介してアクセスするマネージド ACME サーバーを提供します。アーキテクチャは 2 つのプレーンに分かれています。

  • コントロールプレーン: PKI 管理者は ACM APIs を使用して、ACME エンドポイントの作成、ドメイン検証の設定、外部アカウントバインディング (EAB) 認証情報の生成を行います。

  • データプレーン: ACME クライアントは ACME プロトコルエンドポイントとやり取りしてアカウントを登録し、管理者が既に検証したドメインの証明書をリクエストします。

クライアントが証明書をリクエストするたびにドメインの所有権を証明する一般的なパブリック ACME サービスとは異なり、ACM ACME サーバーは管理者が事前に承認したドメインを使用します。これにより、エンドポイントが発行できるドメインを制御する管理者が、証明書をリクエストするアプリケーション所有者から分離されます。詳細については、「ACME ドメインの検証」を参照してください。

ACME を通じて発行された証明書は、標準の ACM ARNs、ACM 証明書インベントリに表示されます。

ACME 証明書の特性

ACME を通じて発行された証明書は、パブリックに信頼された ACM 証明書です。他の ACM パブリック証明書と同じ信頼チェーン、キーアルゴリズム、証明書の透明性ログ記録を共有します。すべての ACM パブリック証明書に適用される特性については、「」を参照してくださいAWS Certificate Manager パブリック証明書の特性と制限

以下のセクションでは、ACME 証明書と他の ACM パブリック証明書の違いについて説明します。

失効

取り消されたエンドエンティティ証明書は、OCSP と CRL を使用して失効情報を検証し、発行します。一部のお客様のファイアウォールでは、これらのメカニズムを許可するために追加のルールが必要になる場合があります。

失効トラフィックを特定するには、次の URL ワイルドカードパターンを使用します。

  • OCSP

    http://*.amazontrust.com

  • CRL

    http://*.amazontrust.com/*

より制限の厳しいルールが必要な場合は、Amazon Trust Services のウェブサイトを参照してください。

証明書の有効期間

ACME が発行した証明書の有効期間は 45 日で、他の ACM パブリック証明書の有効期間よりも短くなります。この短い有効性は、ACME クライアントが証明書を自動的に更新することで相殺されます。有効期間の短い証明書を使用すると、今後の業界の変化にも対応できます。これは、パブリック証明書の最大有効期間は時間の経過とともに短縮することが義務付けられており、2029 年初頭までに 47 日以内になるためです。

ACME が発行した証明書の使用

ACM リソースとして ACME が発行した証明書には、次の運用上の動作と制約が適用されます。

  • プライベートキー: プライベートキーは ACME クライアントによって生成され、保持されます。ACM はプライベートキーを表示しません。

  • AWS 統合サービス: ACME が発行した証明書は、Elastic Load Balancing、CloudFront、API Gateway 統合サービスによるマネージドオートメーションなどの にバインドできません。ACME クライアントがプライベートキーを保持するマネージドインフラストラクチャで証明書を使用します。

  • 更新: ACME クライアントは、既存の証明書の有効期限が切れる前に新しい証明書をリクエストします。ACM マネージド更新は適用されません。

  • 失効: 失効は、ACME エンドポイントの revoke-cert URL を通じて ACME クライアントによって開始されます。

  • 削除: を呼び出すことで、期限切れの ACME 発行証明書を削除できますDeleteCertificate。ACM は、有効期限が切れてから 1 年後に ACME が発行した証明書を自動的に削除します。

  • キーペアのオリジン: CertificateKeyPairOriginDescribeCertificateListCertificates、および SearchCertificatesレスポンスACMEにあります。

  • サポートされていない ACM APIs: ExportCertificateRevokeCertificate、、および ResendValidationEmailRenewCertificate、ACME 発行の証明書ではサポートされていません。ライフサイクルは ACME クライアントによって管理されます。

ACME と RequestCertificate を使用するタイミング

次のガイダンスを使用して、ユースケースに適した証明書の発行方法を決定します。

次の場合は RequestCertificate を使用します。

  • AWS 統合サービス (Elastic Load Balancing、CloudFront、API Gateway) の証明書が必要です。

  • ACM でプライベートキーを管理する必要があります。

  • ACM マネージド更新が必要です。

次の場合は ACME を使用します。

  • 業界標準の ACME クライアント (Certbot、cert-manager) を使用する。

  • カスタマーマネージドインフラストラクチャ (オンプレミス、Kubernetes、ハイブリッド) の証明書が必要です。

  • AWS SDK 依存関係のない自動証明書ライフサイクルが必要です。

  • プライベートキーは独自のシステムに保持する必要があります。たとえば、サーバーで TLS を直接終了したり、サードパーティーがプライベートキーを保持しないというコンプライアンスや規制の要件を満たす必要がある場合があります。

ACME ペルソナモデル

ACME 証明書の自動化には、次の 2 つのロールが含まれます。

PKI 管理者

ACME エンドポイントの作成と管理、ドメイン検証の設定、外部アカウントバインディングの作成、証明書を発行できるドメインの制御、IAM ロールの設定、CloudWatch メトリクスと ACM コンソールを使用した証明書の発行のモニタリングを行います。

アプリ所有者

管理者から EAB 認証情報を受け取り、ACME クライアントを使用して証明書をリクエストし、システムで証明書の更新を管理します。

エンドツーエンドのワークフロー

次の手順では、ACME 証明書の自動化のセットアップと使用フロー全体について説明します。

  1. PKI 管理者は ACME エンドポイントを作成し、エンドポイント URL を受け取ります。

  2. 管理者は、ドメインの検証を作成してドメインを事前承認し、必要な CNAME レコードをプロビジョニングします。

  3. 管理者は、ACME クライアントの認証情報を生成する外部アカウントバインディングを作成します。

  4. 管理者は EAB 認証情報をアプリケーション所有者に配布します。

  5. アプリケーション所有者は、AB 認証情報を使用して ACME クライアントを設定し、アカウントを登録して、証明書をリクエストします。

  6. 発行された証明書は、標準 ARNsに表示されます。

  7. PKI 管理者は、CloudWatch メトリクスと ACM コンソールの証明書ダッシュボードを通じて発行の成功と失敗をモニタリングします。詳細については、「サポートされている CloudWatch メトリクス」を参照してください。