View a markdown version of this page

Zertifikatsverwaltung mit AWS Zertifikatsmanager - Amazon CloudFront

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Zertifikatsverwaltung mit AWS Zertifikatsmanager

AWS Certificate Manager (ACM) speichert die Client-Zertifikate, die CloudFront Ihren Ursprungsservern bei der gegenseitigen TLS-Originalauthentifizierung vorgelegt werden.

Unterstützung durch Zertifizierungsstellen

CloudFront Origin-mTLS erfordert Client-Zertifikate mit Extended Key Usage (EKU) für die TLS-Client-Authentifizierung. Aufgrund dieser Anforderung müssen Sie Zertifikate von Ihrer Zertifizierungsstelle ausstellen und sie in AWS Certificate Manager importieren. Die Funktionen zur automatischen Bereitstellung und Verlängerung von ACM-Zertifikaten sind für originale mTLS-Client-Zertifikate nicht verfügbar. CloudFront Origin-mTLS unterstützt Client-Zertifikate aus zwei Quellen:

  • AWS Private Zertifizierungsstelle: Sie können Zertifikate von AWS Private CA mithilfe von Zertifikatsvorlagen ausstellen, die die TLS-Client-Authentifizierung im Feld „Erweiterte Schlüsselverwendung“ enthalten (z. B. die EndEntityClientAuthCertificate Vorlage). Nachdem Sie das Zertifikat von AWS Private CA ausgestellt haben, müssen Sie es in ACM in der Region USA Ost (Nord-Virginia) (us-east-1) importieren. Dieser Ansatz bietet die Sicherheitsvorteile von AWS Private CA und gibt Ihnen gleichzeitig die Kontrolle über das Lebenszyklusmanagement von Zertifikaten.

  • Third-party private Zertifizierungsstellen: Sie können auch Zertifikate aus Ihrer bestehenden privaten Zertifizierungsstellen-Infrastruktur ausstellen und sie in ACM importieren. Auf diese Weise können Sie Ihre aktuellen Prozesse zur Zertifikatsverwaltung beibehalten und gleichzeitig die mTLS-Funktionen von CloudFront Origin nutzen. Zertifikate müssen die TLS-Client-Authentifizierung im Feld „Erweiterte Schlüsselverwendung“ enthalten und im PEM-Format mit dem Zertifikat, dem privaten Schlüssel und der Zertifikatskette vorliegen.

Wichtig

Sowohl bei AWS privaten Zertifizierungsstellen als auch bei Zertifizierungsstellen von Drittanbietern sind Sie dafür verantwortlich, die Ablaufdaten der Zertifikate zu überwachen und erneuerte Zertifikate vor Ablauf in ACM zu importieren. Die automatische ACM-Verlängerungsfunktion gilt nicht für importierte Zertifikate, die für Original-MTLs verwendet werden.

Anforderungen und Spezifikationen des Zertifikats

Anforderungen an das Kundenzertifikat

  • Format: PEM-Format (Privacy Enhanced Mail)

  • Komponenten: Zertifikat, privater Schlüssel und Zertifikatskette

  • Maximale Tiefe der Zertifikatskette: 3 (Blattzertifikat + Zwischenzertifikat + Stammzertifikat)

  • Maximale Größe der Zertifikatskette: 64 KB

  • Größe des Zertifikats: 96 KB darf nicht überschritten werden

  • Maximale Größe des privaten Schlüssels: 5 KB (ACM-Beschränkung)

  • Maximale Anzahl eindeutiger Ursprungs-MTLS-Zertifikat-ARNs, die pro API-Aufruf zum Erstellen oder Aktualisieren einer CloudFront Distribution hinzugefügt oder geändert werden können: 5

  • Region: Zertifikate müssen in ACM in der Region USA Ost (Nord-Virginia) (us-east-1) gespeichert werden

Unterstützte Zertifikatsspezifikationen

  • Typ des Zertifikats: X.509v3

  • Algorithmen für öffentliche Schlüssel:

    • RSA: 2048-Bit

    • ECDSA: P-256

  • Signatur-Algorithmen:

    • SHA256, SHA384, SHA512 mit RSA

    • SHA256, SHA384, SHA512 mit ECDSA

    • SHA256, SHA384, SHA512 mit MGF1 RSASSA-PSS

  • Erweiterte Schlüsselnutzung (erforderlich): Das Zertifikat erfordert die Erweiterung Extended Key Usage (EKU), die auf TLS Client Authentication gesetzt ist, um sicherzustellen, dass es für mTLS-Zwecke autorisiert ist

