Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an. info
Dieses Dokument enthält eine Übersicht über die Konfiguration von TLS in Edge für zwei funktionale Bereiche:
- Zugriff auf Ihre API-Proxys von API-Clients. Konfigurieren Sie TLS mithilfe von virtuellen Hosts auf dem Edge-Router.
- Zugriff auf Ihre Back-End-Dienste über Edge. Konfigurieren Sie TLS mithilfe von Zielendpunkten und Zielservern im Edge Message Processor.
Beide Zugriffstypen werden unten dargestellt:
TLS-Optionen auf einem virtuellen Host oder Zielendpunkt/Zielserver festlegen
Ein virtueller Host kann durch ein XML-Objekt in folgendem Format dargestellt werden:
<VirtualHost name="secure"> ... <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>true</ClientAuthEnabled> <KeyStore>ref://myKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> <TrustStore>ref://myTruststoreRef</TrustStore> <IgnoreValidationErrors>false</IgnoreValidationErrors> </SSLInfo> </VirtualHost>
Der Bereich des virtuellen Hosts, den Sie ändern, um TLS zu konfigurieren, wird durch das Tag <SSLInfo> definiert. Verwenden Sie dasselbe <SSL-Info>-Tag, um einen Zielendpunkt oder einen Zielserver zu konfigurieren.
In folgender Tabelle werden die TLS-Konfigurationselemente beschrieben, die vom <SSLInfo>-Tag verwendet werden:
Element | Beschreibung |
---|---|
<Enabled> |
Aktiviert eine einseitige TLS-Verbindung zwischen Edge und dem API-Client oder zwischen Edge und dem Ziel-Back-End. Für einen virtuellen Host müssen Sie einen Schlüsselspeicher definieren, der Zertifikat und privaten Schlüssel enthält. |
<ClientAuthEnabled> |
Aktiviert die bidirektionale TLS zwischen Edge und API-Client oder zwischen Edge und dem Ziel-Back-End. Für die Aktivierung der bidirektionalen TLS müssen Sie normalerweise einen Truststore auf Edge einrichten. |
<KeyStore> | Der Schlüsselspeicher. |
<KeyAlias> | Der Alias, der beim Hochladen eines Zertifikats und eines privaten Schlüssels in den Schlüsselspeicher angegeben wurde. |
<TrustStore> | Der Truststore. |
<IgnoreValidationErrors> | Falls wahr, ignoriert Edge TLS-Zertifikatsfehler. Gültig beim Konfigurieren der TLS für Zielserver und Zielendpunkte und beim Konfigurieren von virtuellen Hosts, die bidirektionale TLS verwenden. Der Standardwert ist "false". Wird das Back-End-System zusammen mit einem Zielendpunkt/Zielserver verwendet, kann, wenn das Back-End-System SNI nutzt und ein Zertifikat mit einem Subjekt-DN (Subject Distinguished Name) zurückgibt, der nicht mit dem Hostnamen übereinstimmt, der Fehler nicht ignoriert werden und die Verbindung schlägt fehl. |
<CommonName> | Wenn angegeben, ein Wert, anhand dessen der Common Name des Zielzertifikats validiert wird. Dieser Wert ist nur für TargetEndpoint- und TargetServer-Konfigurationen gültig. Sie ist nicht für VirtualHost-Konfigurationen gültig. Standardmäßig wird der angegebene Wert genau mit dem gemeinsamen Namen des Zielzertifikats abgeglichen.
Wenn Sie beispielsweise Optional kann Apigee die Übereinstimmung mit Platzhaltern mithilfe des Attributs Ein gemeinsamer Name, der in einem Zielzertifikat als <CommonName wildcardMatch="true">*.myhost.com</CommonName> |
Informationen zum Festlegen der Elemente <KeyStore> und <TrustStore>
Im Beispiel für einen virtuellen Host oben werden Keystore und Truststore durch Verweise im folgenden Format angegeben:
<KeyStore>ref://myKeystoreRef</KeyStore> <TrustStore>ref://myTruststoreRef</TrustStore>
Apigee empfiehlt dringend, dass Sie Verweise auf Schlüsselspeicher und Truststore verwenden. Ein Verweis ist eine Variable, die den Namen des Schlüsselspeichers oder Truststore enthält, statt den Namen des Schlüsselspeichers direkt anzugeben. In diesem Beispiel:
myKeystoreRef
ist eine Referenz, die den Namen des Schlüsselspeichers enthält. In diesem Beispiel lautet der Name des Schlüsselspeichers myKeystore.myTruststoreRef
ist eine Referenz, die den Namen des Truststore enthält. In diesem Beispiel lautet der Name des Truststore myTruststore.
Läuft ein Zertifikat ab, müssen Sie den virtuellen Host oder Zielendpunkt/Zielserver aktualisieren, um den Keystore oder Truststore mit dem neuen Zertifikat anzugeben. Der Vorteil eines Verweises besteht darin, dass Sie den Wert des Verweises ändern können, um den Schlüsselspeicher oder Truststore zu ändern, ohne den virtuellen Host oder Zielendpunkt/Zielserver selbst ändern zu müssen:
- Cloud-Kunden: Sie müssen sich nicht an den Apigee Edge-Support wenden, um den Wert des Verweises zu ändern.
- Private Cloud-Kunden: Wenn Sie den Wert der Referenz ändern, müssen Sie keine Edge-Komponenten wie Router und Message Processors neu starten.
Alternativ können Sie den Schlüsselspeicher- und den Truststore-Namen direkt angeben:
<KeyStore>myKeystore</KeyStore> <TrustStore>myTruststore</TrustStore>
Wenn Sie den Namen des Schlüsselspeichers oder Truststore direkt angeben, müssen Cloud-Kunden sich an den Apigee Edge-Support und Private Cloud-Kunden an den Support für Private Cloud wenden, um das Zertifikat zu aktualisieren.
Eine dritte Option ist nur für Zielendpunkte/Zielserver die Verwendung von Flussvariablen:
<KeyStore>{ssl.keystore}</KeyStore> <TrustStore>{ssl.truststore}</TrustStore>
Ablaufvariablen funktionieren für Zielendpunkte/Zielserver, mit denen Sie den Schlüsselspeicher oder Truststore wie Verweise aktualisieren können. Sie funktionieren jedoch nicht mit virtuellen Hosts. Sie müssen bei jeder Anfrage Informationen zum Schlüsselspeicher, Alias und Truststore senden.
Einschränkungen bei der Verwendung von Verweisen auf Schlüsselspeicher und Truststore
Kunden mit kostenpflichtigem Cloud-Abo und alle Private Cloud-Kunden, die TLS konfigurieren, müssen folgende Beschränkung berücksichtigen, wenn sie Verweise auf Schlüsselspeicher und Truststores verwenden:
- Sie können Schlüsselspeicher- und Truststore-Verweise nur auf virtuellen Hosts verwenden, wenn Sie die TLS für die Apigee-Router beenden.
- Wenn Sie einen Load-Balancer vor den Apigee-Routern haben und die TLS auf dem Load-Balancer beenden, können Sie keine Schlüsselspeicher- und Truststore-Verweise in virtuellen Hosts verwenden.
Wenn Ihr bestehender virtueller Host einen Schlüsselspeicher oder Truststore-Literal verwendet
Vorhandene virtuelle Hosts in Edge sind möglicherweise nicht für die Verwendung von Verweisen auf Schlüsselspeicher und Truststores konfiguriert. In diesem Fall können Sie den virtuellen Host so aktualisieren, dass er Verweise verwendet.
Edge für die Cloud
Wenn Sie den virtuellen Host so ändern möchten, dass er einen Verweis auf den Schlüsselspeicher verwendet, müssen Sie sich an den Apigee Edge-Support wenden.
Edge für die Private Cloud
So stellen Sie den virtuellen Host so ein, dass er einen Verweis verwendet:
- Aktualisieren Sie den virtuellen Host so, dass er Verweise verwendet.
- Starte die Router neu.
Verwendung des Apigee Freetrial-Zertifikats und -Schlüssels
Wenn Sie ein kostenpflichtiges Edge for Cloud-Konto haben und noch kein TLS-Zertifikat und -Schlüssel haben, können Sie einen virtuellen Host erstellen, der das Apigee-Nutzungszertifikat und den Schlüssel verwendet. Das bedeutet, dass Sie den virtuellen Host erstellen können, ohne zuvor einen Schlüsselspeicher zu erstellen.
Ein XML-Objekt, das den virtuellen Host mit dem Apigee Freetrial-Zertifikat und dem entsprechenden Schlüssel definiert, übergeht die Elemente <KeyStore>
und <KeyAlias>
und ersetzt sie durch das Element <UseBuiltInFreeTrialCert>
, wie unten dargestellt:
<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>myapi.apigee.net</HostAlias> </HostAliases> <Port>443</Port> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> </SSLInfo> <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert> </VirtualHost>
Wenn Sie die bidirektionale TLS nutzen, müssen Sie das Element <ClientAuthEnabled>
dennoch auf true
festlegen und einen Truststore angeben. Nutzen Sie dazu einen Verweis mit dem Element <TrustStore>
.
Weitere Informationen finden Sie unter Virtuelle Hosts für die Cloud konfigurieren.
Informationen zur TLS-Konfiguration
Wie Sie die TLS-Konfiguration vornehmen, hängt von zwei Hauptfaktoren ab:
- Sind Sie Edge Cloud- oder Private Cloud-Kunde?
- Wie aktualisieren Sie abgelaufene oder ablaufende Zertifikate?
Optionen bei der Konfiguration von Clouds und Privaten Clouds
In der folgenden Tabelle sind die verschiedenen Konfigurationsoptionen für Cloud- und Private Cloud-Kunden aufgeführt:
Private Cloud | Cloud | |
---|---|---|
Virtueller Host | Volle Kontrolle | Die vollständige Kontrolle ist nur für kostenpflichtige Konten verfügbar |
Zielendpunkt/Zielserver | Volle Kontrolle | Volle Kontrolle |
Private Cloud-Kunden haben die vollständige Kontrolle über die Konfiguration sowohl von virtuellen Hosts als auch von Zielendpunkten/Zielservern. Dazu gehört die Möglichkeit, virtuelle Hosts zu erstellen und zu löschen sowie alle Eigenschaften für einen virtuellen Host festzulegen.
Alle Cloud-Kunden, sowohl zahlende als auch solche in der Probephase, haben die vollständige Kontrolle über die Konfiguration der Zielendpunkte/Zielserver. Darüber hinaus haben zahlende Cloud-Kunden die vollständige Kontrolle über virtuelle Hosts, einschließlich der TLS-Attribute.
Umgang mit abgelaufenen Zertifikaten
Wenn ein TLS-Zertifikat abläuft oder Ihre Systemkonfiguration so geändert wird, dass das Zertifikat nicht mehr gültig ist, muss das Zertifikat aktualisiert werden. Wenn Sie die TLS für einen virtuellen Host oder Zielendpunkt/Zielserver konfigurieren, sollten Sie vor der Konfiguration festlegen, wie Sie dieses Update durchführen.
Vorgehensweise bei abgelaufenem Zertifikat
In Edge werden Zertifikate an einem von zwei Orten gespeichert:
- Schlüsselspeicher: Enthält das TLS-Zertifikat und den privaten Schlüssel, um die Entität während des TLS-Handshakes zu identifizieren.
- Truststore: Enthält vertrauenswürdige Zertifikate auf einem TLS-Client, mit denen das dem Client dargestellte Zertifikat eines TLS-Servers validiert wird. Diese Zertifikate sind normalerweise selbstsignierte Zertifikate, von einer vertrauenswürdigen Zertifizierungsstelle signierte Zertifikate oder Zertifikate, die im Rahmen von bidirektionaler TLS-Authentifizierung verwendet werden.
Wenn ein Zertifikat in einem Schlüsselspeicher abläuft und Sie einen Verweis auf den Schlüsselspeicher verwenden, können Sie kein neues Zertifikat in den Schlüsselspeicher hochladen. Gehen Sie stattdessen so vor:
- Erstellen Sie einen neuen Schlüsselspeicher.
- Laden Sie ein neues Zertifikat mit demselben Aliasnamen wie dem des alten Schlüsselspeichers in den neuen Schlüsselspeicher hoch.
- Aktualisieren Sie den Verweis in Ihrem virtuellen Host oder Zielserver/Zielendpunkt, um den neuen Truststore zu verwenden.
Wenn ein Zertifikat in einem Truststore abläuft und Sie einen Verweis auf den Truststore verwenden:
- Erstellen Sie einen neuen Truststore.
- Laden Sie das neue Zertifikat in den neuen Truststore hoch. Der Aliasname spielt für Truststores keine Rolle. Hinweis: Wenn ein Zertifikat Teil einer Kette ist, müssen Sie entweder eine einzelne Datei mit allen Zertifikaten erstellen und diese Datei in einen einzelnen Alias hochladen oder alle Zertifikate in der Kette separat mit dem Truststore verknüpft werden.
- Aktualisieren Sie den Verweis in Ihrem virtuellen Host oder Zielserver/Zielendpunkt, um den neuen Truststore zu verwenden.
Zusammenfassung der Methoden zum Aktualisieren eines abgelaufenen Zertifikats
Die Methode, die Sie zur Angabe des Namens des Schlüsselspeichers oder des Truststores auf dem virtuellen Host oder Zielendpunkt/Zielserver nutzen, richtet sich nach der verwendeten Methode. Sie können Folgendes angeben:
- Verweise
- Direkte Namen
- Ablaufvariablen
Jede dieser Methoden hat unterschiedliche Auswirkungen auf den Aktualisierungsprozess, wie in folgender Tabelle dargestellt: Wie Sie sehen, bieten Referenzen sowohl Cloud- als auch Private Cloud-Kunden die größte Flexibilität:
Konfigurationstyp | Zertifikat aktualisieren/ersetzen | Private Cloud | Cloud |
---|---|---|---|
Referenz (empfohlen) | Erstellen Sie für einen Schlüsselspeicher einen neuen Schlüsselspeicher mit einem neuen Namen und einem Alias mit demselben Namen wie dem des alten Alias. Erstellen Sie bei einem Truststore einen Truststore mit einem neuen Namen. |
Aktualisieren SIe den Verweis auf den Schlüsselspeicher oder Truststore. Ein Neustart des Routers oder Nachrichten-Prozessors ist nicht erforderlich. |
Aktualisieren SIe den Verweis auf den Schlüsselspeicher oder Truststore. Sie müssen den Apigee-Support nicht kontaktieren. |
Ablaufvariablen (nur Zielendpunkt) | Erstellen Sie für einen Schlüsselspeicher einen neuen Schlüsselspeicher mit einem neuen Namen und einem Alias mit demselben oder einem neuen Namen. Erstellen Sie bei einem Truststore einen Truststore mit einem neuen Namen. |
Übergeben Sie bei jeder Anfrage die aktualisierte Ablaufvariable mit dem Namen des neuen Schlüsselspeichers, dem Alias oder des Truststore. Ein Neustart des Routers oder des Nachrichten-Prozessors ist nicht erforderlich. |
Übergeben Sie bei jeder Anfrage die aktualisierte Ablaufvariable mit dem Namen des neuen Schlüsselspeichers, dem Alias oder des Truststore. Sie müssen den Apigee-Support nicht kontaktieren. |
Direkt | Erstellen Sie einen neuen Schlüsselspeicher, einen Alias oder einen Truststore. |
Aktualisieren Sie den virtuellen Host und starten Sie die Router neu.
Wenn der Truststore von einem Zielendpunkt/Zielserver verwendet wird, stellen Sie den Proxy neu bereit. |
Bei virtuellen Hosts wenden Sie sich an den Apigee Edge-Support, um die Router neu zu starten.
Wenn der Truststore von einem Zielendpunkt/Zielserver verwendet wird, stellen Sie den Proxy neu bereit. |
Direkt | Löschen Sie den Schlüsselspeicher oder Truststore und erstellen Sie ihn noch einmal mit demselben Namen. |
Es ist keine Aktualisierung des virtuellen Hosts und kein Routerneustart erforderlich. Allerdings schlagen API-Anfragen fehl, bis der neue Schlüsselspeicher und der neue Alias festgelegt sind.
Wenn der Schlüsselspeicher für das bidirektionale TLS zwischen Edge und dem Back-End-Dienst verwendet wird, starten Sie die Nachrichtenprozessoren neu. |
Der virtuelle Host muss nicht aktualisiert werden. Allerdings schlagen API-Anfragen fehl, bis der neue Schlüsselspeicher und der neue Alias festgelegt sind.
Wenn der Schlüsselspeicher für das bidirektionale TLS zwischen Edge und dem Back-End-Dienst verwendet wird, wenden Sie sich an den Apigee Edge-Support, um die Nachrichtenprozessoren neu zu starten. |
Direkt | Laden Sie nur für Truststores ein neues Zertifikat in den Truststore hoch. |
Wenn der Truststore von einem virtuellen Host verwendet wird, starten Sie die Router neu.
Wenn der Truststore von einem Zielendpunkt/Zielserver verwendet wird, starten Sie die Nachrichtenprozessoren neu. |
Bei virtuellen Hosts wenden Sie sich an den Apigee Edge-Support, um die Edge-Router neu zu starten.
Wird der Truststore von einem Zielendpunkt/Zielserver genutzt, wenden Sie sich an den Apigee Edge-Support, um die Nachrichtenprozessoren neu zu starten. |