View a markdown version of this page

Verwenden von CloudFront Funktionen mit gegenseitigem Ursprungs-TLS - 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.

Verwenden von CloudFront Funktionen mit gegenseitigem Ursprungs-TLS

CloudFront Functions bietet einfache, serverlose Rechenleistung am Netzwerkrand, um die Inhaltsbereitstellung individuell anzupassen. Wenn Sie Origin Mutual TLS mit CloudFront Functions verwenden, gibt es bestimmte Verhaltensweisen und Einschränkungen, die Sie bei der Auswahl und Manipulation von Origin beachten sollten.

Unterstützte CloudFront Funktionen und Operationen

CloudFront Funktionen können auf folgende Weise mit m TLS-enabled Origins interagieren:

aktualisieren RequestOrigin ()

Die Funktion update RequestOrigin () unterstützt begrenzte Änderungen bei der Arbeit mit m TLS-enabled Origins:

  • Zwischen ursprünglichen mTLS-Ursprüngen wechseln: Sie können die Anfrage so aktualisieren, dass sie an einen anderen Ursprung weitergeleitet wird, der Original-mTLs verwendet, vorausgesetzt, beide Ursprünge verwenden dasselbe Client-Zertifikat. Auf diese Weise können Sie eine benutzerdefinierte Routing-Logik implementieren und gleichzeitig die gegenseitige TLS-Authentifizierung beibehalten. Das Umschalten zwischen Ursprüngen, die unterschiedliche Zertifikate verwenden, wird über die createRequestOriginGroup() APIs selectRequestOriginById() und unterstützt.

  • Deaktivieren von Ursprungs-MTLS: Sie können von einem TLS-enabled M-Ursprung zu einem Nicht-MTLS-Ursprung wechseln, indem Sie die Funktion einrichtenmTLSConfig: 'off'. Dies bietet die Flexibilität, die gegenseitige TLS-Authentifizierung auf der Grundlage der Anforderungsmerkmale bedingt zu deaktivieren.

Beispiel: Umschalten zwischen mTLS-Ursprüngen mit demselben Zertifikat

import cf from 'cloudfront'; function handler(event) { var request = event.request; // Route to different origin based on request path if (request.uri.startsWith('/api/v2')) { cf.updateRequestOrigin({ "domainName": "api-v2.example.com", "mTLSConfig": "inherit", // If no value is provided for mTLSConfig, it defaults to inherit // Both origins must use the same certificate }); } return request; }

Beispiel: Bedingtes Deaktivieren der ursprünglichen mTLs

import cf from 'cloudfront'; function handler(event) { var request = event.request; // Disable mTLS for specific paths if (request.uri.startsWith('/public')) { cf.updateRequestOrigin({ "domainName": "public-origin.example.com", "mTLSConfig": "off" }); } return request; }

wählen Sie () RequestOriginById

Die selectRequestOriginById() Funktion unterstützt die Auswahl von Ursprüngen, für die Mutual TLS (Origin) aktiviert ist. Sie können diese Funktion verwenden, um Anfragen dynamisch an meine in Ihrer Distribution konfigurierten TLS-enabled Ursprünge weiterzuleiten. Wenn Sie einen Ursprung mit gegenseitigem TLS (Ursprung) anhand der ID auswählen, wird das Client-Zertifikat CloudFront verwendet, das in den Verteilungseinstellungen für diesen Ursprung konfiguriert ist.

Beispiel: Auswahl eines für beide Seiten aktivierten Ursprungs mit TLS (Ursprung) anhand der ID

import cf from 'cloudfront'; function handler(event) { var request = event.request; // Select mTLS-enabled origin based on request characteristics if (request.uri.startsWith('/secure-api')) { cf.selectRequestOriginById("mtls-origin-1"); } return request; }

erstellen RequestOriginGroup ()

Die createRequestOriginGroup() Funktion unterstützt das Erstellen von Ursprungsgruppen, die gegenseitige TLS-aktivierte (Origin) -aktivierte Ursprünge enthalten. Sie können innerhalb von CloudFront Functions dynamisch Ursprungsgruppen mit m TLS-enabled Ursprüngen für Failover-Szenarien erstellen.

Beispiel: Erstellen einer Ursprungsgruppe mit gegenseitigem TLS-aktiviertem Ursprung (Origin)

import cf from 'cloudfront'; function handler(event) { // Create origin group with mTLS-enabled primary and failover origins cf.createRequestOriginGroup({ "originIds": ["mtls-origin-primary", "mtls-origin-failover"], "failoverCriteria": { "statusCodes": [500, 502, 503, 504] } }); return event.request; }