Apigee-sso für HTTPS-Zugriff konfigurieren

Edge for Private Cloud Version 4.17.09

Unter Edge-SSO installieren und konfigurieren wird beschrieben, wie Sie das Edge-SSO-Modul installieren und konfigurieren, um HTTP an Port 9099 zu verwenden, wie durch die folgende Eigenschaft in der Konfigurationsdatei angegeben:

SSO_TOMCAT_PROFILE=DEFAULT

Alternativ können Sie für SSO_TOMCAT_PROFILE einen der folgenden Werte festlegen, um den HTTPS-Zugriff zu aktivieren:

  • SSL_PROXY: Konfiguriert apigee-sso im Proxymodus, was bedeutet, dass Sie vor apigee-sso einen Load-Balancer installiert und TLS auf dem Load-Balancer beendet haben. Anschließend geben Sie den Port an, der in apigee-sso für Anfragen vom Load-Balancer verwendet wird.
  • SSL_TERMINATION: Der TLS-Zugriff auf apigee-sso, das Edge-SSO-Modul, wurde auf dem Port Ihrer Wahl aktiviert. Sie müssen für diesen Modus einen Schlüsselspeicher angeben, der ein von einer Zertifizierungsstelle signiertes Zertifikat enthält. Sie können kein selbst signiertes Zertifikat verwenden.

Sie können HTTPS bei der Erstinstallation und Konfiguration von apigee-sso oder später aktivieren.

Wenn Sie den HTTPS-Zugriff auf apigee-sso in einem der beiden Modi aktivieren, wird der HTTP-Zugriff deaktiviert. Das heißt, Sie können nicht gleichzeitig mit HTTP und HTTPS auf apigee-sso zugreifen.

SSL_PROXY-Modus aktivieren

Im Modus SSL_PROXY verwendet Ihr System vor dem Edge-SSO-Modul einen Load-Balancer und beendet TLS auf dem Load-Balancer. In der folgenden Abbildung beendet der Load-Balancer TLS an Port 443 und leitet dann Anfragen an das Edge-SSO-Modul an Port 9099 weiter:

In dieser Konfiguration vertrauen Sie der Verbindung vom Load-Balancer zum Edge-SSO-Modul, sodass für diese Verbindung kein TLS verwendet werden muss. Externe Entitäten wie der SAML-IdP müssen jedoch jetzt über Port 443 auf das Edge-SSO-Modul zugreifen, nicht auf dem ungeschützten Port 9099.

Der Grund für die Konfiguration des Edge-SSO-Moduls im SSL_PROXY-Modus besteht darin, dass das Edge-SSO-Modul automatisch Weiterleitungs-URLs generiert, die vom IdP als Teil des Authentifizierungsprozesses extern verwendet werden. Daher müssen diese Weiterleitungs-URLs die externe Portnummer auf dem Load-Balancer enthalten, in diesem Beispiel 443, und nicht den internen Port im Edge-SSO-Modul 9099.

Hinweis: Für den Modus SSL_PROXY müssen Sie kein TLS-Zertifikat und keinen TLS-Schlüssel erstellen, da die Verbindung vom Load-Balancer zum Edge-SSO-Modul HTTP verwendet.

So konfigurieren Sie das Edge-SSO-Modul für den Modus SSL_PROXY:

  1. Fügen Sie der Konfigurationsdatei die folgenden Einstellungen hinzu:
    # Aktivieren Sie den SSL_PROXY-Modus.
    SSO_TOMCAT_PROFILE=SSL_PROXY

    # Geben Sie den Apigee-sso-Port an, in der Regel zwischen 1.025 und 65.535.
    # In der Regel benötigen die Ports 1024 und niedriger Root-Zugriff durch Apigee-sso.
    # Der Standardwert ist 9099.
    SSO_TOMCAT_PORT=9099

    # Geben Sie die Portnummer am Load-Balancer an, um TLS zu beenden.
    # Diese Portnummer ist erforderlich, damit Apigee-sso automatisch Weiterleitungs-URLs generieren kann.
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443

    # Schema für öffentlichen Zugriff von Apigee-sso auf https festlegen.
    SSO_PUBLIC_URL_SCHEME=https
  2. Konfigurieren Sie das Edge-SSO-Modul:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-sso-Einrichtung -f configFile
  3. Aktualisieren Sie Ihre IdP-Konfiguration, um jetzt eine HTTPS-Anfrage an Port 443 des Load-Balancers zu senden, um auf Edge-SSO zuzugreifen. Weitere Informationen finden Sie unter SAML-IdP konfigurieren.
  4. Aktualisieren Sie Ihre Edge-UI-Konfiguration für HTTPS. Legen Sie dazu die folgenden Attribute fest:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https


    Weitere Informationen finden Sie unter SAML in der Edge-UI aktivieren.
  5. Wenn Sie das Developer Services-Portal oder API-BaaS installiert haben, aktualisieren Sie diese so, dass für den Zugriff auf Ede-SSO HTTPS verwendet wird. Weitere Informationen:

