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.
Zusätzliche Validierungsmodi
Der Modus „Erforderlich“ ist die Standardeinstellung für CloudFront Mutual TLS. Er CloudFront validiert jedes Client-Zertifikat und verweigert fehlgeschlagene Verbindungen. Zur Unterstützung zusätzlicher Anwendungsfälle — wie Anwendungen, die eine Mischung aus m TLS-authenticated und nicht authentifizierten Clients bedienen, oder Umgebungen, in denen der Ursprungsserver seine eigene mTLS-Validierung durchführt — CloudFront werden jedoch zwei zusätzliche Modi unterstützt.
Der optionale Modus ist für Anwendungen mit gemischten Kundenpopulationen konzipiert. Zum Beispiel ein Portal, das öffentliche Inhalte für nicht authentifizierte Browser bereitstellt und gleichzeitig API-Endpunkte auf Clients beschränkt, die gültige Zertifikate vorlegen. Oder ein Migrationsszenario, in dem Sie Kunden schrittweise in mTLS einbinden und während der Umstellung sowohl authentifizierte als auch nicht authentifizierte Verbindungen zulassen müssen.
Der Passthrough-Modus ist für Kunden konzipiert, deren Ursprungsserver bereits eine mTLS-Validierung durchführen. Zum Beispiel Dienste, die von lokalen Reverse-Proxys, anderen CDNs oder Application Load Balancern migrieren, die bereits die Zertifikatsverifizierung durchführen. Im Passthrough-Modus können diese Kunden ihre Anwendungen direkt vor ihren Anwendungen platzieren, ohne die CloudFront Validierungslogik am Netzwerkrand erneut implementieren zu müssen.
Optionaler Modus
Validierung des Client-Zertifikats Optionaler Modus
CloudFront bietet einen alternativen optionalen Validierungsmodus für Client-Zertifikate, der vorgelegte Client-Zertifikate validiert, aber Clients, die keine Zertifikate vorlegen, Zugriff gewährt.
Verhalten im optionalen Modus
-
Gewährt Clients mit gültigen Zertifikaten eine Verbindung (ungültige Zertifikate werden verweigert).
-
Ermöglicht die Verbindung zu Clients ohne Zertifikate.
-
Ermöglicht gemischte Client-Authentifizierungsszenarien über eine einzige Verteilung.
Der optionale Modus eignet sich ideal für die schrittweise Migration zur mTLS-Authentifizierung, unterstützt Clients mit Zertifikaten und Clients ohne Zertifikate oder gewährleistet die Abwärtskompatibilität mit älteren Clients.
Anmerkung
Im optionalen Modus werden Verbindungsfunktionen auch dann aufgerufen, wenn Clients keine Zertifikate vorlegen. Auf diese Weise können Sie benutzerdefinierte Logik implementieren, z. B. die Protokollierung von Client-IP-Adressen oder die Anwendung verschiedener Richtlinien, je nachdem, ob Zertifikate vorgelegt werden.
So konfigurieren Sie den optionalen Modus (Konsole)
-
Navigieren Sie in Ihren Distributionseinstellungen zur Registerkarte Allgemein und wählen Sie Bearbeiten aus.
-
Scrollen Sie im Connectivity-Container zum Abschnitt Viewer Mutual Authentication (mTLS).
-
Wählen Sie für den Validierungsmodus für Client-Zertifikate die Option Optional aus.
-
Speichern Sie die Änderungen.
Um den optionalen Modus zu konfigurieren (AWS CLI)
Das folgende Beispiel zeigt, wie der optionale Modus konfiguriert wird:
"ViewerMtlsConfig": { "Mode": "optional", ...other settings }
Passen Sie die Zertifikatskopfzeilen an
Verwenden Sie die mTLS-Hilfsfunktionen in CloudFront Viewer-Request-Funktionen, um die Zertifikatsheader umzubenennen, neu zu formatieren oder zu kombinieren, bevor sie Ihren Ursprung erreichen. Dies ist nützlich, wenn Sie von anderen Diensten migrieren, die andere Header-Namen oder Zertifikatkodierungsformate verwenden.
Passthrough-Modus
Der Passthrough-Modus ermöglicht Kunden mit bestehenden mTLS-Implementierungen an ihrem ursprünglichen Standort die Nutzung. CloudFront CloudFront beendet die TLS-Verbindung und leitet das Client-Zertifikat als HTTP-Header an Ihren Ursprung weiter. Ihr Absender führt die gesamte Zertifikatsvalidierung durch — einschließlich Kettenverifizierung, Widerrufsprüfung und Durchsetzung benutzerdefinierter Richtlinien.
So funktioniert der Passthrough-Modus
-
Der Client stellt während des TLS-Handshakes eine Verbindung zu einem Client-Zertifikat her CloudFront und präsentiert dieses.
-
CloudFront schließt den TLS-Handshake ab, ohne das Zertifikat anhand eines Vertrauensspeichers zu validieren.
-
CloudFront fügt der Anfrage das Client-Zertifikat und die Zertifikatskette als HTTP-Header hinzu.
-
Die Anfrage wird an Ihren Ursprung weitergeleitet. Es wird kein Inhalt zwischengespeichert.
-
Ihr Absender validiert das Zertifikat und bearbeitet die Anfrage.
Clients können sich auch ohne Vorlage eines Zertifikats verbinden. Ihre Herkunfts- oder Verbindungsfunktion verarbeitet Szenarien mit leeren Zertifikaten.
Anmerkung
Im Passthrough-Modus werden Verbindungsfunktionen auch dann aufgerufen, wenn Clients keine Zertifikate vorlegen. Auf diese Weise können Sie benutzerdefinierte Logik implementieren, z. B. die Protokollierung von Client-IP-Adressen oder die Anwendung verschiedener Richtlinien, je nachdem, ob Zertifikate vorgelegt werden.
Konfigurationsanforderungen
-
Kein vertrauenswürdiger Speicher — Die Distribution muss Zero-Trust-Speicherzuordnungen haben.
-
Caching deaktiviert — Alle Cache-Verhaltensweisen müssen die verwaltete
CachingDisabledCache-Richtlinie verwenden. -
Origin Shield verboten — Origin Shield kann nicht aktiviert werden.
-
Lambda @Edge verboten — Lambda @Edge -Funktionszuordnungen sind nicht zulässig.
-
Herkunftsanforderungsrichtlinie erforderlich — Sie müssen die
Client-Cert-ChainHeaderClient-Certund in Ihrer Quellanforderungsrichtlinie auf eine Zulässigkeitsliste setzen, damit der Absender sie empfangen kann. -
Certificate-chain-depth— CloudFront ermöglicht eine maximale Tiefe von 4 für die Weiterleitung der Client-Zertifikatskette an die Ursprünge.
Aktivieren Sie den Passthrough-Modus
Konsole
-
Aktualisieren Sie alle Cache-Verhaltensweisen, sodass sie die verwaltete
CachingDisabledCache-Richtlinie verwenden. -
Öffnen Sie die CloudFront Konsole und wählen Sie Ihre Distribution aus.
-
Wählen Sie den Tab Allgemein und dann unter Einstellungen die Option Bearbeiten aus.
-
Wählen Sie unter Viewer Mutual Authentication (mTLS) die Option Passthrough aus.
-
Wählen Sie Änderungen speichern aus.
AWS CLI
Stellen Sie sicher, dass alle Cache-Verhaltensweisen auf die verwaltete CachingDisabled Richtlinie verweisen, und aktualisieren Sie dann die Verteilungskonfiguration:
{ "ViewerMtlsConfig": { "Mode": "passthrough" } }
An den Ursprung weitergeleitete Header
CloudFront fügt der an Ihren Absender gesendeten Anfrage die folgenden Header hinzu:
-
Client-Cert— Das vom Client vorgelegte Endentitätszertifikat (Leaf), Base64-kodiert. -
Client-Cert-Chain— Die Zertifikatskette (ohne das Blatt) als strukturierte Feldliste. Jedes Zertifikat ist Base64-codiert.Client-Cert-Chainist ein Header vom Typ List. Er kann in einer Anfrage mehrfach vorkommen. Durch die Verkettung aller Werte wird die ursprüngliche Kettenreihenfolge beibehalten.Client-Cert-Chainwird weggelassen, wenn der Client nur ein einziges Zertifikat vorlegt.
CloudFront löscht alle eingehenden Daten Client-Cert oder Client-Cert-Chain Header aus der Client-Anfrage, bevor die eigentlichen Zertifikatsdaten hinzugefügt werden. Dies verhindert Header-Spoofing.
Passen Sie die Zertifikatsheader an
Verwenden Sie die mTLS-Hilfsfunktionen in CloudFront Viewer-Request-Funktionen, um die Zertifikatsheader umzubenennen, neu zu formatieren oder zu kombinieren, bevor sie Ihren Ursprung erreichen. Dies ist nützlich, wenn Sie von anderen Diensten migrieren, die andere Header-Namen oder Zertifikatkodierungsformate verwenden.