Anforderungen an das Serverzertifikat

Ihre Ursprungsserver müssen während des gegenseitigen TLS-Handshakes Zertifikate von öffentlich vertrauenswürdigen Zertifizierungsstellen vorlegen. Vollständige Informationen zu den Anforderungen an das Ursprungsserverzertifikat finden Sie unter Anforderungen für die Verwendung von SSL/TLS Zertifikaten mit CloudFront.

Fordern Sie ein Zertifikat an oder importieren Sie es

Bevor Sie Origin-mTLs aktivieren, muss in ACM ein Client-Zertifikat verfügbar sein.

Fordern Sie ein Zertifikat an und importieren Sie es von AWS Private CA

Voraussetzungen:

Um ein Zertifikat von PCA anzufordern und in ACM zu importieren (AWS CLI)
  1. Legen Sie Ihren privaten CA-ARN zur einfacheren Wiederverwendung in einer Variablen fest.

    PCA_ARN="arn:aws:acm-pca:region:account:certificate-authority/12345678..."
  2. Verwenden Sie OpenSSL, um einen P-256 privaten ECDSA-Schlüssel (Prime256v1-Kurve) und eine Certificate Signing Request (CSR) zu generieren. Stellen Sie dabei sicher, dass das Flag -nodes verwendet wird, damit der private Schlüssel unverschlüsselt bleibt, wie es für den ACM-Import erforderlich ist.

    openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes \ -keyout private.key \ -out request.csr \ -subj "/CN=client.example.com"
  3. Senden Sie den CSR an Ihre AWS private Zertifizierungsstelle, um ein Zertifikat auszustellen, das die ARN des neu ausgestellten Zertifikats zurückgibt.

    CERT_ARN=$(aws acm-pca issue-certificate \ --certificate-authority-arn "$PCA_ARN" \ --csr fileb://request.csr \ --signing-algorithm "SHA256WITHECDSA" \ --validity Value=365,Type="DAYS" \ --template-arn arn:aws:acm-pca:::template/EndEntityCertificate/V1 \ --query 'CertificateArn' --output text)
  4. Rufen Sie das Zertifikatspaket von AWS PCA mit dem Befehl get-certificate ab, der sowohl das Leaf-Zertifikat als auch die Kette zurückgibt, und verwenden Sie dann jq, um sie in verschiedene Dateien aufzuteilen.

    # Retrieve the full certificate bundle in JSON format aws acm-pca get-certificate \ --certificate-authority-arn "$PCA_ARN" \ --certificate-arn "$CERT_ARN" \ --output json > full_cert.json # Split into Leaf and Chain jq -r '.Certificate' full_cert.json > leaf_cert.pem jq -r '.CertificateChain' full_cert.json > cert_chain.pem
  5. Importieren Sie den unverschlüsselten privaten Schlüssel, das Leaf-Zertifikat und die Zertifikatskette in AWS ACM. Verwenden Sie dabei das fileb: //-Protokoll, um Binärdateidaten in der CLI korrekt zu verarbeiten.

    aws acm import-certificate \ --certificate fileb://leaf_cert.pem \ --private-key fileb://private.key \ --certificate-chain fileb://cert_chain.pem \ --region us-east-1 \ --query 'CertificateArn' \ --output text

Importieren Sie ein Zertifikat von einer Drittanbieter-Zertifizierungsstelle

Voraussetzungen:

  • Ein Zertifikat, ein unverschlüsselter privater Schlüssel und eine Zertifikatskette von Ihrer Zertifizierungsstelle im PEM-Format

  • Das Zertifikat muss die erweiterte Schlüsselnutzung für die TLS-Client-Authentifizierung enthalten

  • Berechtigungen zum Importieren von Zertifikaten in ACM

Um ein Zertifikat in ACM zu importieren (AWS CLI)
aws acm import-certificate \ --certificate fileb://certificate.pem \ --private-key fileb://private-key.pem \ --certificate-chain fileb://certificate-chain.pem \ --region us-east-1 \ --query 'CertificateArn' \ --output text

Nächste Schritte

Nachdem Sie Ihr Client-Zertifikat in ACM erhalten oder importiert haben, können Sie Ihren Ursprungsserver so konfigurieren, dass eine gegenseitige TLS-Authentifizierung erforderlich ist, und Origin-mTLS in Ihrer CloudFront Distribution aktivieren. Anweisungen zur Aktivierung von Origin-mTLs finden Sie im CloudFront nächsten Abschnitt „Mutual Origin TLS für CloudFront Distributionen aktivieren“.