Modus "SSL_TERMINATION" aktivieren

Für den Modus SSL_TERMINATION müssen Sie:

  • Ein TLS-Zertifikat und einen TLS-Schlüssel wurden generiert und in einer Schlüsselspeicherdatei gespeichert. Sie können kein selbst signiertes Zertifikat verwenden. Sie müssen ein Zertifikat von einer Zertifizierungsstelle generieren.
  • Aktualisieren Sie die Konfigurationseinstellungen für apigee-sso.

So erstellen Sie eine Schlüsselspeicherdatei aus Ihrem Zertifikat und Ihrem Schlüssel:

  1. Erstellen Sie ein Verzeichnis für die JKS-Datei:
    > sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  2. Wechseln Sie in das neue Verzeichnis:
    > cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. Erstellen Sie eine JKS-Datei, die das Zertifikat und den Schlüssel enthält. Für diesen Modus müssen Sie einen Schlüsselspeicher angeben, der ein von einer Zertifizierungsstelle signiertes Zertifikat enthält. Sie können kein selbst signiertes Zertifikat verwenden. Ein Beispiel für das Erstellen einer JKS-Datei finden Sie unter TLS/SSL für Edge On-Premises konfigurieren.
  4. Legen Sie die JKS-Datei fest, die dem Nutzer „apigee“ gehört:
    > sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

So konfigurieren Sie das Edge-SSO-Modul:

  1. Fügen Sie der Konfigurationsdatei die folgenden Einstellungen hinzu:
    # Aktivieren Sie den Modus „SSL_TERMINATION“.
    SSO_TOMCAT_PROFILE=SSL_TERMINATION

    # Geben Sie den Pfad zur Keystore-Datei an.
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    SSO_TOMCAT_KEYSTORE_ALIAS=sso

    # Das beim Erstellen des Schlüsselspeichers angegebene Passwort.
    SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword

    # Geben Sie die HTTPS-Portnummer zwischen 1025 und 65535 an.
    # In der Regel benötigen die Ports 1024 und niedriger Root-Zugriff durch Apigee-sso.
    # Der Standardwert ist 9099.
    SSO_TOMCAT_PORT=9443
    SSO_PUBLIC_URL_PORT=9443

    # Schema für öffentlichen Zugriff von Apigee-sso auf https festlegen.
    SSO_PUBLIC_URL_SCHEME=https
  2. Konfigurieren Sie das Edge-SSO-Modul:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-sso-Einrichtung -f configFile
  3. Aktualisieren Sie Ihre IdP-Konfiguration, um jetzt eine HTTPS-Anfrage an Port 9443 des Load-Balancers zu senden, um auf Edge-SSO zuzugreifen. Weitere Informationen finden Sie unter SAML-IdP konfigurieren.
  4. Aktualisieren Sie Ihre Edge-UI-Konfiguration für HTTPS. Legen Sie dazu die folgenden Attribute fest:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https


    Weitere Informationen finden Sie unter SAML in der Edge-UI aktivieren.
  5. Wenn Sie das Developer Services-Portal oder API-BaaS installiert haben, aktualisieren Sie diese so, dass für den Zugriff auf Ede-SSO HTTPS verwendet wird. Weitere Informationen:

SSO_TOMCAT_PROXY_PORT bei Verwendung des Modus "SSL_TERMINATION" festlegen

Möglicherweise haben Sie vor dem Edge-SSO-Modul einen Load-Balancer, der TLS auf dem Load-Balancer beendet, aber auch TLS zwischen dem Load-Balancer und Edge-SSO aktiviert. In der obigen Abbildung für den Modus SSL_PROXY bedeutet dies, dass die Verbindung vom Load-Balancer zu Edge-SSO TLS verwendet.

In diesem Szenario konfigurieren Sie TLS on Edge SSO genauso wie oben für den Modus SSL_TERMINATION. Wenn der Load-Balancer jedoch eine andere TLS-Portnummer als Edge-SSO für TLS verwendet, müssen Sie in der Konfigurationsdatei auch das Attribut SSO_TOMCAT_PROXY_PORT angeben. Beispiel:

  • Der Load-Balancer beendet TLS an Port 443
  • Edge SSO beendet TLS an Port 9443

Die Konfigurationsdatei muss die folgende Einstellung enthalten:

# Geben Sie die Portnummer am Load-Balancer an, um TLS zu beenden.
# Diese Portnummer ist erforderlich, damit Apigee-sso Weiterleitungs-URLs erfassen kann.
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

Konfigurieren Sie den IdP und die Edge-Benutzeroberfläche für HTTPS-Anfragen an Port 443.