Apigee-sso für HTTPS-Zugriff konfigurieren

Edge for Private Cloud v4.18.05

Im Hilfeartikel Edge SSO installieren und konfigurieren wird beschrieben, wie Sie das Edge SSO-Modul installieren und konfigurieren, damit es HTTP auf Port 9099 verwendet, wie in der folgenden Eigenschaft in der Konfigurationsdatei angegeben:

SSO_TOMCAT_PROFILE=DEFAULT

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

  • SSL_PROXY: apigee-sso wird im Proxy-Modus konfiguriert. Das bedeutet, dass Sie einen Load Balancer vor apigee-sso installiert und TLS am Load Balancer beendet haben. Geben Sie dann den Port an, der auf apigee-sso für Anfragen vom Load Balancer verwendet wird.
  • SSL_TERMINATION: TLS-Zugriff auf apigee-sso, das Edge-SSO-Modul, über den 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 beim ersten Installieren und Konfigurieren von apigee-sso aktivieren oder es später aktivieren.

Wenn Sie den HTTPS-Zugriff auf apigee-sso in einem der beiden Modi aktivieren, wird der HTTP-Zugriff deaktiviert. Das bedeutet, dass Sie nicht gleichzeitig über HTTP und HTTPS auf apigee-sso zugreifen können.

SSL_PROXY-Modus aktivieren

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

Bei dieser Konfiguration vertrauen Sie der Verbindung vom Load Balancer zum Edge-SSO-Modul. Daher muss für diese Verbindung keine TLS-Verschlüsselung verwendet werden. Externe Entitäten wie der SAML-Identitätsanbieter müssen jedoch jetzt über Port 443 auf das Edge-SSO-Modul zugreifen, nicht über den ungeschützten Port 9099.

Das Edge SSO-Modul wird im Modus SSL_PROXY konfiguriert, da es automatisch Weiterleitungs-URLs generiert, die vom IdP im Rahmen des Authentifizierungsprozesses extern verwendet werden. Daher müssen diese Weiterleitungs-URLs die externe Portnummer des Load Balancers enthalten, in diesem Beispiel 443, und nicht den internen Port des Edge-SSO-Moduls, 9099.

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

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

  1. Fügen Sie der Konfigurationsdatei die folgenden Einstellungen hinzu:
    # Enable SSL_PROXY mode.
    SSO_TOMCAT_PROFILE=SSL_PROXY
    
    # Specify the apigee-sso port, typically between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9099
    
    # Specify the port number on the load balancer for terminating TLS.
    # This port number is necessary for apigee-sso to auto-generate redirect URLs.
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. Konfigurieren Sie das Edge-SSO-Modul:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Aktualisieren Sie die IDP-Konfiguration, damit jetzt eine HTTPS-Anfrage an Port 443 des Load Balancers gesendet wird, um auf Edge SSO zuzugreifen. Weitere Informationen finden Sie unter SAML-IDP konfigurieren.
  4. Aktualisieren Sie die Edge-UI-Konfiguration für HTTPS, indem Sie die folgenden Eigenschaften in der Konfigurationsdatei festlegen:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

    Aktualisieren Sie dann die Edge-Benutzeroberfläche:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-sso -f configFile

    Weitere Informationen finden Sie unter SAML in der Edge-Benutzeroberfläche aktivieren.

  5. Wenn Sie das Apigee Developer Services-Portal (oder einfach das Portal) installiert haben, aktualisieren Sie es, damit für den Zugriff auf Ede SSO HTTPS verwendet wird. Weitere Informationen finden Sie unter Portal so konfigurieren, dass es SAML für die Kommunikation mit Edge verwendet.

SSL_TERMINATION-Modus aktivieren

Für den Modus SSL_TERMINATION müssen Sie Folgendes tun:

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

So erstellen Sie eine Schlüsselspeicherdatei aus Ihrem Zertifikat und 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 zum neuen Verzeichnis:
    cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. Erstellen Sie eine JKS-Datei mit dem Zertifikat und dem Schlüssel. 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. Ein Beispiel zum Erstellen einer JKS-Datei finden Sie unter TLS/SSL für Edge On Premises konfigurieren.
  4. Weisen Sie die JKS-Datei dem Nutzer „apigee“ zu:
    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:
    # Enable SSL_TERMINATION mode.
    SSO_TOMCAT_PROFILE=SSL_TERMINATION
    
    # Specify the path to the keystore file.
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    
    SSO_TOMCAT_KEYSTORE_ALIAS=sso
    
    # The password specified when you created the keystore.
    SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword
    
    # Specify the HTTPS port number between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9443
    SSO_PUBLIC_URL_PORT=9443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. Konfigurieren Sie das Edge-SSO-Modul:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Aktualisieren Sie die IDP-Konfiguration, damit jetzt eine HTTPS-Anfrage an Port 9443 des Load Balancers gesendet wird, um auf Edge SSO zuzugreifen. Weitere Informationen finden Sie unter SAML-IDP konfigurieren.
  4. Aktualisieren Sie die Edge-UI-Konfiguration für HTTPS, indem Sie die folgenden Eigenschaften festlegen:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https

    Weitere Informationen finden Sie unter SAML in der Edge-Benutzeroberfläche aktivieren.

  5. Wenn Sie das Entwicklerdienste-Portal installiert haben, aktualisieren Sie es so, dass für den Zugriff auf Ede SSO HTTPS verwendet wird. Weitere Informationen finden Sie unter Portal für Entwicklerdienste so konfigurieren, dass für die Kommunikation mit Edge SAML verwendet wird.

SSO_TOMCAT_PROXY_PORT bei Verwendung des SSL_TERMINATION-Modus festlegen

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

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

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

Fügen Sie der Konfigurationsdatei die folgende Einstellung hinzu:

# Specify the port number on the load balancer for terminating TLS.
# This port number is necessary for apigee-sso to generate redirect URLs.
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

Konfigurieren Sie den IDP und die Edge-Benutzeroberfläche so, dass HTTPS-Anfragen an Port 443 gesendet werden.